0
点赞
收藏
分享

微信扫一扫

ThinkPHP框架信息泄露

Think PHP 3.2 信息泄露

配置环境

数据库连接配置

ThinkPHP框架信息泄露_PHP

# 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 库,并非上图所示

ThinkPHP框架信息泄露_thinkphp_02

开启调试

# application/home/Conf/config.php
'SHOW_PAGE_TRACE' => 'true',

ThinkPHP框架信息泄露_thinkphp_03

日志信息泄露

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 语句的记录

ThinkPHP框架信息泄露_PHP_04

防御方法

关闭 debug

缓存泄露

PHP快速缓存方法 F

ThinkPHP框架信息泄露_PHP_05

# application/home/controller/IndexController.class
class IndexController extends Controller
{
public function index(){
F("data","<?phpinfo();?>");
}
}

s:14:"<?phpinfo();?>";

先访问下 index,就会获得缓存文件

ThinkPHP框架信息泄露_缓存_06

数据缓存函数 S

ThinkPHP框架信息泄露_PHP_07

public function index(){
S("data","<?phpinfo();?>");
}

ThinkPHP框架信息泄露_thinkphp_08

文件名 md5 解密后就是 data

tp 有文件缓存的安全机制

# application/home/Conf/config.php
'DATA_CACHE_KEY' => 'think',

ThinkPHP框架信息泄露_PHP_09

解密后其实就是 thinkdata

框架指纹识别

  • 确定网站框架
  • cms 指纹识别 || 黑盒测试
  • 框架指纹识别

/?c=4e5e5d7364f443e28fbf0d3ae744a59a

ThinkPHP框架信息泄露_缓存_10

/ThinkPHP/logo.png

ThinkPHP框架信息泄露_缓存_11

59a

[外链图片转存中…(img-pTJP3o0I-1616410710131)]

/ThinkPHP/logo.png

[外链图片转存中…(img-MKkCGBJ4-1616410710136)]



举报

相关推荐

0 条评论