高手略过!!.....................................................................................................................................................................................................................
介绍下~
现在有很多防注入程序屏蔽了 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日开班!