前言
#知识点:
1、基于TP框架入门安装搭建使用
2、基于TP框架内置安全写法评估
3、基于TP框架实例源码安全性评估
TP框架开发的CMS
#实例-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后台管理系统
#使用-路由访问-控制器&对象&函数&参数
MVC支持-基于模型(M)、视图(V)、控制器(C)的设计模式
要选择C:\phpStudy\PHPTutorial\WWW\TP5\public为起始页面。
可以通过这样去访问:192.168.0.151/index(文件夹)/index(控制器)/xiaodi(方法)
这里的c代表的就是控制器 a代表方法 id代表参数。(网页代码的路径并会显示在url上)。
这里我们在aap目录下再创建一个yes文件夹 这时候就需要将 namespace 的目录改成yes。
#安全-SQL注入-不安全写法对比官方写法
1、参数过滤
Db:: table('think_user')->where('status,1')->select();
select *frin think_user where status=1;(两者效果一样)
$id=$_GET['X'];$id可以接受变动 //存在注入
$id=input['X'];$id可以接受变动 //存在注入
$id=$_GET['?get.X'];$id不可以接受变动 //不存在注入(框架定义的代码,能直接过滤)
2、内置过滤
而当你用官方手册的sql语句Db:: table('think_user')->where('status,1')->select(); 就无法产生sql注入
框架的优点:简单 便捷 内置过滤。
#安全-RCE执行-历史安全漏洞对比框架版本
1、框架版本漏洞
2、框架写法安全
3、黑盒白盒看版本
https://github.com/Mochazz/ThinkPHP-Vuln
用到TP框架找漏洞
1 看写法
2 看历史漏洞 ->版本
版本获取?
黑盒:
判断是不是TP 返回数据包
怎么看版本-报错
经验:URL地址
白盒:
看源代码配置文件