PHP框架安全(以ThinkPHP为例)总结
例:TP(ThinkPHP)框架、YII、laravel
TP框架(5.x版本市面上较多,hc使用较多)
http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/
应用目录下模块名首写字母一定要大写
带参数
- 1.http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作?参数=值
对应后端写法:$_GET/POST[‘x’]或input(‘x’)或input(’?get.x’)(如3)
-
2.例如:
(也可对应input(‘x’)和3)。 -
1,2会导致SQL注入
-
3.例如:
对SQL注入有内置过滤
TP的调试模式
完成以上配置后
调试模式效果如下:
TP数据库语法
例如:
例中为TP框架官方调用数据库语句“select * from sy_message where id=$id”,对SQL注入有过滤
TP框架漏洞思路
- 写法
- 历史版本漏洞(白盒:看tp包中thinkphp/base.php中 定义的THINK_VERSION值为框架版本,找对应漏洞 (seebug、kunyu、github等、搜索exp、构造exp等)黑盒看版本(报错、数据包、url等)
- 自己找0day!