ctf.show WEB模塊的第3關是一個檔案包含漏洞,include()函式包含的檔案會被執行,我們使用PHP偽協議配合抓包工具進行命令執行,從而獲取flag
這一關的flag就存放在網站跟路徑下的檔案中
php://input 可以訪問請求的原始資料,配合檔案包含漏洞可以將post請求體中的內容當做檔案內容執行,enctype=multipart/form-data"時,php:/input將會無效

頁面中顯示了部分原始碼,明顯是引導我們利用檔案包含漏洞進行操作,原始碼中的include()函式通過GET請求接收一個url引數,那接下來我們就給它傳遞一個url引數
我們使用代理軟體(此處使用Burp Suite)抓包,利用php://input偽協議執行PHP代碼,代碼的內容為執行系統命令,查看當前目錄下所有檔案
?url=php://input -- GET請求的url中拼接偽協議
<?php system('ls')?> -- post請求內容構造需要執行的代碼

很明顯這個crf_go_go_go檔案就是存放flag的檔案

我們直接在url地址欄中拼接url引數,訪問crf_go_go_go檔案
?url=ctf_go_go_go

成功獲取flag
ctfshow{f187f7ae-fffe-4631-b2e1-29dad7adc5be}
將flag全部內容復制到輸入框中提交即可過關
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/295092.html
標籤:其他
上一篇:服務器流量收集
