【xctf之easyphp】
xctf之easyphp
題目如上,這個題需要繞過很多。。
首先考慮參數A的繞過
a參數不可以為空,并且intval($a)的值大于6000000,而且長度不能大于3。那有什么好說的,這個intval()可以用科學計數法進行繞過,直接1e8,對于a參數的攔截已經繞過。
下面來看b參數的繞過,關于b參數,要求8b184b與他的substr(md5($b),-6,6)值相等,這個說實話,一開始我想到的是不是可以繞過,但后來發現好像不太行,然后就使用爆破了。
嘗試使用數字進行MD5加密,如果你問我為什么不是選擇字符加密,我只能說,字符加密的話,工作量比較大。
下一步,繞過c參數的攔截。
c參數好像繞過更加復雜,首先參數c通過json將格式進行轉換c={}。然后c需要是一個數組,并且c[“m”]需要是數字且大于2022并且繞過is_numeric()函數檢查。
c={“m”:”2023a“},然后c[“n”]需要是一個數組,且數組內有兩個數據,并且c[“n”][0]還要是一個數組,那么。
c={“m”:”2023a",“n”:[[0,1],2]},下一步,我們發現$d = array_search(“DGGJ”, $c[“n”]);我們需要繞過array_search().
0可以繞過。
payload:a=1e8&b=53724&c={“m”:“2023a”,“n”:[[0,1],0]}.
成功獲取到flag,這個題主要考察關于intval()科學計數法的繞過,以及MD5爆破,is_numeric()函數字符繞過匹配,還有array_search()函數的0繞過,總體而言,這道題是關于php的各項繞過。挺有意思的一道題。
參考鏈接
百度(狗頭保命):http://www.baidu.com
總結
以上是生活随笔為你收集整理的【xctf之easyphp】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用sublime3愉快的编写vue
- 下一篇: php decrypt,GitHub -