内容简介:我在FreeBuf上每天都可以学到很多新思路新技术,感谢这个平台,为了回馈FreeBuf的小伙伴们,写下这篇文章,希望在可以为奋斗在网络安全路上的小伙伴们提供一些新奇小思路,其实挖洞并不难,也希望大家能把分享的精神发扬光大。天睿PHP内容管理框架(简称TPCMF)基于PHPCMF框架采用PHP7技术+CodeIgniter4作为系统核心部件,由系统框架+应用插件快速组建Web应用。源码信息:TPCMF框架-安装包-201905171230.zip
我在FreeBuf上每天都可以学到很多新思路新技术,感谢这个平台,为了回馈FreeBuf的小伙伴们,写下这篇文章,希望在可以为奋斗在网络安全路上的小伙伴们提供一些新奇小思路,其实挖洞并不难,也希望大家能把分享的精神发扬光大。
概述
天睿 PHP 内容管理框架(简称TPCMF)基于PHPCMF框架采用PHP7技术+CodeIgniter4作为系统核心部件,由系统框架+应用插件快速组建Web应用。
相关环境
源码信息:TPCMF框架-安装包-201905171230.zip
漏洞类型:储存型XSS
下载地址: http://www.tpcmf.com/down/
漏洞文件:/dayrui/Fcms/Library/Form.php
漏洞分析
1.首先我们来看看这次漏洞的配角 /dayrui/Core/Controllers/Member/Register.php文件,这里把注册用户的函数写出这个样子(代码敲的是真漂亮。反正我是敲不出这么漂亮的代码)。
2.这里呢,我们发现第75行对用户名的检查的时候调用了check_username()这个函数(打了个哈欠点了跟烟),嗯,好的,我们来跟进一下check_username()这个函数看看这个函数都干了什么,这个函数的位置在 /dayrui/Fcms/Library/Form.php, 这个文件是我们这次漏洞的的主角。
3.跟进函数之后我们发现 check_username()似乎并没有对$value的值进行检查(淫笑中~~),那么这次我们的漏洞成因就十分明确了,由于check_username函数只对用户名是否注册过进行了检查,并没有对其中的内容进行检查,所以我们可以通过注册账户,在账户名中插入xss的payload对其进行攻击,对于没有开启httponly的站直接钓走cookie。(对于开启httponly的站我们怎么办呢,我会在下一篇文章中讲述一下如何对开启httponly的站点进行钓鱼攻击)。
漏洞复现
1. (打个哈欠灭了烟继续写文章) 好了,现在我们进入本地搭建好的环境的主页的注册页面。
2. 填入注册信息,其中用户名为我们的xss攻击测试代码 </tExtArEa>'"><sCRiPt>alert(“xss”)</sCrIpT>
3. 单机确认,储存XSS用户权限漏洞复现(再一次淫笑~~~)。
4. 好了,现在进入我们的后台。
5. 登陆后台,我们来选择一下我们可爱的用户列表选项。
6. 储存XSS管理员权限复现(又一次淫笑~~~)。
以上所述就是小编给大家介绍的《对于TPCMF框架的一次代码审计》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Java 框架级 SSM 代码审计思路
- 敏信审计系列之Apache-solr框架
- AutoSource:整合SonarQube的自动化源代码审计框架
- LightBulb:一个用于审计web应用程序防火墙的开源框架
- IPv6Tools:一款模块化的IPv6安全审计框架
- 代码审计--源代码审计思路
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。