1.當 curlopt_safe_upload 為 true 時,如果在請求前面加上@的話phpcurl元件是會把後面的當作絕對路徑請求,來讀取檔案。當且僅當檔案中存在中文字元的時候,django 才會報錯導致獲取檔案內容
true為禁用 @ 字首在 curlopt_postfields 中傳送檔案。
false為啟用,@開頭的value會被當做檔案上傳。
php 5.5.0 中新增,預設值 false。
php 5.6.0 改預設值為 true。
php 7 刪除了此選項。
影響:curlopt_safe_upload選項配置不當結合其他情況可造成任意檔案讀取。
詳情參見php libcurl 安全之 curlopt_safe_upload
2.django未關閉報錯回顯
3.url編碼採用16進製制範圍為0-127 ,%79為最大127
**首先開啟題目根據提示輸入乙個127.0.0.1進行測試,返回如下
考慮管道符執行系統命令,提示報錯
嘗試一波 &,| 等管道符號和ls dir等命令均報錯了
3.細看url可以直接發現 空格直接被url編碼為了+,考慮報錯回顯,輸入url=%80,出現報錯資訊
通過過報錯資訊我可以發現後台執行了兩個應用分別為php.和django應用
4.檢視報錯資訊,得到很多有用資訊,例如python版本,檔案路徑,以及介面位置資訊如下:
5.搜尋到鏈結資料庫的介面,利用 curlopt_safe_upload 為 true這個特性進行讀取資料庫檔案,讀取檔案後搜尋flag如下
攻防世界mfw 攻防世界 Web mfw
題目資訊 image.png 工具 githack,dirsearch 知識點 git漏洞 審計 開啟題目場景,檢查 發現這樣乙個頁面 image.png 訪問.git目錄,疑似存在git原始碼洩露 image.png 再用dirsearch掃瞄,發現git原始碼洩露 使用 githack獲取原始碼...
攻防世界Web lottery
開心!雖然第一次遇到git原始碼洩露寫了好久,但是寫出來了就很開心 開啟介面我們知道,要拿到flag,就要贏到足夠的錢,其實一開始我以為可以找到乙個地方直接修改餘額什麼的,把網頁源 中的檔案看了幾個都沒發現突破口 然後又沒思路了 嘗試了一下robots.txt,想看看有沒有什麼檔案,然後發現了 瞬間...
攻防世界 xctf Guess writeup
本題的解析官網上有,這裡是乙個自動化的指令碼,完成的是自動上傳乙個ant.jpg的檔案 ant.jpg是乙個ant.zip壓縮包重新命名的檔案,裡面是乙個ant.php的一句話木馬 執行返回的是在web後台這個檔案重新命名後的檔案的url。可通過zip偽協議訪問這個木馬。指令碼如下 import r...