某CMS注入审计
2021-01-21 22:43:39 Author: xz.aliyun.com(查看原文) 阅读量:235 收藏

菜鸟学习一下代码审计,加深对漏洞原理的理解。

源码是基于ThinkPHP3.2.2框架开发的企业网站内容管理系统

其中App文件夹下的文件将是审计的重点。

大部分文件在获取参数的时候会进行一次正则匹配

对传入不是整数的参数程序会直接结束,有效的过滤了一部分可能产生注入的地方。
在\App\Home\Controller\UserController.class.php文件下却发现

do_name()方法将post传入的id带入了find查询,我们都知道tp3是有爆出过注入的,因此在这构成注入

http://www.a.com/index.php?s=/user/do_name.html
id[where]=1%20and%20updatexml(1,concat(0x7e,user(),0x7e),1)--

注入条件是要前台登录。
该文件的do_detail()方法,do_pass()方法也有着相同的问题

继续对源码阅读,并没有发现前台有其他漏洞。可能是我技术菜

后台文件使用zend加密,使用在线解密网站解密文件
http://dezend.qiling.org/free/
\App\Manage\Controller\PhotoController.class.php

ID通过get请求获取带入where查询,并且无引号保护造成注入,

后台其他文件造成注入的原因基本同理,

通过代码分析更容易理解漏洞,该源码后台还有一处任意文件删除,网上已有分析,就没有写
tp3注入原理参考
https://xz.aliyun.com/t/2629


文章来源: http://xz.aliyun.com/t/9042
如有侵权请联系:admin#unsafe.sh