基于pikachu的XSS攻击环境搭建
XSS 攻击环境搭建思路
pikachu 平台中 app/pkxss 目录,黑客设置的远程响应目录,用于接收受害者在不知情的情况下发送给黑窝的关键信息。
该目录就是一个小网站,建议将该目录单独部署。
我的部署环境如下:
- docker 中运行 pikachu 平台,模拟对公众进行正常服务的网站。(完成)
- 访问路径:http://localhost:8000,部署在 docker 容器中。
- 物理机上搭建 phpstudy,用来存放 pkxss 目录。模拟黑客搭建的用以接收正常网站传回的信息。
这相当于两个网站,分别模拟受害服务器和黑客服务器。也可以将 pikachu 和 pkxss 放在一起。
在物理机上安装 phpstudy 平台
物理机上的 phpstudy 平台,用来模拟黑客接收敏感数据的网站。
官网地址:https://www.xp.cn/
根据自己的 OS 下载并安装对应的平台。此文档以 MacOS 平台为例,兼容其他的平台。
本次使用 apache,当做 php 的服务器。
注意 apache 解析的网站的物理地址:
- MacOS 中物理地址位于:/Applications/phpstudy/WWW。
- 在 windows 中物理地址位于:盘符:/phpstudy_pro/WWW。
安装完成后,把测试文件 test.php,放到对应的 WWW 目录中,并启动 apache,测试是否成功。
从容器中往物理主机拷贝文件或目录
黑客服务器代码位于容器中的 pkxss 目录中,具体如下:
需要将这个目录从容器中拷贝到物理主机中的 apache 相应的目录中。
从容器中向物理主机拷贝可以使用 docker 命令:docker cp
语法如下:
docker cp 容器名:源路径 目标路径
具体代码如下:
sudo docker cp pikachu:/app/pkxss /Applications/phpstudy/WWW/pkxss #mac
sudo docker cp pikachu:/app/pkxss /mnt/盘符/phpstudy_pro/WWW/pkxss #ubuntu
X:\phpstudy_pro\WWW>docker cp pikachu:/app/pkxss /pkxss #windows
解析:
- pikachu:是容器名,这里是 docker 的规定写法。
- /app/pkxss 是容器中的源目录,/Applications/phpstudy/WWW/pkxss 是主机中的目标目录
- 第二行中的/mnt/x/...中的 x 指的是盘符,这里的 x 只是一个占位符。
执行以上代码后,容器中的 pkxss 目录和其中的所有的文件、子目录都被拷贝到了 apache 的目录中。
linux 中的 cp 命令
cp 是缩写,完成的写法是 copy。其作用是拷贝,一般后面跟两个选项,第一个是源文件或源目录;第二个是目标文件或目标目录。
cp test.html ./pkxss/test1.html
以上代码的意思是从当前目录中拷贝 test.html 文件到当前目录的 pkxss 子目录中,并改名为 test2.html。
启动 apache,尝试运行 pkxss 网站,输入如下 URL:
http://localhost/pkxss
修改 MySQL 的默认密码
phpstudy 中的 MySQL 的默认用户是 root,默认密码也是 root。一般建议修改一下。如果直接通过 MySQL 来修改的话,需要多敲好几行代码,可以直接利用 phpstudy 来进行修改。具体方式如下图所示:
修改密码完成之后,在 pkxss 目录的子目录 inc 中找到 config.inc.php 文件 ,将其中的 DBPW 的值改成新修改的密码即可。如下:
config.inc.php 文件是 pkxss 目录中所有 php 文件都经加载的配置文件,该文件对当前网站进行全局设置,并指定了相应的 MySQL 数据库。
运行网站
最后就是运行并登录了。并根据提示进行数据库的初始化。
- 感谢你赐予我前进的力量