freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

IP网络对讲广播系统审计
2024-04-21 14:04:15

前言

这个系统是前几年在一个内网遇到的,当时顺手试了一个admin登陆之后再没有然后了,最近发现有大佬分享关于这个系统的漏洞,于是就把自己当初看的几个漏洞分享一下,系统比较简单,漏洞点很多,不要做坏事哦。

审计过程

先找系统指纹,到底是海康威视的还是SPON世邦的傻傻分不清楚,不管怎样先梭再说。

网上随便找了个安装包,安装过后界面如下:

image-20240402130901356.png

程序的目录差不多是这个样子的,我们想要的Web服务就在Wnmp目录下

image-20240402131208746.png

安装过后的Web页面差不多就是这个样子,PHP写的

image-20240402131032555.png

弱口令

系统安装过后,会有一个admin/admin的默认密码

源码拿到本地搜了一下admin关键字发现js里面留了一个后门的账号administrator/800823

image-20240402131929682-3678998.png

任意文件读取

搜了一下fopen函数,找到php/exportrecord.php找到一处任意文件读取,且downname参数没有任何过滤

image-20240402132251593.png

image-20240402132231432.png

命令执行

同样搜索exec关键字,找到ping.php文件中有一处执行命令的地方。

image-20240402132622859.png

ping.php页面接受的参数同样没有过滤,且是直接拼接执行的,用|拼接一下就可以了

image-20240402132622859.png

文件上传点1

找一下关于获取文件信息的接口,搜一下$_FILES,定位到addmediadata.php文件

代码如下:

这里可以手动指定上传路径,并且可以构造目录传越

image-20240402133430013.png

只要我们上传的文件小于500m就可以正常上传,后面也没有对文件做任何的过滤

image-20240402133637895.png

文件上传点2

同理找文件上传的方式,定位到my_parser.php文件比较简单,没有任何过滤。

image-20240402140906995.png

文件上传点3

addmediadatapath.php文件同理上前面的几个差不多,也是没有过滤直接拼接的路径导致路径穿越

image-20240402141236120.png

文件上传点4

addscenedata.php也是将../images/scene/和文件名拼接了

image-20240402141356477.png

文件上传点5

busyscreenshotpush.php这个就和之前有点不一样。

image-20240402141508351.png

image-20240402141523316.png

文件落地位置在file_put_contents($imagefile, base64_decode($content))这里base64解密的内容来自我们传入的imagecontent

image-20240402141800538.png

其中落地文件名由这几个参数控制的

image-20240402141958736.png

最后imagename需要满足这个条件1_2_3.php

image-20240402142052967.png

文件上传点6

uploadjson.php接口,接收了两个参数分别是文件内容和文件名,文件名可以拼接路径穿越。

image-20240402142256260.png

声明:该漏洞已通报给相关单位修复,本文章仅供代码审计学习

# 漏洞 # 渗透测试 # 网络安全 # web安全 # 漏洞分析
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录