在像这样的URL:example.com/videos.php?id='34中测试SQL注入时,我们使用如下字符序列:
'
"
""""
/*/
-' --还有很多其他的..。
如何测试这样的链接以获得SQL注入:
example.com/articles/another-perspective-on-data
example.com/category/tutorials/cooking/发布于 2012-09-30 22:48:46
您计划如何使用这些信息是如何处理这一问题的更好的说明。如果您试图确保无人使用和SQL注入攻击针对您,答案不是试图用黑名单来检测它。正确的方法是使用诸如绑定变量之类的特性。
如果您的目标是为那些不应该做的事情的人提供一个警告系统,那么检测诸如"and, or, select, delete, where, update, drop"等SQL关键字可能会有帮助。黑名单( SQL查询卫生(黑名单) )的问题是两方面的:你可能会得到假阳性,你可能会错过非常模糊的攻击。虽然它可以为您提供攻击检测方面的优势,但我已经编写了超出这些过滤器的查询,当正常的句子在填写表单时被阻塞时,我感到非常沮丧。

发布于 2012-10-01 03:26:27
sqlmap使它变得简单(为每个测试位置添加一个*):
sqlmap.py -v 4 -u http://example.com/category*/tutorials*/cooking*/
sqlmap.py -v 4 -u http://example.com/articles*/another-perspective-on-data*-v 4将在stdout上显示每个GET请求,这样您就可以看到确切的请求并观察sqlmap是如何探测的。
发布于 2012-10-02 17:30:19
1)通过静态分析请求的文本,无法可靠地检测攻击未遂。
2)正确编写的请求处理程序无需担心SQL注入攻击。
我能看到你可能想做的两件事。
也许您想要识别恶意请求,这样就可以禁止攻击IP。通过检测SQL引用代码(引用传入数据的部分,以便插入查询是安全的)查找可疑字符列表,这样做是合理的。大多数情况下,您希望插入查询的内容将是简单的文本或数字,而查找标点符号是非常可疑的。
也许您希望有一个后防监视攻击,可能已经成功,因为您的表单处理中的错误。您应该将任何失败的查询视为极其严重的问题,记录它们并发送警报。大多数尝试的SQL注入都会失败,因为他们只是猜测如何构造插入的SQL。
https://security.stackexchange.com/questions/20874
复制相似问题