首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL注入如何注入Clean/Rest URLS

SQL注入如何注入Clean/Rest URLS
EN

Security用户
提问于 2013-02-22 10:02:40
回答 2查看 8.5K关注 0票数 9

我有个问题希望你能帮我?

不干净的网址:

代码语言:javascript
运行
复制
http://example.com/index.php?page=foo
http://example.com/products?category=2&pid=25
http://example.com/index.php?mod=profiles&id=193
http://example.com/kb/index.php?cat=8&id=41

cleaned‘s(当它们被’清理‘后,相应的url):

代码语言:javascript
运行
复制
http://example.com/foo
http://example.com/products/2/25
http://example.com/profiles/193
http://example.com/kb/8/41

清洁/不洁净网址的这里解释

我的问题:

正如你可以看到的例子,不洁和干净的网址以上,他们显然略有不同。

对于不干净的url,可以通过在url末尾添加一个撇号(')来测试可能的sql注入漏洞,等等.

例如,http://example.com/products?category=2&pid=25',然后查看它返回的响应长度。

我知道,使用

/rest url并不会使它更容易受到sql注入的影响,并且主要用于SEO、可用性等(虽然也使自动sql注入工具更加困难),但是您将如何注入这些类型的url,是否有特定的、首选的/最佳的方法来使用

例如,下面的工作会用于注入清洁url(使用撇号)吗?

http://example.com/kb/8'/41

http://example.com/products/2'/25

http://example.com/services/legal/patents'

等等..。或者有没有更好的方法。

非常感谢您对这个问题的帮助,非常感谢。

EN

回答 2

Security用户

回答已采纳

发布于 2013-02-22 17:22:34

在我看来,当戊酯面对使用干净URL的web应用程序时,主要的问题是识别URL的哪些部分是资源,哪些部分是参数,因为通常参数是我们测试得更深入的内容。

在这种情况下,我认为最好的选择是测试URL的所有部分,假设所有部分都是参数:

代码语言:javascript
运行
复制
http://example.com/kb'/8/41
http://example.com/kb/8'/41
http://example.com/kb/8/41'

滴答只是一个例子,情况是所有的部分(包括kb,应该是一个资源,但也可以是一个参数)。

如果有办法区分黑匣子,测试资源和参数,我想知道。

票数 4
EN

Security用户

发布于 2013-02-22 12:50:55

对于sql注入的测试,没有神奇的测试。有些应用程序在使用某种方法时可能容易受到攻击,而另一些应用程序则可能在使用另一种方法时易受攻击。

http://example.com/kb/8'/41有可能无法工作,因为撇号被IPS阻塞,但是http://example.com/kb/7%2B/41将显示与http://example.com/kb/8/41相同的结果,这将给出存在问题的信息。

仅仅用引号进行测试比根本不测试要好一些,但不能被标记为安全性评估。这样的过程需要对应用程序中所有可定位的入口点(参数、cookie、标头等)和其他一些更复杂的测试进行复杂的评估。

如果您有这种可能性,最好的解决方案是使用白框方法并检查代码。这样,您就可以清楚地看到某个参数是否经过适当的消毒。

票数 5
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/31320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档