因缺思厅的绕过
看一下頁面源碼,看到source.txt。所以進入同目錄下的source.txt
代碼審計下,并且百度了一些函數。過濾了很多關鍵字,因此常規的SQL注入沒有頭緒。想了挺久,因為要滿足三個條件。1:不能輸入過濾的關鍵字2:只能返回一行數據3:并且輸入的密碼與返回的一行數據中的pwd一樣才 print"CTF{xxxxxx}"。所以看了下大佬們的WP,學到了with rollup的語法。詳細的講解可以看這個
https://www.jianshu.com/p/1ecec1f6f3db
簡單的來說就是利用with rollup的語法,在最后一行添加了NULL 的數據,即PWD=NULL。所以在POST輸入頁面,不填寫PWD,空字符與NULL相等.因此可以滿足了并且用'1 or 1 limit 1 offset 0#? ? ,? '1 or 1 limit 1 offset 1#? ? ?,? ?'1 or 1 limit 1 offset 2#? ? ?可以看出來當2#的時候,返回的是“一顆賽艇”,即不滿足一行的數據的條件,其他的兩個都是滿足一行數據的條件。因此第三行沒數據。所以只有兩行數據。因此用了with rollup的語法后,在第三行生成了一行NULL數據。因此payload可以為1' or 1 group by pwd with rollup limit 1 offset 2#? ? ?pwd不填值。
?
?
?
limit 1 查詢一行
offset 2從第三行開始
關于wiht rollup語法,https://www.cnblogs.com/shuangnet/archive/2013/03/26/2982144.html這篇文章講的是group up 兩個字段的情況,之前看了這個,進了這個坑。自己動手試了一下才出了這個坑
?
自己動手了試了一下
?
轉載于:https://www.cnblogs.com/BOHB-yunying/p/10561694.html
總結
- 上一篇: java ioexception异常_1
- 下一篇: 十大关键词,看2022元宇宙的落地应用