upload-labs文件上传靶场实操

这篇具有很好参考价值的文章主要介绍了upload-labs文件上传靶场实操。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


upload-labs文件上传靶场实操,web安全
上传姿势总结:
1)改后缀名绕过
2)Content-Type绕过
3)本地文件包含
4)远程文件包含
5)httpd.conf黑名单绕过
6)htaccess绕过
7)大小写绕过
8)空格绕过
9)点绕过
10)特殊符号::$DATA绕过
11). .绕过
12)多写绕过(多写php)
13)%00截断目录绕过
14)16进制00截断目录
15)本地文件包含+文件头绕过
16)本地文件包含+图片马绕过
17)条件竞争绕过(二次渲染)
18)条件竞争+白名单上传7z+脚本执行
19)重命名数组法绕过

1.Pass-01

改后缀名绕过
只能上传图片,先上传一个jpg格式的图片,然后抓包改格式
改成3.php,以及Content-Type
Content-Type: application/octet-stream
upload-labs文件上传靶场实操,web安全

上传成功后点击图片位置右键获取链接
upload-labs文件上传靶场实操,web安全

得到http://127.0.0.1:9005/upload/3.jpg
改成php格式的就是payload
http://127.0.0.1:9005/upload/3.php
upload-labs文件上传靶场实操,web安全

2.Pass-02

Content-Type绕过
使用上一关的方法还是提示报错,说明存在过滤
upload-labs文件上传靶场实操,web安全

这里的办法是使用重复类型Content-Type
即既然它以Content-Type为准,那么我就先给他一个正确的Content-Type,然后再改后缀为.php

发现上传成功
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全upload-labs文件上传靶场实操,web安全

getshell成功

3.Pass-03

方法一:本地文件包含
直接上传非php文件,使用本地包含文件getshell
upload-labs文件上传靶场实操,web安全upload-labs文件上传靶场实操,web安全
远程文件包含注意点
1.在php.ini中需要allow_url_include = on和allow_url_fopen= on
2.所需的远程文件后缀不能与目标服务器的语言相同,如目标服务器解析PHP代码,则远程文件后缀不能为.php。
比如远程服务上有如下两个文件
upload-labs文件上传靶场实操,web安全

我们发现php格式的链接不了,而txt格式的反而可以
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

方法二:httpd.conf黑名单绕过
黑名单规则不严谨,在某些特定环境中某些特殊后缀仍会被当作php文件解析
php、php2、php3、php4、php5、php6、php7、pht、phtm、phtml
upload-labs文件上传靶场实操,web安全

但是以上方法对nts版本的apache无效,需使用类似如下的版本
upload-labs文件上传靶场实操,web安全

然后在httd.conf新增类型,再重启服务就可以解析php4了
upload-labs文件上传靶场实操,web安全upload-labs文件上传靶场实操,web安全

4.Pass-04

htaccess绕过
upload-labs文件上传靶场实操,web安全

但是看来被过滤了
upload-labs文件上传靶场实操,web安全

上传htaccesss试下
upload-labs文件上传靶场实操,web安全

该文件的意思是,只要遇到文件名中包含有”backlion.jpg”字符串的任意文件,统一被当作php执行。如果这个” backlion.jpg”的内容是一句话木马,即可利用中国菜刀进行连接
前提条件是:大于等于php版本5.3.39以下
upload-labs文件上传靶场实操,web安全

成功了
那么上传一个backlion.jpg的文件试下
upload-labs文件上传靶场实操,web安全

上传成功,也被解析了
upload-labs文件上传靶场实操,web安全

使用菜刀成功getshell

upload-labs文件上传靶场实操,web安全upload-labs文件上传靶场实操,web安全

5.Pass-05

大小写绕过
这关过滤了htaccess
upload-labs文件上传靶场实操,web安全upload-labs文件上传靶场实操,web安全

但是,只是通过大小写就上传成功了
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

6.Pass-06

空格绕过
upload-labs文件上传靶场实操,web安全upload-labs文件上传靶场实操,web安全

测试的时候可以这样测
3.php
3.php .jpg
3.php . .jpg
3.php . . jpg

7.Pass-07

点绕过
upload-labs文件上传靶场实操,web安全upload-labs文件上传靶场实操,web安全

8.Pass-08

特殊符号::$DATA绕过
upload-labs文件上传靶场实操,web安全upload-labs文件上传靶场实操,web安全

测试是需把::$DATA删掉
upload-labs文件上传靶场实操,web安全

9.Pass-09

. .绕过
upload-labs文件上传靶场实操,web安全

执行后会自动去掉最后一个点
upload-labs文件上传靶场实操,web安全

然后保存时又会去掉最后1个点
结果就保存了5.php
upload-labs文件上传靶场实操,web安全

10.Pass-10

多写绕过
upload-labs文件上传靶场实操,web安全

会自动删掉php
upload-labs文件上传靶场实操,web安全

那么我就多写绕过
upload-labs文件上传靶场实操,web安全upload-labs文件上传靶场实操,web安全

11.Pass-11

%00截断目录
由于目录可控,且是百名单过滤,因此使用%00截断
并新建55.php,而filename里依旧上传jpg
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

12.Pass-12

16进制00截断目录
这关目录还是可控
upload-labs文件上传靶场实操,web安全

33.php的16进制后面加00
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

上传后会自动新建33.php而抛弃后面的.jpg
upload-labs文件上传靶场实操,web安全

13.Pass-13

本地文件包含+文件头绕过
文件头简介,不同的图片文件都有不同文件头,如:
PNG: 文件头标识 (8 bytes) 89 50 4E 47 0D 0A 1A 0A
JPEG: 文件头标识 (2 bytes): 0xff, 0xd8
GIF: 文件头标识 (6 bytes) GIF89a
白名单过滤,而且必须在内容里添加图片文件头,根据文件头生成图片
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

jpg需要输入16进制的ffd8

upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

png文件头是16进制的8950
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

但是试想这一关如果没有文件包含漏洞的话又该怎么破呢

14.Pass-14

本地文件包含+图片马
和上一关一样,提示还是使用文件包含和图片马
GIF89a
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

Jpg 需在cmd使用copy命令制作图片马绕过
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

Png 89 50 4E 47 0D 0A 1A 0A
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

15.Pass-15

本地文件包含+图片马
源代码提示需开启php_exif
upload-labs文件上传靶场实操,web安全

打开php.ini
把;extension=php_exif.dll前面的;去掉就行,然后重启服务
upload-labs文件上传靶场实操,web安全

GIF:GIF89a
upload-labs文件上传靶场实操,web安全

Jpg 需制作图片马
upload-labs文件上传靶场实操,web安全

Png:
‰PNG

upload-labs文件上传靶场实操,web安全

16.Pass-16

二次渲染+条件竞争
这关好像用到了二次渲染,因为上传后的图片马都找不到一句话木马了
针对二次渲染,需要用到一个对比工具Emeditor,找出没有改动的那块贴进一句话木马进去
首先把一句话木马复制出来
upload-labs文件上传靶场实操,web安全

3C 3F 70 68 70 20 40 65 76 61 6C 28 24 5F 50 4F 53 54 5B 22 66 6E 61 6D 65 22 5D 29 3B 3F 3E 1A
然后找到没有改动的地方
upload-labs文件上传靶场实操,web安全

这里我们选择下面的
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

保存出来再试下
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

Jpg和PNG的情况使用之前的方法搞不定,因为jpg是压缩编码的,据说需要使用脚本实现,而且成功率不高,而png几乎找不到没改动的,这两个单独提取出来做一个任务
解决方法是使用条件竞争实现,具体操作可参考
https://blog.csdn.net/wutiangui/article/details/131474195
Png格式
upload-labs文件上传靶场实操,web安全

Jpg格式
upload-labs文件上传靶场实操,web安全

17.Pass-17

条件竞争
17关也可以沿用上一关的做法,只是这里其实可以直接上传php,不需要文件包含
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

18.Pass-18

条件竞争+白名单上传7z+脚本执行
这关同样用到条件竞争,逻辑是先上传,如果是白名单里的则重命名,否则删除

import html
import requests
from threading import Thread
url="http://127.0.0.1/upload/uploadphpinfocmd.php.7z"
url2="http://127.0.0.1/upload/shell.php"
def request():
    global html
    global html_2
    html = requests.get(url)
    print(html.status_code)
    html_2=requests.get(url2)

while True:
    t=Thread(target=request())
    t.start()
    if html_2.status_code==200:
        print("shell已生成")
        break

因此这里先上传一个白名单的文件*.7z
upload-labs文件上传靶场实操,web安全

重复1000次,然后开启py脚本去访问这个生成的7z,去执行里面的代码
可以发现很快就跑出结果来了
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

19.Pass-19

条件竞争+白名单上传7z+脚本执行
和上关同样
先持续上传1000次,生成*.7z
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

然后脚本追踪这个文件
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全

20.Pass-20

重命名数组法
最后一关7z也被白名单过滤了
upload-labs文件上传靶场实操,web安全

最后的做法还是只能参考别人的,就是使用数组法增加一个不支持的,最后一个使用支持的格式
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全
upload-labs文件上传靶场实操,web安全文章来源地址https://www.toymoban.com/news/detail-712424.html

到了这里,关于upload-labs文件上传靶场实操的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • upload-labs1-21关文件上传通关手册

    看源码可知道 仅让上传此三类的文件类型,其他都不可以上传。 上传会有js弹窗,前端检查(前端校验): 我们可以有三种绕过方法: 第一种:关闭网页的js提示弹窗 第二种:检查源代码,进行修改 第三种:利用burp进行抓包,修改上传的文件后缀.php 第一种: 在火狐浏览

    2024年02月09日
    浏览(34)
  • 文件上传漏洞--Upload-labs--Pass07--点绕过

    在Windows系统中,Windows特性会将文件后缀名后多余的点自动删除,在网页源码中,通常使用 deldot()函数 对点进行去除,若发现网页源代码中没有 deldot() 函数,则可能存在 点绕过漏洞。通过点绕过漏洞,可以达到上传含有恶意代码的文件的目的。 1、首先进行代码审计,发现网

    2024年02月21日
    浏览(32)
  • upload-labs靶场安装

      服务器环境:phpstudy   下载链接:https://www.xp.cn/   靶场:upload-labs   下载链接:https://github.com/c0ny1/upload-labs    百度网盘:https://pan.baidu.com/s/1pu9tVCFKk5NZ3v9r1QZlOA?pwd=0432   提取码:0432   PhpStudy国内12年老牌公益软件,集安全,高效,功能与一体,已获得全球用

    2024年02月05日
    浏览(51)
  • 文件上传漏洞--Upload-labs--Pass13&&14&&15--图片马

    顾名思义,图片马即 图片 + 木马。将恶意代码插入图片中进行上传,绕过白名单。 图片马制作流程: 1、在文件夹中打开 cmd,输入指令。 /b:二进制、 /a:追加。即将 test.php 追加到 test.jpg 中生成新图片 new.jpg。 1、首先进行代码审计,源代码中使用白名单,判断文件类型,

    2024年02月22日
    浏览(38)
  • 文件上传漏洞--Upload-labs--Pass05--大小写绕过

    我们想要上传含有恶意代码的 .php 文件,但 .php 后缀名的文件可能会被 白名单 或 黑名单拦截,从而上传失败,在某些源代码中,没有对文件的后缀用 strtolower()函数 统一进行小写化,这就会存在大小写漏洞,我们可以将 test.php 写作 test.Php,这样就可以绕过源码中的黑名单,

    2024年02月20日
    浏览(43)
  • upload-labs靶场的安装搭建

    1、首先安装phpstudy的环境,下载进行安装 2、然后到GitHub去下载upload-labs的源码 GitHub:https://github.com/Tj1ngwe1/upload-labs 3、将下载的压缩包解压到phpstudy文件,phpstudy/www网站的根目录下。 4、本地浏览器访问127.0.0.1/upload-labs/就可以访问靶场了 在镜像仓库搜索upload-labs镜像 将uploa

    2024年02月13日
    浏览(37)
  • Upload-labs 1-21关 靶场通关笔记(含代码审计)

    目录 Pass-01(JS前端验证)  方法一:删除JS验证   方法二:先上传符合要求的图片 再在burp里面修改后缀即可 Pass-02(MIME验证) 前置知识$_FILES Pass-03(php3、phtml绕过黑名单) Pass-04(.htaccess绕过黑名单)  前置知识 .htaccess 思路一  思路二 思路三 ​编辑 Pass-05(.user.ini黑名单

    2023年04月09日
    浏览(30)
  • 文件上传 —— 靶场upload-labs-master

    链接:https://pan.baidu.com/s/1I7nwmMdt9XB2AbcYQJ3_eA 提取码:1234 简介:个人学习记录 目录 一、前端js验证 二、mime类型绕过 三、黑名单绕过 四、.htaccess文件配置文件漏洞,无过滤 五、考查 .user.ini文件 六、大小写 七、trim()去空操作 八、winous特性,以.结尾无效 九、::$data 十、一次过

    2024年02月05日
    浏览(34)
  • 文件上传upload-labs第三关,Apache无法解析php3、php5等问题

    修改文件后缀名为php5,上传后。无法解析php5 参考网上众多教程,修改httpd.conf配置文件: 添加.php3 .php5 phtml,大部分都可以解决 PHPStudy中AddType application/x-httpd-php等Apache命令之所以在Apache的设置文件中设置后未实现目标效果是由于PHP的版本不符导致的 修改版本,切换到如图所

    2024年02月12日
    浏览(40)
  • CTF 三大测试靶场搭建:DVWA、SQLi-LABS、upload-labs 靶场部署教程(VM + CentOS 7 + Docker)

    目录 前言 靶场介绍 DVWA SQLi-LABS upload-labs 靶场搭建 CentOS 7 虚拟环境准备 靶场环境部署 系统环境配置 Docker 环境配置 下载 Docker 配置 Docker 镜像源 启动 docker  靶场配置 靶场镜像抓取 创建并运行 docker 容器 靶场的访问  靶场的初始化 DVWA 靶场重置 SQLi-LABS 靶场重置 upload-labs 靶

    2024年01月24日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包