uploads靶场通关(1-11关)

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

Pass-01(JS校验)

uploads靶场通关(1-11关)

看题目我们准备好我们的php脚本文件,命名为1.php

uploads靶场通关(1-11关)

上传该php文件,发现上传失败

uploads靶场通关(1-11关)

方法一:将浏览器的JavaScript禁用

uploads靶场通关(1-11关)

然后就能上传了 

uploads靶场通关(1-11关)

方法二:

查看源码,发现只能上传以下形式的文件

uploads靶场通关(1-11关)

我们将刚才的1.php的后缀改为.jpg

uploads靶场通关(1-11关)

上传该文件并用bp抓包,send to Repeater,将其后缀改回1.php,再send即可上传成功

uploads靶场通关(1-11关)

Pass-02(服务端(后端)验证)

还是上传1.php提示“文件类型不正确,请重新上传”

查看源码,发现本题的漏洞在于后端利用 PHP 的全局数组$_FILES()获取上传文件信息,其只检测content-type字段

uploads靶场通关(1-11关)

而常用的content-type字段有:

image/jpeg :jpg 图片格式

image/png :png 图片格式

image/gif :gif 图片格式

text/plain :纯文本格式

text/xml : XML 格式

text/html : HTML 格式

再次用bp抓包,然后send to Repeater

将content-type字段改为image/jpeg,再点击send,上传成功

uploads靶场通关(1-11关)

打开源文件查看是否上传成功加以验证

uploads靶场通关(1-11关)

Pass-03(文件名后缀校验(黑名单绕过))

直接查看源码吧:

uploads靶场通关(1-11关)

发现只是过滤了一小部分的文件后缀,而利用一些危险的文件后缀还是可以上传的

可以修改为其他的文件后缀如:.php3,.php4,.php5,.phtml,.phps等

我们上传1.php3,可以上传成功

uploads靶场通关(1-11关)

Pass-04(文件名后缀校验(配置文件解析控制))

查看本关源代码发现他把几乎全部的文件后缀名过滤掉了,啊啊啊

uploads靶场通关(1-11关)

但是他又貌似漏掉了.htaccess文件。。。。

那么什么是.htaccess文件呢?

htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess 文 件,可以实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许/阻止特定的用户或者目录 的访问、禁止目录列表、配置默认文档等功能。

解法:上传.htaccess 解析文件,利用其配置,将白名单文件的类型解析成php文件类型。

新建一个txt文件或者php文件,写入如下代码

<FilesMatch "1.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

这段代码意思为:将服务器上的1.jpg文件解析为php文件

保存后将文件名改为.htaccsee(注意:htaccess文件不能起名字,他就是.htaccess文件,如果你将他改为4.htaccess或者其他的什么名字 是不可以的,无法解析。)

再建一个php文件,写入phpinfo()函数,保存后将后缀改为.jpg,我这里为1.jpg

准备工作都完成后,回到题目,先上传.htaccsee文件,再上传1.jpg文件

上传成功后,看不出什么

uploads靶场通关(1-11关)

但我们访问1.jpg,发现他以php的形式显示了出来 

uploads靶场通关(1-11关)

Pass-05(文件名后缀校验(.user.ini解析))

还是直接看源码,非常好,他在过滤了一堆后缀名的基础上,又把上关使用的.htaccess过滤掉了 。。。

uploads靶场通关(1-11关)

没事,我们还有方法——利用.user.ini配置文件

.user.ini比.htaccess 用的更广,不管服务器是 nginx/apache/IIS,当使用 CGI/FastCGI 来解析 php 时,php 会优先搜索目录下所有的.ini 文件,并应用其中的配置。类似于 apache的.htaccess,但语法与.htacces不同,语法跟 php.ini 一致

而php.ini 是 php的配置文件,.user.ini 中的字段也会被 php 视为配置文件来处理,从而导致 php 的文件解析漏洞。 但是想要引发 .user.ini 解析漏洞需要三个前提条件:

服务器脚本语言为PHP

服务器使用CGI/FastCGI模式(上网简单了解)

上传目录下要有可执行的php文件

废话不多说,开始做题:

还是新建一个txt文件或者php文件,写入如下代码:

auto_prepend_file=1.jpg

意思就是将所有的php文件都自动包含1.jpg文件。(.user.ini相当于一个用户自定义的

php.ini)

再将文件名改为.user.ini,上题的1.jpg还能用嘿嘿

那就回题目,先上传.user.ini文件,再上传1.jpg文件,后面的过程就和上一题一样了

其实还有解法二/三....:(这里是第10关解法,后关的解法前关都适用)

直接用 php. .(点空格点), 绕过上传

uploads靶场通关(1-11关)

Pass-06(文件名后缀校验(大小写绕过))

uploads靶场通关(1-11关)

这关连.ini都给过滤了

但但但但但是没有使用strtolower()函数,可以使用大小 写绕过黑名单 把.php 格式改为.Php 上传上去之后,就会自动解析为.php

uploads靶场通关(1-11关)

注意:

Windows 系统下,对于文件名中的大小写不敏感。例如:test.php 和 TeSt.PHP 是一样的。

Linux 系统下,对于文件名中的大小写敏感。例如:test.php 和 TesT.php 就是不一样的。

Pass-07(文件名后缀校验(空格绕过))

uploads靶场通关(1-11关)

又来了,又使用strtolower()函数了,大小写绕过不管用了

没关系,他未做去空格的操作->trim() ,所以还有空格绕过

Windows 系统下,对于文件名中空格会被作为空处理,程序中的检测代码却不能自动删除空格。从而绕 过黑名单。

bp抓包,1.php后加一个空格,上传成功!

uploads靶场通关(1-11关)

Pass-08(文件名后缀校验(点号绕过))

uploads靶场通关(1-11关)

不出所料,trim()函数来了,空格绕过也不行了

可是他对上传的文件后缀名未做去点.的操作 ->deldot(),我们还有点号绕过

接下来就一样了,bp抓包,只需在1.php后加个.就行了!

uploads靶场通关(1-11关)

Pass-09(文件名后缀校验(::DATA绕过))

uploads靶场通关(1-11关)

果然,deldot()函数过滤了点号

但又对上传的文件后缀名没有做去::$DATA 处理

因此我们可以利用::$DATA后缀

Windows 系统下,如果上传的文件名为 1.php::$DATA 会在服务器上生成一个

1.php 的文件,其中内容和所上传文件内容相同,并被解析。

bp抓包,在1.php后加个::$DATA就行了

uploads靶场通关(1-11关)

但访问1.php::$DATA是不行的,还需将 ::$DATA去掉

uploads靶场通关(1-11关)

成功访问!

uploads靶场通关(1-11关)

Pass-10(文件名后缀校验(拼接绕过))

uploads靶场通关(1-11关)

::$DATA绕过不好使了,无话可说,直接上解法:

将文件名进行过滤操作后,将文件名拼接在路径后面,所以需要绕过前面的首尾去空以及去点。

bp抓包,在1.php后加. .(点空格点)就行了 

uploads靶场通关(1-11关)访问成功!

uploads靶场通关(1-11关)

之前有的忘写访问结果了,除了1.php::$DATA需将 ::$DATA去掉外,都能直接访问成功哦!

Pass-11(文件名后缀校验(双写绕过))

uploads靶场通关(1-11关)

利用 str_ireplace()将文件名中符合黑名单的字符串替换成空,总之就是前面的方法都不好使了

解决方式:利用双写黑名单字符,对字符串的一次过滤后拼接出 php,文件名.pphphp

bp抓包,1.php后缀改为.pphphp就行了 

uploads靶场通关(1-11关)

上传成功!文章来源地址https://www.toymoban.com/news/detail-475429.html

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

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

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

相关文章

  • SQL-Labs靶场“11-15”关通关教程

    点击跳转: SQL-Labs靶场“1-5”关通关教程 SQL-Labs靶场“6-10”关通关教程 请求方式 注入类型 拼接方式 POST 联合、报错、布尔盲注、延时盲注 username=‘x’ 看见输入框了,说明该注入提交方式为POST,同时我们先寻找注入点: 在输入框中输入单引号: 我们可以看到产生了报错信

    2024年02月19日
    浏览(30)
  • iwebsec靶场 SQL注入漏洞通关笔记11-16进制编码绕过

    iwebsec靶场 SQL注入漏洞通关笔记1- 数字型注入_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2- 字符型注入(宽字节注入)_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记3- bool注入(布尔型盲注)_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记4- sleep注入(时

    2023年04月24日
    浏览(37)
  • 文件上传漏洞--Upload-labs--Pass07--点绕过

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

    2024年02月21日
    浏览(33)
  • upload-labs通关

    最近,我有个朋友老是反映部署的网站老是被黑客攻击,我看了下就是普通的PHP框架搭建的网站,经过一番排除也清除了木马。为此我专门花1天时间研究一下文件上传漏洞,知己知彼方能百战百胜。这里我选择了一个开源的靶场upload-labs。 Cookie-Editor:https://chrome.google.com/we

    2023年04月08日
    浏览(73)
  • [网络安全]upload-labs Pass-17 解题详析

    读者可参考、订阅专栏:Upload-Labs靶场攻防实战 蚁剑工具的使用可参考: [网络安全]AntSword(蚁剑)实战解题详析(入门) [网络安全]DVWA之File Upload—AntSword(蚁剑)攻击姿势及解题详析合集 后端逻辑代码: imagecreatefrompng是PHP中的一个函数,用于创建一个新的图像资源对象,并从PNG格

    2024年02月06日
    浏览(29)
  • 文件上传漏洞 (upload部分通关教程)

    只适合只有前端验证的网站 一句话木马: 保存到文件中: 使用第一关直接上传,报错: 按照网站要求,修改文件后缀名为jpg: 重新上传111.jpg文件,打开burp抓包,修改包中的后缀名 点击Forword上传,上传成功: 使用蚁剑连接后台步骤: 复制url: 连接成功: 原理就是验证后

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

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

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

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

    2024年02月22日
    浏览(38)
  • Pikachu靶场通关记录(详细)

    Pikachu是一个带有漏洞的Web应用系统,在这里包含了常见的web安全漏洞。 如果你是一个Web渗透测试学习人员且正发愁没有合适的靶场进行练习,那么Pikachu可能正合你意。 Burt Force(暴力破解漏洞) XSS(跨站脚本漏洞) CSRF(跨站请求伪造) SQL-Inject(SQL注入漏洞) RCE(远程命令/代码执行

    2024年04月16日
    浏览(34)
  • Postswigger 靶场 XSS 通关

    靶场地址:All labs | Web Security Academy (portswigger.net)。 在页面上没有输入框,进入到博客中查看。 在博客的留言版中输入我们的攻击代码 点击返回博客 成功弹框 输入攻击代码查看页面反应 发现我们的攻击代码被传递到了img标签中,这里我们可以尝试将该标签闭合。 构造攻击

    2024年02月05日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包