[CTF/网络安全]攻防世界 easyupload 解题详析

这篇具有很好参考价值的文章主要介绍了[CTF/网络安全]攻防世界 easyupload 解题详析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

姿势

题目描述:一名合格的黑客眼中,所有的上传点都是开发者留下的后门

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全

惯例,上传一句话木马

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全

回显如下:

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全
也就是说文件被过滤

抓包改后缀,.php1~.php9、.htaccess均被过滤(.htaccess 文件是一个用于配置 Apache Web 服务器的配置文件。它通常位于网站根目录或特定目录中,用来为该目录及其子目录提供特定的配置指令):

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全

由于后端逻辑验证多为php文件实现,故可使用fastcgi的.user.ini特性进行任意命令执行。

.user.ini文件是php.ini的补充文件,当网页访问的时候就会自动查看当前目录下是否有.user.ini,然后将其补充进php.ini,并作为cgi的启动项。其中很多功能设置了只能php.ini配置,但是还是有一些危险的功能可以被我们控制,比如auto_prepend_file。

auto_prepend_file 是 PHP 配置选项之一,用于指定一个在每个 PHP 脚本执行前自动包含的文件。

当 auto_prepend_file 配置启用后,PHP 在执行每个脚本之前会自动将指定的文件包含进来,作为脚本的一部分。这个文件可以包含一些通用的代码、函数、类或初始化操作,以便在每个脚本中都能自动执行。

因此,我们可以传入.user.ini文件,通过auto_prepend_file将含有一句话木马的文件名称包含到每个文件中。然后再上传该文件

步骤如下:

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全

由于内容为qiu.jpg,故抓包后要将Content-Type(内容类型)由application/octet-stream改为image/jpg

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全
放包,回显说明文件名称不对

因此重新抓包,添加图片头GIF89a

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全

放包,回显文件上传成功:

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全

接着新建qiu.jpg,内容如下:

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全

直接上传即可:

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全
查看文件上传路径:

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全

自此,整个文件上传流程已完成,在执行脚本之前,程序都会执行.user.ini文件,从而包含qiu.jpg,而qiu.jpg中含有一句话木马,故我们可以使用蚁剑连接根目录。

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全
得到flag:

[CTF/网络安全]攻防世界 easyupload 解题详析,网络安全,# CTF赛题,# 文件上传漏洞,web安全,安全,CTF,文件上传,网络安全


总结

以上为 [CTF/网络安全] 攻防世界 easyupload 解题详析,考察文件上传及相关知识点,读者可躬身实践。

提示:只要是运用了fastcgi的服务器都能够利用该方式getshell,不论是apache或者ngnix或是其他服务器。

我是秋说,我们下次见。文章来源地址https://www.toymoban.com/news/detail-715381.html

到了这里,关于[CTF/网络安全]攻防世界 easyupload 解题详析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • [CTF/网络安全] 攻防世界 simple_php 解题详析

    题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。 $a=@$_GET[\\\'a\\\']; 从HTTP GET请求参数中获取一个名为a的变量,并将其赋值给变量a。@符号用于禁止错误输出,如果不存在参数a则会将变量a设置为NULL。 $b=@$_GET[\\\'b\\\']; 从HTTP GET请求参数中获取一个名为b的变量,

    2024年02月13日
    浏览(45)
  • [CTF/网络安全] 攻防世界 disabled_button 解题详析

    题目描述:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢? 题目提示 前端知识 ,由HTML相关知识可知,该按钮 即input标签 不能提交的原因有以下六种: 没有包含在表单中: input 标签必须包含在表

    2024年02月07日
    浏览(53)
  • [CTF/网络安全] 攻防世界 command_execution 解题详析

    题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。 ping 命令是一个常用的网络命令,用于测试两台计算机之间网络连接的连通性。通过向目标计算机发送 ICMP 协议的数据包,并等待目标计算机返回响应数据包来测试网络的可达性,同时

    2024年02月06日
    浏览(46)
  • [CTF/网络安全] 攻防世界 fileinclude 解题详析(php伪协议)

    由于index.php在/var/www/html目录下,而flag.php与index.php同为php文件,故猜想flag.php也在该目录下。 查看页面源代码获取更多信息: 源代码中看到 @include($lan.\\\".php\\\"); ,即此处存在文件包含。 又因为 $lan = $_COOKIE[\\\'language\\\']; 因此解题思路为:利用php伪协议,构造language参数,来读取该目

    2024年02月07日
    浏览(43)
  • [CTF/网络安全] 攻防世界 view_source 解题详析

    题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。 单击鼠标右键,点击查看页面源代码: 使用浏览器菜单:不同的浏览器可能会在不同的位置提供查看页面源代码的选项。 以Firefox为例,打开应用程序菜单即可: 使用快捷键:几乎

    2024年02月13日
    浏览(55)
  • [CTF/网络安全] 攻防世界 wife_wife 解题详析

    该题涉及Java Script原型链污染:JavaScript 原型链污染讲解 可以看到,后端编程语言为Node.js, 简单来讲,通过 newUser.__proto__ 可以访问到新对象的原型 未污染时: 污染时: 我们以知识点的利用为主,查看源代码: 若isAdmin的属性是true,则它为管理员,否则为普通用户;于是我

    2024年02月06日
    浏览(46)
  • [CTF/网络安全] 攻防世界 php_rce 解题详析

    PHP RCE 指的是通过远程代码执行漏洞(Remote Code Execution)来攻击 PHP 程序的一种方式。简单来说,由于PHP应用程序没有正确处理外部输入数据(如用户提交的表单、请求参数等),攻击者通过某些手段向 PHP 应用程序中注入恶意代码,然后通过这些恶意代码实现对受攻击服务器

    2024年02月06日
    浏览(50)
  • [CTF/网络安全] 攻防世界 file_include 解题详析(php伪协议+convert转换过滤器)

    题目描述:怎么读取文件呢? 思路: 由代码审计可知,可通过filename参数构造POC,来读取check.php POC的构造涉及PHP伪协议,参考链接: 文件包含 | PHP伪协议实战 POC: 回显如下: 猜测被过滤,怎么办呢? 该题涉及到 convert转换过滤器 常见的convert转换过滤器有这两种:

    2024年02月07日
    浏览(67)
  • [CTF/网络安全] 攻防世界 Web_php_include 解题详析(php伪协议、data伪协议、file伪协议)

    这段代码首先通过 show_source(__FILE__) 显示当前文件的源代码,然后通过 $_GET[\\\'hello\\\'] 显示 URL 参数中名为 hello 的值。 接下来,代码使用 $_GET[\\\'page\\\'] 获取 URL 参数中名为 “page” 的值,并进行字符串替换,将 php:// 替换为空字符串 这是为了防止通过 URL 参数加载本地文件或其他可

    2024年02月08日
    浏览(46)
  • [CSAW/网络安全] Git泄露+命令执行 攻防世界 mfw 解题详析

    Home界面: Home界面翻译如下: 欢迎访问我的网站! 我自己从头开始写的! 您可以使用上面的链接浏览页面! About界面: 观察到 Git ,联想 Git泄露 Git是一个非常流行的开源分布式版本控制系统,它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管

    2024年02月06日
    浏览(56)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包