让LOOP防下载形同虚设直接拿shell-分析沸腾新闻多媒体展望系统V1.2漏洞.docVIP

让LOOP防下载形同虚设直接拿shell-分析沸腾新闻多媒体展望系统V1.2漏洞.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
让LOOP防下载形同虚设直接拿shell-分析沸腾新闻多媒体展望系统V1.2漏洞

让LOOP防下载形同虚设直接拿shell --分析沸腾新闻多媒体展望系统V1.2 0Day 莫ㄨ问[B.H.S.T] 事情缘由: 暑假一个人在家看书,在浏览一个网站的时候总感觉这个网站的整体页面很像一套系统.于是就查了真是沸腾展望新闻系统.记得早起这个系统存在很多漏洞.这不马上到其官方网站下载了最新版本V1.2 Build1版.此版本相对之前的版本安全性已经提高了很多,但是在阅读代码过程中还是发现了一些不足来特来和大家分享,下面对漏洞的形成做下分析,漏洞本身没什么,注意思路. 一.注册页面跨站甚至插马 注册跨站甚至写入木马,漏洞文件adduser1.asp和saveuser.asp 在adduser1.asp用户注册通过简单的javascript来判断username表单是否含有非法字符(在savauser.asp中同样过滤了,所以username字段没办法利用).程序员太过于相信Javascript了.导致用户可以输入恶意代码提交到数据库,代码如下(savauser.asp文件,这里略去部分无关代码) sex=request.form(sex) // 这里没有任何过滤,可以通过本地提交表达 birthyear=request.form(birthyear) //同上 birthmonth=request.form(birthmonth) // 同上 birthday=request.form(birthday) depid=ChkRequest(request.form(depid),1) 防注入,这里用ChkRequest()来防注入,跟进 photo=request.form(photo) 很明显上面这些参数中除了一个depid过滤了其他都直接获取了并且后面直接更新到数据库了.我们知道Javascirpt可以本地提交绕过,所以跨站也就没有问题了.但是在测试时候发现不行,好在仔细查看包含的文件,我明白程序员为什么这么”自信”了.看到ChkURL.asp,代码如下: server_v1=Cstr(Request.ServerVariables(HTTP_REFERER)) server_v2=Cstr(Request.ServerVariables(SERVER_NAME)) if mid(server_v1,8,len(server_v2))server_v2 then -------------------------------后面一堆提示--------------------------------------- 利用REFERER禁止本地提交.还是老思路,构造Referer即可.这里我通过WinSock Expert抓包然后NC来修改数据提交就可以了.这里不做讲解,当然这个漏洞配合后面的使用也是可以的. 二.致命伤-%loop%形同虚设直接拿shell 1.成因分析 直接打开数据库/data/news3000.asp数据库默认是asp格式的(相信没有站长会把它改成mdb的).这个是后面利用的前提.我们本地改成mdb的打开,发现里面有一张表,如图1: NotDownload表,其内容显示为:”长二进制数据”,就是这个表导致我们访问数据库的时候出现如图2提示:的原因 Loop是asp中的循环语句,其实在数据库中那一串长二进制数据就是%loop%的十六进制形式3C25206C6F6F70203C25.我们可以通过UltraEdit十六进制形式打开它,然后搜索%就会发现如图3: 知道asp语法的人看到这里应该都明白为什么会有如图2提示了把.所以当你插入一句话的时候就会脚本无法闭合的问题.另外%loop% 这种是无法闭合的.下面是关键思路:既然无法闭合,我们是否能够注释掉?想到这里,我们就会想到单引号,没错就是它-ASP的注释符,但是前提是,要能够在他之前插入一个%’;x (即, %#39;x这里的x可以是其他字符,是为后面字符转换成unicode编码用的.) 另外,还要在%loop%后面插入一个%x(这里X也是同理)才能让其和前面插入的闭合.这样就可以注释掉%loop%这个不可能闭合的问题了.我们整理一下思路:就是在%loop%前后的合适位置插入一段可以闭合的代码,并且将在这2个闭合符号中间的内容注释掉就即可.思路有了..就可以操作了.另外说明下,当你用UltraEdit十六进制形式打开数据库时搜索%如果不是%loop中的那个,就证明这里可以插入前置闭合符,同理,后置闭合符也可以这样判断.思路清晰了,我们来看看实例操作. 二.实例演示-沸腾展望新闻系统V1.2 0day 打开/data/news3000.asp数据库发现,普通用户可以添加的数据表有: attach表 --文件上传方式 FT_User表

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档