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)

原文地址:https://www.cnblogs.com/cat47/p/12511820.html