前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对于TPCMF框架的一次代码审计

对于TPCMF框架的一次代码审计

作者头像
FB客服
发布2019-06-18 12:08:53
5710
发布2019-06-18 12:08:53
举报
文章被收录于专栏:FreeBufFreeBuf

我在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攻击测试代码'">

3. 单机确认,储存XSS用户权限漏洞复现(再一次淫笑~~~)。

4. 好了,现在进入我们的后台。

5. 登陆后台,我们来选择一下我们可爱的用户列表选项。

6. 储存XSS管理员权限复现(又一次淫笑~~~)。

结语

很多刚刚入坑的萌新们认为代码审计似乎很难,想挖到漏洞似乎只有大佬们才能实现,但是其实我想说挖到属于自己的漏洞其实并不难,需要的是你能够平静下急功近利的心,耐得住漏洞挖掘中的乏味,不断去磨练自己的意志,增长自己的经验,相信自己,你是醉棒的,你也可以成为别人眼中的大佬!

*本文作者:chenchuan,转载请注明来自FreeBuf.COM

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 相关环境
  • 漏洞分析
  • 漏洞复现
  • 结语
相关产品与服务
代码审计
代码审计(Code Audit,CA)提供通过自动化分析工具和人工审查的组合审计方式,对程序源代码逐条进行检查、分析,发现其中的错误信息、安全隐患和规范性缺陷问题,以及由这些问题引发的安全漏洞,提供代码修订措施和建议。支持脚本类语言源码以及有内存控制类源码。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档