环境配置

  1. 需要的东西

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

  1. 上述安装解压后,打开 phpstudy,点击启动

QQ_1732271061098

  1. 然后在本地浏览器输入 127.0.0.1 打开,显示如下界面表示成功

QQ_1732271133489

  1. upload-labs-master 解压后的整个文件目录复制到 .../PHPTutorial/WWW...,比如我的 C:\phpStudy2018\PHPTutorial\WWW,建议是将整个文件目录复制过来,修改目录名称为 upload(复制整个目录是因为防止文件零散,以后不便于管理)

QQ_1732271315958

  1. upload-labs-master (重命名的 upload) 根目录下创建 upload 文件夹,用来存储我们上传的文件,如果存在就不需要创建了

QQ_1732271489255

  1. 在浏览器输入 127.0.0.1/upload 或者未重命名的 127.0.0.1/upload-labs-master ,或者如果不是复制整个目录,而是目录中的文件到上述目录中,直接 127.0.0.1 即可

QQ_1732271596089

闯关

基本就是通过文件上传,上传具有攻击性的文件,跳过只能传 png、jpg 等图片格式文件的限制

  1. php 版本调整为 php-5.2.17

QQ_1732269806040

  1. phpstudy 的软件根目录下找到对应的版本的 php 的文件目录下的 php.ini 文件,比如我的在 C:\phpStudy2018\PHPTutorial\php\php-5.2.17

QQ_1732269997308

  1. 以记事本方式打开这个文件,通过 php.ini 文件关闭 magic_quotes_gpc

QQ_1732269944884

  1. 创建一个恶意文件,如 shell.php 文件
<?php phpinfo(); ?>
  1. 打开 Burpsuit 软件,点击 open browser

QQ_1732274370172

  1. 在地址栏中输入 127.0.0.1/upload 进入靶场,然后点击 pass-12 ,选择上传的文件,准备上传

QQ_1732274460548

  1. Burpsuite 中,点击 intercept is off 变为 intercept is on

QQ_1732274491172

  1. 回到靶场,点击上传,然后回到 Burpsuite ,会发现捕捉到了信息
  2. 将捕捉到的信息修改,把 upload/ 后面加上 shell.php%00(注意是零),并把 filename="shell.php" 改为 shell.png,然后点击 forward 放行这个请求

QQ_1732274612857

  1. 然后回到靶场主界面,会发现上传成功了,此时按 F12 会发现上传的文件的存在位置

QQ_1732274800535

  1. 在浏览器中访问上传文件的路径(不是在那个 Burpsuite 中的那个 open browser 打开的地址栏,在本地浏览器中),例如 http://127.0.0.1/upload/upload/shell.php ,如果成功执行了 PHP 代码,说明攻击成功。因为我重命名 upload-labs-masterupload,在这个子目录下的 upload 才是上传文件的保存路径,所以写了两个 upload

QQ_1732274875195


说明:参考:https://didiplus.kwpmp.cn/archives/KLNX7S9x

只管努力,剩下的交给天意