在php站点代码中查找blind_SQL漏洞

时间:2011-01-25 09:36:17

标签: php sql security

嗨,我真的是网络领域的初学者,我想知道是否有人可以指导我在哪里可以找到整个论坛代码中的盲目SQL注入漏洞 例如,如果这是对漏洞的利用index.php?m=content&c=rss&catid=[valid catid] 我应该在代码中查找验证用户表格和部分的部分。网址输入;我真的是php的初学者,我应该如何解决它。

3 个答案:

答案 0 :(得分:1)

如果您担心SQL注入,那么您的设计就会很糟糕。您应该使用ADODB或PDO等库进行参数化查询。那么毫无疑问,您可以100%防止SQL注入。

对于盲人sql的测试,你可以这样做: index.php?m=content&c=rss&catid=sleep(30)

此请求需要30秒才能加载页面。如果您需要引号,那么有效负载看起来就像' and sleep(30) or 1='

要修补此漏洞,您知道catid应该是一个int。因此,在该页面的顶部,您可以添加以下行: $_GET['catid']=intval($_GET['catid']);

答案 1 :(得分:0)

答案 2 :(得分:0)

每个$ _GET,$ _POST,$ _COOKIE,(甚至$ _SERVER)超全局输入都必须经过验证且不受信任。

如果你在代码中使用它们中的任何一个,如果要进入数据库,请使用mysql_real_escape_string;如果它将在您的网站上直接显示为html(以及从数据库中调用它),您应该使用htmlentities,htmlspecialchars,strip_tags等函数检查XSS。