五十四.代码审计-TP5 框架审计写法分析及代码追踪
2022年 09月 13 日

BIGFISH

请添加图片描述

在这里插入图片描述

在这里插入图片描述

演示案例

  • demo 代码段自写和规则写分析
  • hsycms-TP 框架-不安全写法-未过滤
  • weipan21-TP 框架-规则写法-内置过滤

 

demo 代码段自写和规则写分析

1.追踪对应

  • <1>结合入口路由配合对应
    • 1.入口所在文件:public/index.php 或 根目录下index.php
    • 2.路由介绍:
      • 路由是用于规划(一般同时也会进行简化)请求的访问地址,在访问地址和实际操作方法之间建立一个路由规则 => 路由地址的映射关系。
      • 路由定义:app或aplication/route
    • 3.url访问路径:/模块/控制器/操作/【参数名/参数值】
      • app/index.php/controller/index
  • <2>调试模式信息获取对应
    • 目录 app/config.php
    • 将下面这两个修改为true
  • <3>断点调项目执行式追踪
    • 利用phpstorn
  • <4>view和controller
  • <5>目录结构

2.版本查看

  • /thinkphp/base.php
  • /ThinkPHP/ThinkPHP.php
  • /thinkphp/library/think/App.php

3.调试开关

  • config/php
  • app_debug="true"
  • app_trace="true"

4.输出调试

  • echo
  • var_dump

5.审计写法分析

hsycms-TP 框架-不安全写法-未过滤

  • 1.打开网站
  • 2.先开启调试
    • app/config.php
  • 3.查看入口文件,发现是app
    • 根目录/index.php
  • 4.查看路由定义
  • 5.对我们访问的链接进行分析
    • url:sql.tmzo.club/product/132.html
    • 方法一,对应路由定义分析
    • 方法二:调式
  • 6.接下来,我们审计代码
    • 1.根据url,分析对应的文件
    • 2.于是我们从news,url进行测试
    • 3.输入id151aaa,发现成功
    • 4.开始注入,但我们发现有魔术引号
    • 5.所以我们是一下sqlmap
      • 命令:sqlmap -u http://sql.tmzo.club/news/150*.html --batch --current-user --current-db
    • 6.我们发现注入成功!
    • 7.修复方法,按照thinkphp官方写法即可。

weipan21-TP 框架-规则写法-内置过滤

  • <1>通过url地址可以猜测到路由地址未更改
    • 54:代码审计-TP5框架审计写法分析及代码追踪
  • <2>审计源码,发现均使用了规则写法,追踪调试,也没发现漏洞。

     
  • <3>查看版本,网上搜索相关版本对应的漏洞,使用公开payload测试,寻找可能的漏洞点。
    • thinkphp历史漏洞集合:https://github.com/Mochazz/ThinkPHP-Vuln

       
  • <4>查看框架历次更新说明,寻找可能的漏洞点。重点看每次版本迭代都修改了哪些代码,找到对应漏洞点。很多漏洞可能网上并没有发布,通过这种方法可以分析出来。
    • 54:代码审计-TP5框架审计写法分析及代码追踪

 

相关链接

 

五十四.代码审计-TP5 框架审计写法分析及代码追踪

请添加图片描述

在这里插入图片描述

在这里插入图片描述

演示案例

  • demo 代码段自写和规则写分析
  • hsycms-TP 框架-不安全写法-未过滤
  • weipan21-TP 框架-规则写法-内置过滤

 

demo 代码段自写和规则写分析

1.追踪对应

  • <1>结合入口路由配合对应
    • 1.入口所在文件:public/index.php 或 根目录下index.php
    • 2.路由介绍:
      • 路由是用于规划(一般同时也会进行简化)请求的访问地址,在访问地址和实际操作方法之间建立一个路由规则 => 路由地址的映射关系。
      • 路由定义:app或aplication/route
    • 3.url访问路径:/模块/控制器/操作/【参数名/参数值】
      • app/index.php/controller/index
  • <2>调试模式信息获取对应
    • 目录 app/config.php
    • 将下面这两个修改为true
  • <3>断点调项目执行式追踪
    • 利用phpstorn
  • <4>view和controller
  • <5>目录结构

2.版本查看

  • /thinkphp/base.php
  • /ThinkPHP/ThinkPHP.php
  • /thinkphp/library/think/App.php

3.调试开关

  • config/php
  • app_debug="true"
  • app_trace="true"

4.输出调试

  • echo
  • var_dump

5.审计写法分析

hsycms-TP 框架-不安全写法-未过滤

  • 1.打开网站
  • 2.先开启调试
    • app/config.php
  • 3.查看入口文件,发现是app
    • 根目录/index.php
  • 4.查看路由定义
  • 5.对我们访问的链接进行分析
    • url:sql.tmzo.club/product/132.html
    • 方法一,对应路由定义分析
    • 方法二:调式
  • 6.接下来,我们审计代码
    • 1.根据url,分析对应的文件
    • 2.于是我们从news,url进行测试
    • 3.输入id151aaa,发现成功
    • 4.开始注入,但我们发现有魔术引号
    • 5.所以我们是一下sqlmap
      • 命令:sqlmap -u http://sql.tmzo.club/news/150*.html --batch --current-user --current-db
    • 6.我们发现注入成功!
    • 7.修复方法,按照thinkphp官方写法即可。

weipan21-TP 框架-规则写法-内置过滤

  • <1>通过url地址可以猜测到路由地址未更改
    • 54:代码审计-TP5框架审计写法分析及代码追踪
  • <2>审计源码,发现均使用了规则写法,追踪调试,也没发现漏洞。

     
  • <3>查看版本,网上搜索相关版本对应的漏洞,使用公开payload测试,寻找可能的漏洞点。
    • thinkphp历史漏洞集合:https://github.com/Mochazz/ThinkPHP-Vuln

       
  • <4>查看框架历次更新说明,寻找可能的漏洞点。重点看每次版本迭代都修改了哪些代码,找到对应漏洞点。很多漏洞可能网上并没有发布,通过这种方法可以分析出来。
    • 54:代码审计-TP5框架审计写法分析及代码追踪

 

相关链接

 

赞 (0)

猜您想看

评论区(暂无评论)

这里空空如也,快来评论吧~

我要评论