皮卡丘靶场解题记录-敏感信息暴露

1、漏洞原理总结:

开发者疏忽,把不该让用户看到的东西暴露出来了。它本身危害低,但往往是进一步攻击的跳板。有三种典型形态:

形态 例子
① 目录列出 直接访问目录 URL,服务器把文件列表列出来
② 报错泄露版本 输入错误参数,报错信息里带出操作系统/中间件/语言版本
③ 前端源码泄露 HTML/CSS/JS 里藏了后台地址、内网接口、甚至账号密码

2、我的测试过程:

image-20260901145332318

测试账号都直接放出来了

image-20260901145713171

放账号密码的表单是get提交

3、核心漏洞代码分析:

4、实战延伸:

image-20260901151415807

拓展,目录列出:

首先要知道访问文件和访问目录是两回事。

访问 例子 服务器行为
一个文件 /infoleak.php 执行/返回这个文件 → 你看到网页
一个目录 /vul/infoleak/ 服务器要决定给你看什么(见下

平时访问 xxx.com/(根目录)能看到网页,是因为那个目录里有个 index.php / index.html,服务器默认把它当首页返回给你。这是有 index 文件的情况

而当访问一个没有index文件的目录时,就会有所不同。总的来说,服务器有三种可能:

服务器配置 能看到什么
① 开了 autoindex 列出这个目录下的所有文件名(就是目录列出)
② 没开 autoindex 返回 403 或空白(你这个靶场就是这种情况)
③ 有 index 文件 返回 index 首页(正常网页)

目录列出不是开发者写的网页,而是服务器自动生成的一个文件清单页面,长这样:

1
2
3
4
Index of /vul/infoleak/
abc.php
findabc.php
infoleak.php

然后这个目录列出是否出现又取决于服务器有没有开 autoindex

主流服务器里面,主要就apache默认开,其余基本都默认关。

服务器 autoindex(目录列出)默认 说明
Apache 默认 经典,Options Indexes 默认包含,所以目录列出漏洞在 Apache 站最常见
nginx 默认关 autoindex off
IIS(微软) 默认关 目录浏览默认禁用
Tomcat(Java) 默认关 listings=false
Lighttpd / Caddy 默认关