环境配置
- 需要的东西
phpstudy-2018
链接: https://pan.baidu.com/s/1D9l13XTQw7o6A8CSJ2ff9Q
提取码:0278
32位 vc9和11运行库
链接: https://pan.baidu.com/s/1pBV3W8UWJe0bmDl_cPFDQw
提取码:0278
upload-labs-master 靶场
链接: https://pan.baidu.com/s/1ERYzrlBe94PAi3A-WagLAw
提取码:0278
Burpsuite 安装
官网: Professional / Community 2024.9.5 | Releases
- 上述安装解压后,打开
phpstudy
,点击启动
- 然后在本地浏览器输入
127.0.0.1
打开,显示如下界面表示成功
- 将
upload-labs-master
解压后的整个文件目录复制到.../PHPTutorial/WWW...
,比如我的C:\phpStudy2018\PHPTutorial\WWW
,建议是将整个文件目录复制过来,修改目录名称为upload
(复制整个目录是因为防止文件零散,以后不便于管理)
- 在
upload-labs-master
(重命名的upload
) 根目录下创建upload
文件夹,用来存储我们上传的文件,如果存在就不需要创建了
- 在浏览器输入
127.0.0.1/upload
或者未重命名的127.0.0.1/upload-labs-master
,或者如果不是复制整个目录,而是目录中的文件到上述目录中,直接127.0.0.1
即可
闯关
基本就是通过文件上传,上传具有攻击性的文件,跳过只能传
png、jpg
等图片格式文件的限制
- 将
php
版本调整为php-5.2.17
- 去
phpstudy
的软件根目录下找到对应的版本的php
的文件目录下的php.ini
文件,比如我的在C:\phpStudy2018\PHPTutorial\php\php-5.2.17
- 以记事本方式打开这个文件,通过
php.ini
文件关闭magic_quotes_gpc
- 创建一个恶意文件,如
shell.php
文件
<?php phpinfo(); ?>
- 打开
Burpsuit
软件,点击open browser
- 在地址栏中输入
127.0.0.1/upload
进入靶场,然后点击pass-12
,选择上传的文件,准备上传
- 在
Burpsuite
中,点击intercept is off
变为intercept is on
- 回到靶场,点击上传,然后回到
Burpsuite
,会发现捕捉到了信息 - 将捕捉到的信息修改,把
upload/
后面加上shell.php%00
(注意是零),并把filename="shell.php"
改为shell.png
,然后点击forward
放行这个请求
- 然后回到靶场主界面,会发现上传成功了,此时按
F12
会发现上传的文件的存在位置
- 在浏览器中访问上传文件的路径(不是在那个
Burpsuite
中的那个open browser
打开的地址栏,在本地浏览器中),例如http://127.0.0.1/upload/upload/shell.php
,如果成功执行了 PHP 代码,说明攻击成功。因为我重命名upload-labs-master
为upload
,在这个子目录下的upload
才是上传文件的保存路径,所以写了两个upload