当前位置:网站首页>wuzhicms代码审计
wuzhicms代码审计
2022-07-04 15:39:00 【zkzq】
零基础学黑客,搜索公众号:白帽子左一
作者:掌控安全—柚子
环境搭建
源码下载官网:https://www.wuzhicms.com/
放到本地phpstudy根目录下,访问install路径进行安装。
访问后台:
访问前台:
敏感信息泄露
直接后台挂个链接:
代码分析
前台sql注入
漏洞分析
搜索select的时候 发现在mysql.class文件下有一个函数里面有select 并且后面的拼接也没有任何的过滤
搜索哪里调用了这个函数,先是在api目录下的sms_check文件中发现调用了get_one函数 并且参数是通过前面的$code拼接。
我们可以看到code 先是通过$GLOBALS来获取参数param的值 从前面的介绍可以知道 $GLOBALS是可以获取post get的值 这个文件前面没有定义param变量 那么 这个param应该就是post 或者get 就是我们可控的 这也是导致注入的点
code还通过strip_tags 函数 而这个函数的作用是剥去html标签,过滤xss。
之后就直接传入了函数 继续更进函数 因为这个文件前面还引入了db类。
可以看到这个get-one函数里面 还调用了一个array2sql函数来处理$where
那先来看看这个函数的作用。
可以看到这个函数是用来过滤的。如果是数组 这进入if 把括号 单引号这些过滤掉。
不是则走else 过滤 %20 %27。然后返回参数,但也就是这个过滤的地方 没有防护到位。我们传的参数不是数组 所以就没有走if,而else里面过滤的却是 %20 %27。
我们传参的时候尽管是经过url编码的 但是web服务器会自动解码一次 所以 我们传到后端代码处的时候是没有进行url编码。
但是二次编码的就不一样了 因为web服务器只解码一次,如果是二次编码这里的else过滤就起效果,return 调用的get_one 则是最开始看见的mysql.class文件里面了。
下面就可以开始直接构造payload了 这里通过代码分析可以看到是单引号闭合。
漏洞复现
payload:
sms_check.php?param=1%27+or%20extractvalue(1,concat(0x7e,(select%20database)))%23](http://192.168.1.7/wuzhicms/api/sms_check.php?param=1'+or extractvalue(1,concat(0x7e,(select database)))%23)
后台sql注入一
漏洞分析
在www\api\sms_check.php中:
传参param给$code,然后直接拼接到sql语句中,导致sqli:
漏洞复现
后台sql注入二
在eframe\app\promote\admin\index.php中:
获取$keywords直接拼接到sql语句中,导致sqli:
后台任意文件读取、删除
coreframe\app\attachment\admin\index.php中存在dir方法:
分析逻辑发现,将…/,./,.\,…\替换成空再添加/结尾,这里可以通过多写绕过:
同时发现读取到的文件是可以删除的,每个后面都有删除的链接。
找到del方法:
通过url获取路径后,检测了ATTACHMENT_URL参数,替换为空,
define(‘ATTACHMENT_URL’,‘http://www.wuzhicmstest.com/uploadfile/’);//附件路径
然后没有其他过滤,传入my_unlink:
达到删除的目的。
逻辑漏洞
在\api\uc.php中:
通过传参可以调用uc_note类的任意方法:
可以更改用户名和密码等。
后台RCE
漏洞分析
在coreframe\app\core\libs\function\common.func.php中set_cache方法:
写入内容没有过滤,再搜索哪里调用了set_cache:
member模型中存在调用。
发现直接获取setting写入缓存。
利用,写入phpinfo:
漏洞复现
后台访问
拓展
全局搜索发现,同样的利用还有很多:
边栏推荐
- Smart Logistics Park supply chain management system solution: digital intelligent supply chain enables a new supply chain model for the logistics transportation industry
- ECCV 2022 released: 1629 papers were selected, and the employment rate was less than 20%
- 【测试开发】软件测试——基础篇
- Yanwen logistics plans to be listed on Shenzhen Stock Exchange: it is mainly engaged in international express business, and its gross profit margin is far lower than the industry level
- NFT liquidity market security issues occur frequently - Analysis of the black incident of NFT trading platform quixotic
- 长城证券开户安全吗 证券账户怎么开通
- 安信证券网上开户安全吗 开户收费吗
- Height residual method
- Blood spitting finishing nanny level series tutorial - play Fiddler bag grabbing tutorial (2) - first meet fiddler, let you have a rational understanding
- TP configuring multiple databases
猜你喜欢
Which domestic cloud management platform manufacturer is good in 2022? Why?
一加10 Pro和iPhone 13怎么选?
Zebras are recognized as dogs, and the reason for AI's mistakes is found by Stanford
智慧物流園區供應鏈管理系統解决方案:數智化供應鏈賦能物流運輸行業供應鏈新模式
With an annual income of more than 8 million, he has five full-time jobs. He still has time to play games
NoSQL之readis配置与优化(终章)
Learn more about the basic situation of 2022pmp examination
To sort out messy header files, I use include what you use
The Ministry of human resources and Social Security announced the new construction occupation
电子元器件B2B商城系统开发:赋能企业构建进销存标准化流程实例
随机推荐
"Cannot initialize Photoshop because the temporary storage disk is full" graphic solution
将Opencv绘制图片显示在MFC Picture Control控件上
VMware Tools和open-vm-tools的安装与使用:解决虚拟机不全屏和无法传输文件的问题
La 18e Conférence internationale de l'IET sur le transport d'électricité en courant alternatif et en courant continu (acdc2022) s'est tenue avec succès en ligne.
缓存穿透、缓存击穿、缓存雪崩分别是什么
智慧物流園區供應鏈管理系統解决方案:數智化供應鏈賦能物流運輸行業供應鏈新模式
51 single chip microcomputer temperature alarm based on WiFi control
C# 更加优质的操作MongoDB数据库
Smart Logistics Park supply chain management system solution: digital intelligent supply chain enables a new supply chain model for the logistics transportation industry
Li Kou today's question -1200 Minimum absolute difference
电子元器件B2B商城系统开发:赋能企业构建进销存标准化流程实例
R language plot visualization: plot visualizes overlapping histograms and uses geom at the top edge of the histogram_ The rug function adds marginal rug plots
【Go ~ 0到1 】 第六天 文件的读写与创建
PyTorch深度学习快速入门教程
Learn more about the basic situation of 2022pmp examination
Blood spitting finishing nanny level series tutorial - play Fiddler bag grabbing tutorial (2) - first meet fiddler, let you have a rational understanding
安信证券手机版下载 网上开户安全吗
To sort out messy header files, I use include what you use
Maximum subarray and matrix multiplication
利用win10计划任务程序定时自动运行jar包