|
Pikachu不是漏洞宝可梦。至少在这个语境里不是测试。它是平台一个国产的Web漏洞测试平台,名字取自那只黄色电气老鼠,漏洞但打开它的测试一瞬间,你看到的平台不是皮卡丘,而是漏洞一排排漏洞分类菜单——SQL注入、XSS、测试CSRF、平台文件包含、漏洞命令执行。测试界面朴素得像十年前的平台CMS后台,但每一行代码都是漏洞故意写错的。 我第一次搭Pikachu是测试在一台吃灰的树莓派上。docker pull,平台docker run,两分钟完事。浏览器敲进localhost:8080,跳出来的页面甚至没有像样的登录动画。开发者大概觉得花哨没用,能练手就行。这种气质在安全圈里反而讨喜——工具越丑,往往越硬核。 它到底在“漏”什么 Pikachu把漏洞拆成模块,每个模块底下挂着几个具体场景。比如SQL注入那一章,有数字型、字符型、搜索型,还有盲注。你点进去,输入框就摆在正中间,旁边一行小字提示“试试输入1' or '1'='1”。这等于把答案写在题面上,但新手恰恰需要这种直白。我见过有人对着DVWA的英文说明发愣,换到Pikachu的中文提示,十分钟就打通了第一关。 XSS模块更细。反射型、存储型、DOM型,每种都给了可提交的留言板或搜索框。你插一段<script>alert(1)</script>,页面弹窗,漏洞成立。存储型那个页面尤其真实——留言会留在数据库里,刷新还在,跟早年论坛被挂马一模一样。这种“留痕”设计比一次性弹窗更有教学价值,它让你意识到XSS不是弹个框就完事,而是能持久污染页面的。 为什么是Pikachu,不是DVWA DVWA是老牌靶场,但全英文,且有些漏洞环境依赖PHP版本,搭起来容易翻车。Pikachu用中文,文档齐全,Docker镜像也维护得勤。更重要的是,它把“代码审计”和“黑盒测试”揉在一起。每个漏洞点旁边有个“查看源码”按钮,点开就是那段有问题的PHP。你一边在输入框里构造payload,一边能对照源码看它为什么没过滤。这种即时反馈在真实渗透里很少见——真实环境里你只有黑盒,看不到后端。但学习阶段,能看到因果链比什么都重要。 我在一个安全培训课上见过讲师用Pikachu演示CSRF。他先让学员登录,然后打开另一个页面,里面藏着一个自动提交的表单,目标指向Pikachu的修改密码接口。学员点了一下“领取奖励”,密码就被改了。整个过程不到五秒,台下有人“啊”了一声。这种冲击力比讲十页PPT都管用。 局限也很明显 Pikachu的漏洞环境是静态的,没有WAF,没有日志告警,也没有真实业务里的层层过滤。你在这里练熟了,到真实站点可能连个报错都看不到。它更像游泳馆的浅水区,淹不死人,但能让你学会换气。想进阶还得去摸真实靶场,比如VulnHub的虚拟机,或者自己搭一套带ModSecurity的环境。 另外,它的更新节奏偏慢。PHP 8普及后,部分模块在旧镜像里会报弃用警告。社区有人提了issue,维护者回得不算快。好在漏洞原理没变,SQL注入还是那个SQL注入,XSS还是那个XSS,换个PHP版本照样能练。 我现在的用法是把它当“错题本”。每次在真实项目里遇到一个绕过的过滤规则,就回头在Pikachu里复现一遍,看看原始漏洞长什么样。它不华丽,不智能,甚至有点土。但土得踏实。就像那只黄色老鼠,招式不多,十万伏特管够。 |