权威的手机网站制作,郑州seo优化推广,新网站如何备案,自助网站建设系统源码前言
这个系统是前两年在一个内网遇到的#xff0c;当时顺手试了一个admin登陆之后再没有然后了#xff0c;最近发现有大佬分享关于这个系统的漏洞#xff0c;于是就把自己当初看的几个漏洞分享一下#xff0c;系统比较简单#xff0c;漏洞点很多#xff0c;不要做坏事哦…前言
这个系统是前两年在一个内网遇到的当时顺手试了一个admin登陆之后再没有然后了最近发现有大佬分享关于这个系统的漏洞于是就把自己当初看的几个漏洞分享一下系统比较简单漏洞点很多不要做坏事哦。
审计过程
先找系统指纹到底是海康威视的还是SPON世邦的傻傻分不清楚不管怎样先梭哈再说。
网上随便找了个安装包安装过后界面如下 程序的目录差不多是这个样子的我们想要的Web服务就在Wnmp目录下 安装过后的Web页面差不多就是这个样子PHP写的 弱口令
系统安装过后会有一个admin/admin的默认密码
源码拿到本地搜了一下admin关键字发现js里面留了一个后门的账号administrator/800823 任意文件读取
搜了一下fopen函数找到php/exportrecord.php找到一处任意文件读取且downname参数没有任何过滤 命令执行
同样搜索exec关键字找到ping.php文件中有一处执行命令的地方。 ping.php页面接受的参数同样没有过滤且是直接拼接执行的用|拼接一下就可以了 文件上传点1
找一下关于获取文件信息的接口搜一下$_FILES定位到addmediadata.php文件
代码如下
这里可以手动指定上传路径并且可以构造目录传越 只要我们上传的文件小于500m就可以正常上传后面也没有对文件做任何的过滤 文件上传点2
同理找文件上传的方式定位到my_parser.php文件比较简单没有任何过滤。 文件上传点3
addmediadatapath.php文件同理上前面的几个差不多也是没有过滤直接拼接的路径导致路径穿越 文件上传点4
addscenedata.php也是将../images/scene/和文件名拼接了 文件上传点5
busyscreenshotpush.php这个就和之前有点不一样。 文件落地位置在file_put_contents($imagefile, base64_decode($content))这里base64解密的内容来自我们传入的imagecontent 其中落地文件名由这几个参数控制的 最后imagename需要满足这个条件1_2_3.php 文件上传点6
uploadjson.php接口接收了两个参数分别是文件内容和文件名文件名可以拼接路径穿越。 声明该漏洞已通报给相关单位修复本文章仅供代码审计学习