PHP项目&TP框架&SQL&XSS&架构&路由&调试&写法

开发基础-TP框架-入口&调试&路由&写法等

参考手册-TP5开发手册-为了掌握了解框架
首页文件看APP_PATH定义-为了后期分析核心代码

全局搜索:THINK_VERSION,为了后期分析此版本是否存在漏洞。

参考手册-本地代码案例对比,为了后期分析定位代码块或测试漏洞。
配置文件开关(app_debug,app_trace,debug),为了后期出现问题分析问题。


本地代码案例URL访问,测试注入,为了后期挖掘漏洞第一时间判断问题。

点击查看代码
对框架开发的源码去分析漏洞
1.看写法,存在没有官方保护过滤
2.看版本漏洞,存在有官方保护过滤,但是有绕过漏洞
3.高手直接挖0day,直接审计框架的防护,写绕过

常规架构
没有看到过滤函数 没有过滤
url路径是文件路径对应

MVC架构
没有看到过滤函数 没有过滤
url路径是文件路径路由对应

框架架构
没有看到过滤函数 不代表没有过滤
1.非官方写法 没有过滤
2.半吊子写法 可能没过滤
3.完整官方写法 受到官方过滤(如果过滤考虑不周不全也会有漏洞)
url路径是文件路径路由对应

一个源码采用TP框架,但是写法没有按照官方写法,思路:常规架构挖掘
一个源码采用TP框架,但是写法按照官方写法,思路:看版本漏洞、挖框架漏洞

如果tp5爆漏洞,哪个会受到影响:
1.xiaodicms tp5开发的  写法没有按照官方写法(可能受到影响)
2.xiaosedicms tp5开发的 写法按照官方写法(会受到影响)
3.xiaoseccms tp5开发的 写法按照官方写法(会受到影响)

CNVD拿1day-TP框架-SQL注入&XSS-HSYCMS

SQL注入

CNVD官网搜索相关漏洞。

下载源码,将调试开关都开启。通过搜索THINK_VERSION,发现是tp框架。访问新闻页面,看下SQL执行语句。

触发了show.php页面,看下源代码,虽然是官方写法,但是从SQL执行语句中可以看到有注入点。


尝试注入,并监控SQL执行语句。


成功执行我们注入的SQL语句。
这里只需要将"$id=input('id');"改成"$id=input('id/d');"将传参的参数强转为整数就不会存在漏洞了。

XSS

先进行黑盒测试,XSS常见的地方有留言板之类的功能处。故在留言板处进行测试。

提交留言,看下触发的地址。

找到对应地址的文件。

但是显示功能不在这里,去后台找到留言触发的地方。

找到对应显示功能的代码。

没有存在任何过滤,故存在XSS漏洞。

某cms源码-TP框架-SQL注入-违规weipan源码

找到入口文件。

在application目录下。访问特定地址。

找到对应代码。

看下SQL执行语句。

根据SQL执行语句,找到对应的代码。

尝试注入,监听SQL语句。

发现需要通过引号闭合,但是tp框架中会自动对引号进行转义,所以这里只能对第二处进行SQL注入。另外还可以根据当前tp的版本号找版本漏洞。

参考:https://www.yii666.com/blog/357920.html

posted @ 2024-02-11 11:29  死不悔改奇男子  阅读(56)  评论(0编辑  收藏  举报