Web学习17

  1. 知识点
  2. 案例
  3. 思维导图

知识点

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

思维导图