YZMCMS V5.3后台SSRF漏洞以及代码审计详解

SSRF

搭建靶场后

使用工具进行代码审计

全局搜索curl_exec(

依次进行查看源码

第一个参数不可靠,排除

第二个不一定存在先找其他的

发现第7个有很大问题

能发现有个get_content传参

查找这个发现有点多get_content

发现是少了个括号get_content(

进入第一个


并查看网站相关功能

分析源码 首先获取传过来的id

然后有个进行sql语句的$data

再发现下面有判断$data的地方

如果选择序列网站则,sourcetype=1

否则选择单一网页,则sourcetype=2并传参给#url

往下看发现//定义采集列表区间

对应网站功能,$url_start和$url_end,区域开始和区域结束不能为设置的值


再发现$url交给get_content去处理并付给concent

全局搜索get_content函数内容如下

又将$content交给get_sub_content处理后重新赋值给$content

所以要分析get_sub_content函数是如何处理的

全局搜索发现

这个函数是把获得的html网页源去除网页格式,分割网页内容

最后将$html[0],赋值给$content

网站功能默认是utf-8,所以直接跳过

再次处理concent

查找get_all_url函数

分析作用

回车换行替换为空 把 </a> , </A> ,统一替换为 </a>\n 通过正则表达式,匹配$html中的标签

foreach循环遍历数组 获取 $out[1] 的值


匹配了href 将匹配到的结果放到 $match_out

  

$url_contain和$url_except依次判断是否满足要求

$url2又用url_check处理一次

查找url_check函数

依次处理

作用是将$articleurl交给get_content处理,也就是交给crul_exec()处理,此时 $article 的值就是 crul_exec() 获取到的url内容

得到最初输入的url将以数组形式输出到网站测试采集的内容页测试信息(获取第一篇文章地址来测试):

下面进行漏洞浮现

添加节点并输入网址

新建这个网址的网页,并输入对应palyod

在对应目录下创建111.txt文件

点击测试采集可以读取文件

说明这里存在ssrf漏洞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值