拿到靶場二話不說先去掃一波ip地址
或者也可以用nmap去跑一波
nmap -sP 192.168.133.0/24
找到對應的ip的時候再用nmap對其進行詳細的探測
然后用dirb或者dirsearch爆破web目錄
發(fā)現(xiàn)有robots.txt,結果是個空的
訪問development目錄
要求輸入用戶名密碼炫彩,作罷,然后還剩下一個8011端口,看了一下沒什么用估計是個靜態(tài)頁面佳吞,只能繼續(xù)爆破看看還有什么目錄
只找到一個api的目錄
只剩下一個還好用翘地,別的都已經G了
說“沒有參數(shù)調用文件傳遞給我”
- 它給了我們一個提示戳表,我們必須傳遞一個名為file的參數(shù)趣苏。
GET方式傳遞
POST方式傳遞(顯示為空)
通過POST模式傳遞進去的文件可以被包含進來
既然這個地方有文件包含离唬,肯定第一步就是通過偽協(xié)議扰楼,讀源碼
解密獲得源碼如下
<head>
<title>franks website | simple website browser API</title>
</head>
<?php
$file = $_POST['file'];
include($file);
$get_file = $_GET['file'];
if(isset($get_file)){
echo "<b>********* HACKER DETECTED *********</b>";
echo "<p>YOUR IP IS : ".$_SERVER['REMOTE_ADDR'];
echo "</p><p>WRONG INPUT !!</p>";
break;
}
if(!isset($file)){
echo "<p>No parameter called file passed to me</p>";
echo "<p>* Note : this API don't use json , so send the file name in raw format</p>";
}
/**
else{
echo strcmp($file,"/etc/passwd");
echo strlen($file);
echo strlen("/etc/passwd");
if($file == "/etc/passwd"){
"HACKER DETECTED ..";
}
}
**/
?>
本來想用file_put_contents()函數(shù)寫文件呀癣,結果訪問的時候顯示not found估計是不行,然后就卡住了一段時間弦赖,沒別的思路项栏,只能拿出我終極字典爆破。蹬竖。雖然等的時間長了一點沼沈,能跑出來還是比較值的
發(fā)現(xiàn)了一個index.html.bak文件流酬,打開看看,里面有一個hash值
然后進行解密,得到密碼
然后回到之前需要登錄的網(wǎng)頁
然后按照提示去找上傳界面
經過測試檢測的是文件頭和后綴名,所以需要在php文件頭上加上對應的文件頭
傳是傳上出去列另,問題是路徑在哪芽腾?
現(xiàn)在已知信息如下
- 網(wǎng)站名稱:FRANK TOPE
- 上傳名字:Frank uploader
- 網(wǎng)頁上的第一條信息: I love patterns
嘗試了多次許多排列,例如:Frankupload页衙,frankUploads摊滔,franksuploads等之后FRANKuploads返回的是200 ok(被深深地惡心到了)
這個時候只是把shell傳上去了,并不能解析這個文件店乐,所以我們需要用到之前用到的文件包含漏洞,把圖片中的文件內容給執(zhí)行出來惭载,反彈shell
成功建立連接,發(fā)現(xiàn)是2.6的內核
- 可以使用臟牛提權
- 可以使用Linux Kernel 2.6.36-rc8 - 'RDS Protocol' Pri提權
第一種方法:
提權的exp傳到目標靶機
執(zhí)行成功之后,當前目錄下生成了一個dirty的文件
執(zhí)行之后响巢,會讓你輸入密碼描滔,然后就可以通過ssh登陸進去,
第二種方法
執(zhí)行成功踪古,就可以獲得root權限