• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

突破一流信息监控拦截系统进行SQL注射

发布: 2007-7-02 11:08 | 作者: admin | 来源: | 查看: 18次 | 进入软件测试论坛讨论

领测软件测试网

by lake2 (http://lake2.0x54.org)
上回渗透一站点,SQL Injection测试时返回这个页面(图1)

 

我晕,原来服务器上装了一个叫“一流信息监控拦截系统”的BT玩意儿,扫兴!查查它老底先。

Google一下“一流信息监控拦截系统”。原来这是广州××信息科技公司开发的内容监控系统,用来监控拦截非法信息的,当然也包括SQL注射。它主页上软件功能介绍赫然写着:“软件可以全面拦截任何的SQL注入式的攻击,就算多差的程序都不用担心了”。嘿嘿,大哥,牛皮不要吹得太大哟,不然怎么好下台啊。

看他把话说得那么绝,我一定要给他点颜色瞧瞧。呵呵,不是说只有想不到没有做不到么,嗯,让我想想先。网上没有找到那软件下载,算啦,就直接在网站上测试好了。

经过几回合测试,我发现那个软件是拦截独立的关键词,也就是拦截字符串“and”,而不会拦截包含“and”的字符串如“island”。提交http://xxx/x.asp?x=island 1=2时没问题,而提交http://xxx/x.asp?x=a and 1=1时就被拦截了。

呵呵,明白了吧,实际上程序要判别到底是不是完全匹配真正拦截的字符串是空格+关键词+空格(本例中就是“ and ”)。如果用ASP代码表示的话就是:

If Instr(1 , StrQuest , “ and “ , 1) Then
    Response.Write( “一些废话” )
    Response.End
End If

拦截原理搞懂了,问题是怎么突破呢?往下看。

关键字是要注射要用到的,乱动不得,就只有从空格入手了。呵呵,想想什么东东可以代替空格啊,对,就是Tab!现在我修改URL用tab代替and前后的两个空格,呵呵,看看图2吧(Tab -->“%09”,空格 -->“%20”)。

Yeah,成功啦!传说中的一流信息监控拦截系统被我们绕过去了。哈哈,那个什么系统正好是个漏洞百出的Web程序,呵呵,继续如法炮制进行SQL注射拿管理员帐号密码得WebShell,那些都是体力活了,略过略过。

有了WebShell,执行.net user”命令又被他拦截了(这个可恶的家伙……),呵呵,小case啦,那就执行“net  user”(中间两个空格)吧^_^

当然这种用Tab代替空格突破限制的方法也不仅仅局限于“一流信息监控拦截系统”,只要是类似的过滤方法就行。比如说青创文章系统(Version 1.5.2.23.7.0),它就是这种过滤方法,但是还过滤了“_”,而它的每个表都是article_xxx的形式,结果还是不能进行猜解。罢休!

最后顺便说下,一流信息监控系统“可以实时监控用户上传到服务器的每一张图片”、“对使用服务器的用户进行关键字监控,无论是通过 FTP方式上传或web方式上传的文件都可以准确监控,将不法用户的行为记录在案”等功能,好像侵犯隐私权了……

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网