Think PHP 3.2 信息泄露
配置环境
数据库连接配置
# application/home/controller/IndexController.class
<?php
namespace 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.log
ThinkPHP3.2:Application/runtime/logs/home/21_03_22.log
ThinkPHP3.1:runtime/logs/home/21_03_22.log
对应:项目命\runtime\logs\home\year_mouth_day.log
日志里有执行 sql 语句的记录
防御方法
关闭 debug
缓存泄露
PHP快速缓存方法 F
# application/home/controller/IndexController.class
class 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)]