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