知识点
php框架:yii laravel thinkphp
1、基于TP框架入门安装搭建使用
2、基于TP框架内置安全写法评估
3、基于TP框架实例源码安全性评估
案例
入门-简单了解-安装&调试&入口&配置
理解:Tp框架架构&配置&查看等
使用-路由访问-控制器&对象&函数&参数
理解:URL <=> 文件
安全-SQL注入-不安全写法对比官方写法
1、参数过滤
2、内置过滤
安全-RCE执行-历史安全漏洞对比框架版本
1、框架版本漏洞
2、框架写法安全
3黑盒白盒看版本
实例-CMS源码-EyouCMS&Fastadmin&YFCMF
AdminLTE后台管理系统
layui后台管理系统
thinkcmf
H-ui.admin后台管理系统
tpshop
FsatAdmin
eyoucms
LarryCMS后台管理系统
tpadmin后台管理系统
snake后台管理系统
ThinkSNS
DolphinPHP后台管理系统
WeMall商城系统
CLTPHP
齐博CMS
DSMALL
YFCMF
HisiPHP后台管理系统
Tplay后台管理系统
lyadmin后台管理系统
haoid后台管理系统
很多黑色产业都喜欢用tp框架开发应用
tp框架的大概结构如图所示
要访问到你具体写的功能,例如这里举的例子,index.php是模块目录。
可以通过地址去找到对应的代码,也可以访问localhost/index.php?s=index/xiaodi/x或者localhost/index.php/index/xiaodi/x.html
官方的框架写法,就可以防止产生sql漏洞
m是模块,c是控制器,a是方法名,id是参数
建立了与数据库的连接
常规类的PHP数据库操作写法&官方的标准写法,前者有安全SQL注入漏洞,如果按照官方的写法去写代码,他会有内置过滤,可以防止产生漏洞。
写法不同会造成安全漏洞的有无
用到TP框架找漏洞
1、看写法
2、看历史漏洞->版本
如何判断是否是thinkphp
黑盒:判断是不是tp
怎么看版本-报错 返回数据包
白盒:看源码配置文件,在base.php
经验:URL地址
报错内容会显示是tp框架
返回的数据包也会显示是tp框架
如果是面对框架开发的程序,你挖漏洞就是在挖框架的漏洞,如果框架本身存在漏洞,那就存在漏洞。但是难度是很大的捏
thinkphp 5.0.24存在rce命令执行漏洞
tp框架的历史漏洞集合:https://github.com/Mochazz/ThinkPHP-Vuln