实践学习php,thinkphp,Redis,vue,uni-app等技术,推荐开源电商系统likeshop,可以借鉴思路,可去版权免费商用,gitee下载地址:
点击进项目地址
Think PHP 3.2 信息泄露
配置环境
数据库连接配置
# application/home/controller/IndexController.class<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller{public function index(){$data=M("admin")->select();dump($data);// 注意方法}}# 连接的是 test 库,并非上图所示
开启调试
# application/home/Conf/config.php'SHOW_PAGE_TRACE' =>'true',
日志信息泄露
Think PHP 在开启 DEBUG 的情况下会在 Runtime 目录下生成日志,如果 DEBUG 不关,可直接输入路径造成目录遍历
http://localhost/thinkphp/thinkphp_3.2.3_full/Application/runtime/logs/home/21_03_22.logThinkPHP3.2:Application/runtime/logs/home/21_03_22.logThinkPHP3.1:runtime/logs/home/21_03_22.log对应:项目命\runtime\logs\home\year_mouth_day.log
日志里有执行 sql 语句的记录
防御方法
关闭 debug
缓存泄露
PHP快速缓存方法 F
# application/home/controller/IndexController.classclass IndexController extends Controller{public function index(){F("data","<?phpinfo();?>");}}s:14:"<?phpinfo();?>";
先访问下 index,就会获得缓存文件
数据缓存函数 S
public function index(){S("data","<?phpinfo();?>");}
文件名 md5 解密后就是 data
tp 有文件缓存的安全机制
# application/home/Conf/config.php'DATA_CACHE_KEY'=>'think',
解密后其实就是 thinkdata
框架指纹识别
- 确定网站框架
- cms 指纹识别 || 黑盒测试
- 框架指纹识别
/?c=4e5e5d7364f443e28fbf0d3ae744a59a
/ThinkPHP/logo.png
59a
[外链图片转存中…(img-pTJP3o0I-1616410710131)]
/ThinkPHP/logo.png
[外链图片转存中…(img-MKkCGBJ4-1616410710136)]