首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪些HTTP状态代码表明存在SQLi漏洞?

哪些HTTP状态代码表明存在SQLi漏洞?
EN

Security用户
提问于 2017-10-27 16:56:18
回答 2查看 7.3K关注 0票数 1

在描述五级值的这个博客中,作者将'添加到需要某些值的字段中,并得出结论认为存在SQLi漏洞:

经进一步调查,添加单引号将使服务器返回500状态错误,其中.尖叫声SQLi

HTTP500代码是否意味着它易受SQLi攻击?还是所有HTTP错误代码都意味着它是SQL注入?哪个HTTP代码不是指SQLi?

EN

回答 2

Security用户

发布于 2018-04-05 09:00:56

HTTP500代码是否意味着它是一个SQLi?

500错误代码意味着内部服务器错误。请查看这里状态代码及其含义。在本例中,500段代码(添加单引号时)不一定意味着它是SQLi,因为它可能有其他原因(糟糕的SQLi预防,其他解析问题)。但是机会真的很好,它是一个SQLi!

还是所有HTTP错误代码都意味着它是SQL注入?

不是的。例如,可以给出一个400 (Bad Request),因为单引号是不允许的。这可能表明SQLi被阻止(以一种肮脏的方式)。

哪个HTTP代码不是指SQLi?

这一点永远无法确定,因为SQLi预防通常会转义字符串并将其存储在数据库中,而所有操作都正常--不抛出任何异常。因此,在这两种情况下(SQLi和SQLi预防),响应代码可以是200 (OK)

票数 2
EN

Security用户

发布于 2018-02-04 07:14:39

假设URL如下所示:

代码语言:javascript
复制
http://anysite.com/somefile.php?id=1

查询内容如下:

代码语言:javascript
复制
SELECT * FROM product WHERE id='1'

现在,当您尝试将单引号插入其中时,如下所示:

代码语言:javascript
复制
http://anysite.com/somefile.php?id=1'

然后查询如下:

代码语言:javascript
复制
SELECT * FROM product WHERE id='1''

但是在这里,您将单引号放入其中,因此它将始终返回语法错误。因为数据库不能完成查询,所以会返回语法错误。注意点是数据库正在重新测试错误,而不是服务器。因此,500服务器错误与SQL错误之间没有关系。

注意:开发人员可以通过使用@或其他方法隐藏语法错误,这样您就看不到语法错误了。然后,盲目的SQL来拯救。

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

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

复制
相关文章

相似问题

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