Web安全攻防世界06 easyupload

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

问题描述

攻防世界 easyupload,# 攻防世界,php,web安全

这道题我挣扎了很久,还是没有解出来,详细错误解题思路可以参考另一篇博文~(#_<-)

CTF 总结01:文件上传绕过_梅头脑_的博客-CSDN博客

↑博文很啰嗦地讲述了我用蚁剑连接一句话木马花式写法的各种失败姿势,面对文件上传一步一个坑的绝望心态,欢迎同伴围观、吐槽和指点~

———————————————————————————————————————————

大佬的WP:攻防世界WEB练习-easyupload_不知名白帽的博客-CSDN博客_easyupload

工具:Burpsuite、蚁剑;

解题基本流程:

1).user.ini文件增加图片头→上传.user.ini,burpsuite抓包修改文件类型

2)php短标签木马增加图片头→修改文件后缀→上传图片→回显图片上传地址

3)蚁剑→连接上传地址同目录的php文件(不可以直接连接非.php后缀的图片)

大佬的WP已经非常详细了,因此具体解题步骤不再搬运,本文仅为上述流程加粗部分涉及的知识点补充注脚:

1 php短标签

2 图片马的头部类型

3 .user.ini配置文件

(●'◡'●)顺便说一下,答案是 cyberpeace{ea48baaa2c8fad7d2898b7d430d0e338} ,题目会经常变更flag,所以只是短期有效哦~


思路分析

1 php短标签

php中最常见的标签为<?php ?>~

<?php @eval($_POST['a']);?>

不过在题目上传时可能会被waf过滤掉php关键字。根据查询结果,还有四种php的标签,分别是:

①<? ?> 仅在配置short_open_tag=on时可以使用,适合执行php语句;

②<?= ?>即使配置short_open_tag=off时依然可以使用,相当于<?php echo ?>,适合输出php语句~

上述二者的短标签都不必闭合(即?>可以省略不写,也可以连接成功)~

<?  @eval($_POST['a']);?>
 
<?= @eval($_POST['a']);?>
 
<?  @eval($_POST['a']);
 
<?= @eval($_POST['a']);

③<% %> 据说需要配置php.ini文件中asp_tags=on(php.ini默认状态下是关闭的),但是我没有在php.ini中找到该选项...

④<script language="php"></script>  php7及之后官方就已经不支持的写法,呃不过我在php5的环境中也没有能够连接成功...

————————————

不重要插曲:自己是下载phpstudy搭建的环境,需要寻找php.ini文件,这个可以在phpinfo页面显示,输入下面的代码,打开服务器与浏览器~

<?php phpinfo(); ?>

 打开网页后发现只显示源码...

攻防世界 easyupload,# 攻防世界,php,web安全​ 经过查询原来是网站状态过期了...

攻防世界 easyupload,# 攻防世界,php,web安全

 点击左上角再创建一个网站,重启apache服务就好啦~

攻防世界 easyupload,# 攻防世界,php,web安全

 嗯...这个码打得不是很有灵魂...

————————————

php短标签参考1:php中的短标签 太坑人了 - dongguol - 博客园 (cnblogs.com)

php短标签参考2:无字母数字webshell总结 - 先知社区 (aliyun.com)

2 图片马的头部类型

图片马需要在.php文件前增加文件头,上传时偶尔需要配合burpsuite抓包修改content-type,常见图片搭配格式如下表所示:

文件格式 php 文件头 content-type
.jpg .jpe .jpeg JPGGraphic File image/jpeg
.png PNG Image File image/png
.gif GIF 89A image/gif

若题目要求上传其他格式的文件,如doc、pdf、dwg等,可以参考下面的博文:

图片马参考1:文件头_iqiqiya的博客-CSDN博客_gif文件头

图片马参考2:Content-type_瀚忄的博客-CSDN博客

3 .user.ini配置文件

.user.ini参考1:文件上传之.user.ini - NineOne_E - 博客园 (cnblogs.com)

.user.ini参考2:php - 神秘的.user.ini文件 - 技术圈 - SegmentFault 思否

.user.ini介绍:

正规的网站中,每个网站都会有php.ini文件在默默地影响网站配置,对于php.ini感兴趣的话可以浏览这个网址:PHP: php.ini 配置选项列表 - Manual

php.ini主要配置可分为以下四个模式:

攻防世界 easyupload,# 攻防世界,php,web安全

 .user.ini相当于迷你版的php.ini,可以配置除了php_ini_system以外的所有设定,具有文件包含功能,适用于ctf中上传图片马的题目~

文件包含语句如下:

auto_prepend_file=test.jpg

auto_append_file=test.jpg

另外注意到,因为语句auto_prepend_file与auto_append_file表达的意思是附着在文件前或文件后实行包含,所以图片马上传以后需要连接同目录的php文件,不是直接连接图片哦~

如何查询同目录的php文件:

①可以打开F12开发者工具-网络-名称中查询,如下图,可以看到请求网址存在index.php~

攻防世界 easyupload,# 攻防世界,php,web安全

②传说中有大侠选择直接拔起御剑大杀四方,这个因为我暂时没有用过...目前只能羡慕前辈们潇洒的背影~有兴趣可参考:御剑下载使用教程_码啊码的博客-CSDN博客_御剑使用教程

③有时同文件指定上传路径目录中没有文件,可以试试在文件名称或上传路径中补充"../",将文件传输到上一级目录中~

.user.ini的使用局限:

可以在服务器启用CGI/FastCGI SAPI时使用~默认名称为.user.ini,默认上传时间为300秒,所以如果php.ini没有修改这个配置,那也就是在上传.user.ini 一段时间以后才能进行操作~PHP: .user.ini 文件 - Manual

攻防世界 easyupload,# 攻防世界,php,web安全

攻防世界 easyupload,# 攻防世界,php,web安全

所以啊,在上传或者干掉.user.ini之后,发现配置没有立刻被刷新,还是不能上传文件的话,也许静静等待300秒再操作就会出现奇迹呢~(●'◡'●)


再次啰嗦:对于文件上传有兴趣的话可以点击这里参考下面的链接,现在主要是在记录踩坑失败的经历,后期也会慢慢补充完善的~

CTF 总结01:文件上传绕过_蚁剑返回数据为空_梅头脑_的博客-CSDN博客

博文写得模糊或者有误之处,欢迎留言讨论与批评~

码字不易,若有所帮助,可以点赞支持一下博主嘛?感谢~(●'◡'●)文章来源地址https://www.toymoban.com/news/detail-728510.html

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

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

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

相关文章

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

    题目描述:一名合格的黑客眼中,所有的上传点都是开发者留下的后门 惯例,上传一句话木马 回显如下: 也就是说文件被过滤 抓包改后缀,.php1~.php9、.htaccess均被过滤(.htaccess 文件是一个用于配置 Apache Web 服务器的配置文件。它通常位于网站根目录或特定目录中,用来为该

    2024年02月08日
    浏览(55)
  • 攻防世界-web篇(php_rce)详解

    每日一题,今天我们来攻防世界web篇(php_rce) 目录 1、利用system函数远程命令执行 2、查找文件目录 3、进入flag目录 4、查看flag文件拿到flag 首先打开题目:  这里我们可以看到打开后是一个ThinkPHP V5的界面,由此我们可以判断这是一个使用TinkPHP框架开发的,接下来我们由长期的

    2024年02月15日
    浏览(48)
  • Web安全攻防世界05 easyphp(江苏工匠杯)

    题目是这个样子的: 发现自己编辑的东西有一部分没有被发出来,怪不得阅读量低到可怜...现在重新补上一些内容,解题过程很罗嗦,对小白依然友好~ 按照惯例,把源码贴在这里逐行分析一下~ 解题思路如下: 整个题目就是单纯地在考验php语法,并且每个变量输错了都有不同

    2024年02月13日
    浏览(45)
  • Web安全攻防世界01 fileinclude(宜兴网信办)

    攻防世界文件包含入门题目,参考大佬们的WP有所补充,内容对小白友好~ 按照惯例,首先查看源代码ctrl+u: 整理一下大概是下面这个意思(代码0基础,可能有误,欢迎留言沟通与指正~) 所以题目的关键在于达成这第15行的条件: $lan = $_COOKIE[\\\'language\\\']; 在cookie中的内容 lang

    2023年04月08日
    浏览(41)
  • Web安全攻防世界08 very_easy_sql

    SQL注入、SSRF类型题目~ crtl+u查看源码,如下所示~ 经过了多次失败,终于水了一篇混杂了30%的博文链接+60%的错误解法+文末10%官网wp的博文~ 在我看来这道题目页面和源码都没有明显的提示项...页面甚至没有反馈项,有可能是一道考验运气的题目~ 目前看起来是以POST方式注入,

    2024年02月11日
    浏览(39)
  • 攻防世界ctf题目easyupload做题笔记。

    刚刷完upload-labs靶场,做做ctf题目,发现自己掌握的知识并不牢固。做了半天没有解出来,最后还是看别人的题解做出来的。写下做题过程,也就是wp吧。为了方便以后复习巩固。 本题的主要考点为利用fastcgi的.user.ini特性进行任意命令执行 这里需要绕过的点如下 检查文件内

    2024年02月01日
    浏览(40)
  • 小迪安全20WEB 攻防-PHP 特性&缺陷对比函数&CTF 考点&CMS 审计实例

    #研究对象 PHP代码漏洞(代码问题) # 知识点: 1 、过滤函数缺陷绕过 2 、 CTF 考点与代码审计 一、原理-缺陷函数-使用讲解-本地 内置函数: 大部分是比较函数(过滤时使用的函数) (1)、== 与 === : 参考: PHP 浅谈 == 和=== 中,数字和字符串比较的问题。_php 数字==字符串

    2024年01月19日
    浏览(53)
  • Web攻防06_sqlmap的使用

    参考链接: https://blog.csdn.net/Goodric/article/details/115875009 https://www.cnblogs.com/bmjoker/p/9326258.html sqlmap 是一个开源渗透测试工具,可以自动执行检测和利用 SQL 注入缺陷以及接管数据库服务器的过程。 注入测试方面有一个sqlmap就足够了,支持多种常用数据库注入。 支持五种不同的注

    2024年02月06日
    浏览(37)
  • 攻防世界web题目记录(一)

    打开后获得源码开始审计 第一个php便是重定向到page页面 第二个是上传文件并保存但是首先需要session为admin 接着看第三个是要利用php弱类型 如果设置了id 并且id的浮点值不等于1并且截取id的最后一个值等于9这里可以使用php弱类型1-9绕过 接着上传文件,这里主要是包括有一个目

    2024年02月07日
    浏览(41)
  • 攻防世界-WEB-NewsCenter

    打开环境 有查询,猜测是sql注入 保存请求头到文件中 准备利用sqlmap 查找数据库 python sqlmap.py -r ./ 123.txt --dbs 查找表 python sqlmap.py -r ./1 23.txt --tables -D news 查找字段 python sqlmap.py -r ./ 123.txt --column -D news -T secret_table 显示字段信息 python sqlmap.py -r ./ 123.txt --dump -D news -T secret_table

    2024年02月09日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包