首页
社区
课程
招聘
[原创]全新的注入点检测方法
发表于: 2011-3-1 08:34 3395

[原创]全新的注入点检测方法

2011-3-1 08:34
3395
高手略过!!.....................................................................................................................................................................................................................
介绍下~
现在有很多防注入程序屏蔽了 and、1=1、1=2 类似这样的关键字,使用这样的方法有时不能探测到注入点了。
那么是否有新的方法能够探测注入点呢? 经过一段时间的研究,发现了更好的方法。哈哈,特此共享一下。
现在假设有一个新闻页面,URL 是 c04K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3N6*7K9$3u0Q4x3X3g2Y4L8$3!0E0L8$3!0Q4x3X3g2U0L8W2)9J5c8X3&6W2N6%4y4Q4x3X3g2S2M7%4m8Q4x3@1k6A6k6q4)9K6c8o6p5J5x3#2!0q4c8W2!0n7b7#2)9^5b7H3`.`.
1. 在浏览器中打开,可以看到一个正常的新闻页面;
2. 在URL地址后面加上-1,URL变成:489K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3N6*7K9$3u0Q4x3X3g2Y4L8$3!0E0L8$3!0Q4x3X3g2U0L8W2)9J5c8X3&6W2N6%4y4Q4x3X3g2S2M7%4m8Q4x3@1k6A6k6q4)9K6c8o6p5J5x3#2)9J5k6o6q4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4b7e0k6Q4z5o6u0Q4c8e0k6Q4z5f1g2Q4z5f1y4Q4c8e0S2Q4b7V1k6Q4z5e0c8Q4c8e0g2Q4z5f1u0Q4z5f1g2Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0W2Q4b7e0q4Q4b7U0g2Q4c8e0W2Q4z5f1c8Q4b7e0u0Q4c8e0g2Q4z5e0u0Q4z5p5y4Q4c8e0g2Q4z5o6W2Q4z5p5c8Q4c8e0W2Q4z5f1c8Q4b7e0u0Q4c8e0c8Q4b7U0S2Q4z5p5c8Q4c8e0g2Q4z5e0m8Q4z5p5y4Q4c8f1k6Q4b7V1y4Q4z5p5x3`. 是另一则新闻,则表示有注入漏洞,是数字型的注入漏洞;在 URL地址后面加上 -0,URL变成 442K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3N6*7K9$3u0Q4x3X3g2Y4L8$3!0E0L8$3!0Q4x3X3g2U0L8W2)9J5c8X3&6W2N6%4y4Q4x3X3g2S2M7%4m8Q4x3@1k6A6k6q4)9K6c8o6p5J5x3#2)9J5k6o6m8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0S2Q4b7V1k6Q4z5e0c8Q4c8e0g2Q4z5f1u0Q4z5f1g2Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0W2Q4b7e0q4Q4b7U0g2Q4c8e0W2Q4z5f1c8Q4b7e0u0Q4c8e0g2Q4z5e0u0Q4z5p5y4Q4c8e0g2Q4z5o6W2Q4z5p5c8Q4c8e0W2Q4z5f1c8Q4b7e0u0Q4c8e0N6Q4z5f1q4Q4z5o6c8Q4c8e0W2Q4b7e0q4Q4b7U0g2Q4c8e0W2Q4z5f1c8Q4b7e0u0Q4c8e0N6Q4z5f1u0Q4b7U0S2Q4c8e0g2Q4z5e0m8Q4z5p5y4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4z5p5q4Q4b7e0m8Q4c8e0c8Q4b7U0S2Q4z5p5q4Q4x3X3b7I4i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1^5i4@1u0r3i4K6V1@1i4@1f1#2i4K6W2n7i4K6W2q4i4@1f1&6i4K6V1@1i4K6V1&6i4@1f1^5i4@1q4r3i4@1q4r3i4@1f1&6i4@1p5I4i4@1t1#2i4@1f1&6i4K6W2p5i4@1p5J5i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4K6R3^5i4K6V1&6i4@1f1@1i4@1t1&6i4K6W2r3i4@1f1^5i4@1p5I4i4@1p5^5i4@1f1%4i4@1p5@1i4@1u0m8i4@1f1#2i4@1q4p5i4K6V1^5i4@1f1#2i4K6W2o6i4@1p5^5 注入漏洞,是数字型的。
否则:
3. 在URL的地址后面加上'%2B',URL地址变为:27bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3N6*7K9$3u0Q4x3X3g2Y4L8$3!0E0L8$3!0Q4x3X3g2U0L8W2)9J5c8X3&6W2N6%4y4Q4x3X3g2S2M7%4m8Q4x3@1k6A6k6q4)9K6c8o6p5J5x3#2)9J5y4#2)9J5y4e0u0n7i4K6t1%4i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1^5i4@1u0r3i4K6V1@1i4@1f1#2i4K6W2n7i4K6W2q4i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1&6i4@1p5I4i4@1t1#2 面和1同;加上'2%2B'asdf,URL地址变为:28fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3N6*7K9$3u0Q4x3X3g2Y4L8$3!0E0L8$3!0Q4x3X3g2U0L8W2)9J5c8X3&6W2N6%4y4Q4x3X3g2S2M7%4m8Q4x3@1k6A6k6q4)9K6c8o6p5J5x3#2)9J5y4#2)9J5y4e0u0n7j5i4y4V1k6W2!0q4c8W2!0n7b7#2)9^5b7H3`.`. 返回的页面和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'
返回页面不存在,或者显错。 这就表示有文本型的注入漏洞。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
可以介绍一下如何利用吗?也举个例子啊~!我不是很懂。谢谢。
2011-3-1 10:35
0
雪    币: 153
活跃值: (125)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习一下
2013-12-3 18:19
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
多谢 分享 MARK 一下
2014-2-6 11:46
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
能否给个实验的连接,谢谢/
2014-2-6 18:48
0
雪    币: 196
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
虽然不算新的方法,但楼主的分享值得肯定。
2014-2-9 20:41
0
雪    币: 211
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
。。。至少5年前的东西
2014-2-12 21:39
0
雪    币: 203
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
gut
8
我都是用参数,貌似你这方法不行吧。
2014-2-25 22:34
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
“select * from news where id=123-1
select * from news where id=122
这样选出来的就是另外一条新闻记录了。如果该记录存在,就是另一则新闻;否则会显示记录不存在,或者出错。呵呵。 这也同时表示程序未对输入的数据进行过滤,存在数值型的注入漏洞。”
如果服务器端对接受的收据进行了类型转换  一般是整型,那么就算 id=123-1运行了结果为122,但是这样也没有漏洞吧,楼主能否给个数值型的注入漏洞的例子?
2014-2-26 20:29
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
Mark一下,学习了
2014-2-28 19:13
0
雪    币: 21
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习一下!
2014-3-4 17:18
0
雪    币: 60
活跃值: (21)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
12
这个感觉 和 什么模式没有关系 关键要看 什么服务器 做黑盒测试 就是一个 尝试
2014-3-13 15:16
0
雪    币: 116
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
思路不错。。。第二条 有单引号
2014-3-22 04:26
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
虽然是比较久远的帖子,但是思路很新颖呢,让我获得了很多启发,谢谢楼主
2014-3-27 12:10
0
游客
登录 | 注册 方可回帖
返回