另类检测注入点

13147 21
sunrise 2009-2-4 14:05:35 | 显示全部楼层 |阅读模式
   



    现在有很多防注入程序屏蔽了 and、1=1、1=2 类似这样的关键字,使用这样的方法有时不能探测到注入点了。
  
    那么是否有新的方法能够探测注入点呢? 经过一段时间的研究,发现了更好的方法。哈哈,特此共享一下。

  现在假设有一个新闻页面,URL 是 http://xxx.cn/news.asp?id=123

  1. 在浏览器中打开,可以看到一个正常的新闻页面;

  2. 在URL地址后面加上-1,URL变成:http://xxx.cn/news.asp?id=123-1,如果返回的页面和前面不同,是另一则新闻,则表示有注入漏洞,是数字型的注入漏洞;在 URL地址后面加上 -0,URL变成 http://xxx.cn/news.asp?id=123-0,返回的页面和前面的页面相同,加上-1,返回错误页面,则也表示存在注入漏洞,是数字型的。

  否则:

  3. 在URL的地址后面加上'%2B',URL地址变为:http://xxx.cn/news.asp?id=123'%2B',返回的页面和1同;加上'2%2B'asdf,URL地址变为:http://xxx.cn/news.asp?id=123'%2Basdf,返回的页面和1不同,或者说未发现该条记录,或者错误,则表示存在注入点,是文本型的。

  为什么这样可以呢?

  我们可以从程序的角度来考虑一下。程序员的这条语句大致应该是这样的:

  select * from news where id=123

  当我们在后面加上 -1 后,语句变为

  select * from news where id=123-1

  SQL服务器在执行这条语句时会进行运算,实际执行的是:

  select * from news where id=122

  这样选出来的就是另外一条新闻记录了。如果该记录存在,就是另一则新闻;否则会显示记录不存在,或者出错。呵呵。 这也同时表示程序未对输入的数据进行过滤,存在数值型的注入漏洞。

  如果 SQL 语句时这样的:

  select * from news where id='123'

  那么我们在后面加上 '%2B' 之后,语句变为

  select * from news where id='123'+''

  %2B 是 + 的URL编码。 这样之后,SQL服务器实际执行的是:

  select * from news where id='123'

  会返回同样的页面。

  加上 '%2B'asdf 之后,语句变为

  select * from news where id='123'+'asdf'

  实际执行的是:

  select * from news where id='123asdf'

  返回页面不存在,或者显错。 这就表示有文本型的注入漏洞。
木子清腾 2009-2-4 18:05:50 | 显示全部楼层
先收藏看看,
正在学习……
红盟学者 2009-2-4 21:48:18 | 显示全部楼层
这个也看过了,不过还是留一脚
用时间 努力去换来技术!
红盟志愿者 2009-2-6 02:23:53 | 显示全部楼层
支持`!!~
坚HONG 2009-2-6 13:41:44 | 显示全部楼层
支持!!!
普通人不需要签名滴!
飞龙 2009-2-8 12:21:45 | 显示全部楼层
顶。要好好学一下才行。手工检测感觉点晕。
不要轻言放弃.失败乃成功他亲娘.没有永远的菜鸟.
正愁一个防注入站呢……才瞄着这个……试试能用么……
库洛洛 2009-3-26 19:48:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
ccw1987 2009-3-26 20:02:59 | 显示全部楼层
看过了?呵呵额?????不过还是谢谢???
寂寞演绎 2009-3-27 15:59:17 | 显示全部楼层
咦这个好像在很多地方看到过啊  呵呵还是 在玩温习下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行