前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >天目MVC审计二

天目MVC审计二

作者头像
XRSec
发布2022-02-13 16:50:29
4710
发布2022-02-13 16:50:29
举报
文章被收录于专栏:XRSec.Blog

本文章由二农戏猪编辑

审计控制器

从上一篇审计完了入口文件和搞清楚路由规则之后,我们开始正式审计控制器。

Home目录

app/home/index.php开始审计,前面没什么可说的,但是注意这里,虽然它是判断不是PC登陆时候执行,但是我们可以看到它调用的查询方法,感觉很熟悉,比较像think里面定义的查询方法,我们回想起上一篇审计的时候,审计到的过滤机制,我们全局搜索一下where(,一个一个去查看,看看是否有where条件为两个参数,或者int类型。

后台SQL注入

功夫不负有心人,我们在此处,发现$sid未被单引号包裹,并且未被强制转换未int类型。目录为admin\controller\special.php,我们尝试复现。好的一处SQL注入漏洞。

前台SQL注入

正当我以为没有前台SQL注入的时候,突然间,有发现了一个位置。突然间想起一句话:缘,妙不可言。

找一下。看看$sid怎么传进来的,是否可控

全局搜一下这个get_category_list(),发现在home/controller/special.php中,category()这个方法中,通过GET传入的sid这个值,虽然这个方法中对$sid加有单引号保护,但是在调用get_category_list()时候就是在裸奔,好的,复现一下

完全ok。前台到这里就审计完成了

前台XSS

home\controller\articles.php,articles方法这个位置htmlspecialchars_decode,这个函数将实体化的符号进行解码,突然就引起了我的注意,因为我们在前面审计到,它会将传入的值进行html实体化编码,然后存入数据库。这个位置它将数据又进行解码,菜鸡的直觉告诉我,一定是有问题的,我们找一下$data这个变量是哪里来的

在这个32行我们看到是从这个数据库中查询得来的。

我们找一下是如何写入的,这里因为内容太多,用下debug看一下查询语句:"SELECT * FROMtemmoku_articleASAINNER JOINtemmoku_contentASBON A.aid =B.aid WHERE A.aid=3 ORDER BY A.aid DESC LIMIT 1"在回溯的时候我犯了一个很难受的错误,我去搜索jab.'content,没有搜索到,怀疑人生ing,但是,我后来想起来,搜索jab."content才定位到位置,难受。

在这里,admin\public_class\article.php中,发现写入jab.content数据库。继续回溯

发现user\controller\articles.php出现调用,往上看,add方法。

注册账号并且开启发文章权限。

存储型XSS复现成功

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 审计控制器
    • Home目录
      • 后台SQL注入
      • 前台SQL注入
      • 前台XSS
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档