POST型注入-报错注入
less -11
写在前面(来自b站https://www.bilibili.com/video/av77851975?p=6)

、
先加个单引号让他报错

首先sql登陆后台的查询语句为select 1 from users where usename = ? and password = ?
我们得让usename和password 都为真 首先得闭合语句然后构造条件
select 1 from users where usename = ' ' or 1 %23' and password = ?
理解其中道理之后
我们就让他不报错

可以看见成功进入不报错

也可以这么hackbar post提交


然后使用ordey by获取后台列数,2不报错 3报错


然后我们在做联合查询

先让使用select version()获取版本号

可以看见报错 我们让他的信息显示完全一点
就用~ 和concat() 拼接 又因为~在一般注入中很多会把他过滤 所以我们用16进制0x7e

可以看出能显示后台完整的版本信息
这个时候我们再来查询表名 select table_name from information_schema.tables where table_schema = database()

可以看见太多了 不止一行 使用limit 0,1 (0意思是从第0行开始,1 的意思是偏移量为1,相当于查询下标志为0的一行)

再用limit 1,1 相当于查询下标志为1的一行

现在已经拿到数据库了
当然还可以不使用extractvalue ()
还可以使用updatexml()只不过他要三个参数 比如updatexml(1,...,1)


浙公网安备 33010602011771号