最新消息:

(四)DVWA之SQL注射漏洞源码审计

代码审计 Eternal 4943浏览 0评论

SQL Injection

(LOW)

我们直接在存在SQL注入的框内输入ID ,当我输入 1 时,这里直接反回了ID为 1 的用户名。

20160729181022

我们打开代码查看。可以看到代码对接受的 ID 并未过滤,并直接将接收的 ID 带入 SQL语句进行查询!并将结果打印在了页面。

20160729181326

(MEDIUM)

当我们在中安全级别时,输入单引号 ,我们可以看到页面返回了语法错误的提示,并将我输入的单引号用右斜线进行转义。

20160729183308

我们打开中级别代码进行查看。可以看到此时代码使用了 mysql_real_escape_string() 函数进行了转义!但我们仔细观察可以发现,在查询的SQL语句内,之前的ID被加的单引号被去除了!这就说明,这里我们带入的查询并不需要带入特殊字符,例如:单引号等。

20160729183904

最后,我们来看看高等级的代码。可以看到高等级的代码对我们输入的语句,先是进行了是否为字符的判断,接着进行转义,最后带入查询并且查询的ID为字符型。这样就有效防止了SQL注入的发生!

20160729184648

 

转载请注明:即刻安全 » (四)DVWA之SQL注射漏洞源码审计

您必须 登录 才能发表评论!



合作伙伴