ThinkPHP框架信息泄露
2022-07-28 14:14:58
156
{{single.collect_count}}

实践学习php,thinkphp,Redis,vue,uni-app等技术,推荐开源电商系统likeshop,可以借鉴思路,可去版权免费商用,gitee下载地址:
点击进项目地址

Think PHP 3.2 信息泄露

配置环境

数据库连接配置

image-20210322164613538

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

image-20210322165226488

开启调试

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

image-20210322170451358

日志信息泄露

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

image-20210322171407394

防御方法

关闭 debug

缓存泄露

PHP快速缓存方法 F

image-20210322173950649

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

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

image-20210322173704812

数据缓存函数 S

image-20210322173845721

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

image-20210322174430967

文件名 md5 解密后就是 data

tp 有文件缓存的安全机制

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

image-20210322174805927

解密后其实就是 thinkdata

框架指纹识别

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

/?c=4e5e5d7364f443e28fbf0d3ae744a59a

img

/ThinkPHP/logo.png

img

59a

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

/ThinkPHP/logo.png

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

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}