攻防世界-favorite number
一道web題
題目并沒有給我們有用的提示信息
進入環境
這個應該是網頁的源碼
開始代碼審計
我們可以很明顯的看到一個麻煩的東西
if($stuff === $array && $stuff[0] != ‘admin’) {
這里即要求一個強等于,還要求首元素要不一樣
然后是一個正則,還有一個黑名單
第一個應該要從php5.5.9自身的漏洞入手,去查查資料
問題出在php中key數組的溢出
https://segmentfault.com/q/1010000003871264
這個鏈接是一個類似的題目,剛剛查找到的漏洞就是從這篇文章了解到的
根據這道題目我們來構建本題的payload
stuff[4294967296]=admin&stuff[1]=user&num=123456
好,我們構建完成后去嘗試一下
Nice~,成功繞過第一個
第二個問題就是那個數字檢測了,得繞過它我們才可以進行命令查詢
接著查資料
But,搜了一大堆如何繞過數字檢測就是查不到資料
直接選擇了看看大佬的wp
使用換行符%0a
本來想著查一下這個會不會有
然而hacker突然不干了,得兒,去試試bp吧
沒急著用bp,先看看這里的hacker能不能直接弄出來
得兒,白忙活
直接用bp抓取后成功繞過
這里我還犯了一個錯誤,在抓包時一直不成功,后來看了上傳方式是get,才注意到在hacker使用錯了,改正過來后就好了
其實到這里題目就已經完成了,因為我們只要輸入正確的命令執行語句就可以拿到flag了
首先查詢所有信息
唉~ 這不就出來了嗎
這里我們使用tac來讀取文件
拿到flag
總結
以上是生活随笔為你收集整理的攻防世界-favorite number的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity学习笔记--siki学院保卫萝
- 下一篇: 面试siki老师失败