[SWPU 2019]神奇的二维码、buuctf部分web题
目录
[SWPU 2019]神奇的二维码
[LitCTF 2023]Http pro max plus
[SWPUCTF 2021 新生赛]finalrce
[鹏城杯 2022]简单包含
[SWPUCTF 2022 新生赛]ez_ez_php(revenge)
[GKCTF 2020]cve版签到
cve-2020-7066:
[SWPU 2019]神奇的二维码
解码看看,是一个错误的flag
用010editor查看,发现存在.rar文件(rar压缩文件十六进制开头52 61 72 21)
将文件放入kali,使用binwalk分离文件
Binwalk
binwalk 文件名 //分析文件binwalk -e 文件名 --run-as=root //分离文件
分离得4个压缩包
这两个需要解压密码
查看encode.txt文件,base64解码得asdfghjkl1234567890
这是flag.jpg的解压密码,解压后是一张单纯的图片
查看flag.doc文件,试了一下,应该是进行了很多次base64编码得到的
一次一次解很麻烦,找大佬脚本直接跑
base64隐写,多次base64加密解密,文件写入,字符统计-CSDN博客
BUUCTF:[SWPU2019]神奇的二维码_buuctf [swpu2019]神奇的二维码-CSDN博客
// e:/云靶场/base64.txt 要解码的文件路径import base64def decode(f):n = 0;while True:try:f = base64.b64decode(f)n += 1except:print('[+]Base64共decode了{0}次,最终解码结果如下:'.format(n))print(str(f,'utf-8'))breakif __name__ == '__main__':f = open('e:/云靶场/base64.txt','r').read()decode(f)
解码了20次得到 comEON_YOuAreSOSoS0great
这是good.mp3的解压密码,解压得到一段 滴滴滴 的音频,听起来像摩斯密码
不是很长,手动记录一下(听不清楚可以调慢倍速):
-- --- .-. ... . .. ... ...- . .-. -.-- ...- . .-. -.-- . .- ... -.--
解码得flag内容
[LitCTF 2023]Http pro max plus
打开环境说只允许本地访问,试试xff。bp抓包,添加一个本地管理员身份
看来该方法用不了
查看大佬wp,学习可以控制IP地址信息的新方法——Client-IP
[LitCTF 2023]Http pro max plus-CSDN博客
Client-IP:是另一个用于传递客户端IP地址的HTTP请求头字段,不如X-Forwarded-For常用。
这个字段只包含一个IP地址,即请求的客户端IP地址。
bp抓包传入 Client-IP:127.0.0.1
成功绕过本地访问条件,回显提示说 不是来自pornhub.com,可以利用Referer字段解决
Referer(引用页):表示用户从哪个页面发起的请求。包含了发起请求的页面的URL。
服务器可以根据这个字段来识别用户是从哪个页面跳转过来的,以便进行统计分析、日志记录、缓存优化等。
出于隐私和安全的考虑,有时浏览器可能不会发送Referer字段。
referrer单词拼写错误, 为了保持向下兼容,所以将错就错。
绕过后有提示说要利用Chrome浏览器 ,利用UA伪造浏览器
绕过后又提示要添加代理服务器Clash.win,使用Via字段
Via字段:是一个可选的HTTP请求头字段,其中包含了代理服务器的相关信息。
当请求经过一个或多个代理服务器时,每个代理服务器都会向"Via"字段添加自己的标识。这样做的目的是提供有关请求路径的信息,以便于调试、故障排查和确定请求的来源。
在伪造的时候只需要直接添加代理服务器的名称就行
绕过后得到了一个路径/wtfwtfwtfwtf.php
访问得到3个超链接,啥也没有,查看源代码又得到一个路径 /sejishikong.php
访问得到flag
[SWPUCTF 2021 新生赛]finalrce
GET传参url,正则过滤了 ls cat la 等,可用 \ 转义符或 ' ' 绕过。
\ 转义符:在一些控制字符被过滤的时候,可以用转义符,让控制符失去原本的含义,变为字面量,但作用不变。
'' 内联执行:在linux系统中,反引号作为内联执行,输出查询结果的内容。
exec()函数:执行一个新的程序
不输出结果,但返回执行结果的最后一行
无回显:搭配echo或其他的输出函数 如print_r()函数使得其回显
此处使用输出函数依然无回显,可使用 tee 命令将其写入.txt文件。
linux中 “tee” 是从标准输入读取,再写入标准输出和文件
?url=l\s /|tee 1.txt
?url=l's' /|tee 1.txt
//将根目录写入1.txt文件
访问1.txt文件,发现flag存在
?url=tac /flllll\aaaaaaggggggg|tee 2.txt
?url=tac /flllll'aaaaaaggggggg'|tee 2.txt
//将读取的flag内容写入2.txt文件
访问2.txt文件,得到flag
[鹏城杯 2022]简单包含
打开环境发现flag.php路径,POST传参flag
尝试使用file://协议访问本地文件系统,发现有waf
file:// [文件的绝对路径和文件名]flag=file:///flag.php
flag=file://var/www/html/flag.php
尝试访问index.php,无法读取。
于是使用php://filter伪协议 读取源代码并进行base64编码输出。
flag=php://filter/read=convert.base64-encode/resource=flag.php
//访问index.phpflag=php://filter/read=convert.base64-encode/resource=index.php
回显一串base64,解码后得到了真实的代码
<?php
$path = $_POST["flag"]; // 从 POST 请求的 "flag" 参数中获取路径// 如果从 php://input 读取的内容长度小于 800 字节,并且 $path 包含 "flag" 字符串,则输出 "nssctf waf!",否则尝试包含 $path 指定的文件(即读取flag)
//php://input 将post请求中的数据作为PHP代码执行
if (strlen(file_get_contents('php://input')) < 800 && preg_match('/flag/', $path)) {echo 'nssctf waf!';
} else {@include($path);
}
?>
第一层: php://input post传入字符串的数量大于800
第二层: php://input 传入的字符串中不包含flag
python生成801个字符串a
构建payload传入,解码得到flag
[SWPUCTF 2022 新生赛]ez_ez_php(revenge)
<?php
error_reporting(0); // 设置错误报告级别为0,即关闭错误报告if (isset($_GET['file'])) { // 如果存在$_GET['file']这个变量if (substr($_GET["file"], 0, 3) === "php") { // 如果$_GET["file"]的前三个字符是"php"echo "Nice!!!"; // 打印"Nice!!!"include($_GET["file"]); // 包含指定的文件} else { echo "Hacker!!"; // 打印"Hacker!!"}
} // 如果$_GET['file']不存在
else { highlight_file(__FILE__); // 高亮显示当前文件的内容
}
//flag.php
提示file参数的前三个字符是php,想到使用php://filter读取源代码并进行base64编码输出。
?file=php://filter/convert.base64-encode/resource=flag.php
解码,提示flag在/flag路径下
<?php
error_reporting(0); //隐藏报错
header("Content-Type:text/html;charset=utf-8"); //设置了HTTP响应头,指示浏览器内容类型为HTML,字符编码为UTF-8。echo "NSSCTF{flag_is_not_here}" ."<br/>";
echo "real_flag_is_in_ '/flag' "."<br/>";
echo "换个思路,试试PHP伪协议呢";
改payload为: ?file=php://filter/convert.base64-encode/resource=/flag
base64解码得flag。
[GKCTF 2020]cve版签到
打开环境 提示 你只需查看*.ctfhub.com(即url要以ctfhub.com结尾)
故ssrf的URL伪协议都用不了
点击View CTFHub 会返回一些信息
F12发现hint flag在本地,且为url传参,判断为ssrf
尝试访问本地环境127.0.0.1 ,还是回显刚开始的界面 结尾又是固定的... ...
题目提到cve,不知道是什么 查看大佬wp后了解cve-2020-7066。
什么是CVE? CVE漏洞应该如何防护?_cvd cve-CSDN博客
CVE(Common Vulnerabilities and Exposures)的全称是公共漏洞和暴露,是公开披露的网络安全漏洞列表。在CVE中,每个漏洞按CVE-1999-0067、CVE-2014-10001、CVE-2014-100001这样的形式编号。
cve-2020-7066:
根据阿里云漏洞库:CVE-2020-7066 是 php 函数 get_headers 中的信息泄漏漏洞。
在低于7.2.29的PHP版本7.2.x,低于7.3.16的7.3.x和低于7.4.4的7.4.x中,同时将get_headers()与用户提供的URL一起使用时,如果URL包含零(\0) 字符,则URL将被静默地截断。
这可能会导致某些软件对get_headers()的目标做出错误的假设,并可能将某些信息发送到错误的服务器。(即 %00 截断)
于是使用%00截断只访问到127.0.0.1环境,构造payload:
?url=http://127.0.0.1%00www.ctfhub.com
payload改为: 得到flag
?url=http://127.0.0.123%00www.ctfhub.com
相关文章:
[SWPU 2019]神奇的二维码、buuctf部分web题
目录 [SWPU 2019]神奇的二维码 [LitCTF 2023]Http pro max plus [SWPUCTF 2021 新生赛]finalrce [鹏城杯 2022]简单包含 [SWPUCTF 2022 新生赛]ez_ez_php(revenge) [GKCTF 2020]cve版签到 cve-2020-7066: [SWPU 2019]神奇的二维码 解码看看,是…...
Python正则表达式匹配中文:深入解析与实战应用
Python正则表达式匹配中文:深入解析与实战应用 在Python编程中,正则表达式是一种强大的工具,它可以用来处理和分析字符串数据。对于需要处理包含中文字符的文本数据的场景,掌握如何使用正则表达式匹配中文就显得尤为重要。本文将…...
实例Python对比两个word文档并找出不同
首先确保已经有了安装包docx 与 difflib,如果没有先用pip命令安装如下 pip install python-docx案例代码 import docx import difflib import os 在文件目录中存在两个待对比的word文档,必须是docx格式 # 获取文档对象 # path input(请输入文件目录:…...
2.1 QT随手简记(三)
新建QT工程 1.方法 第一种:点击new project按钮,弹出对话框,新建即可 第二种;点击文件菜单,选择新建文件或者工程 2.QT工程文件介绍 (1).pro文件 --》QT工程配置文件 QT …...
TechM-技术网站
介绍 你将为⼀个技术社区设计并实现⼀个官⽹。该社区旨在为软件⼯程师、开发⼈员和技术 爱好者提供⼀个交流平台,分享最新的技术动态、⽂章、项⽬案例。 项目模块 项目分为三个模块 : 主页展示模块,文章详情模块,文章专栏模块…...
SpringBoot: 使用GraalVM编译native应用
曾今Go语言里让我最艳羡的两个特性,一个是Goroutine,一个是native编译。 Java 21的虚线程实现了类似Goroutine的能力。Spring Boot 3.x开始提供了GraalVM的支持,现在Spring Boot也能打包成native文件了。 这一篇文章的目标是用一个案例讲解如…...
9. MySQL事务、字符集
文章目录 【 1. 事务 Transaction 】1.1 事务的基本原理1.2 MySQL 执行事务的语法和流程1.2.1 开始事务1.2.2 提交事务1.2.3 回滚(撤销)事务实例1:一致性实例2:原子性 【 2. 字符集 和 校对规则 】2.1 基本原理2.2 查看字符集查看…...
为什么要学习数据结构和算法
前言 控制专业转码学习记录,本科没学过这门课,但是要从事软件行业通过相关面试笔试基础还是要打牢固的,所以通过写博客记录一下。 必要性 1.越是厉害的公司,越是注重考察数据结构与算法这类基础知识 2.作为业务开发,…...
CANoe仿真工程Switch控件关联dbc信号出现的问题及解决思路
小白学习CANoe仿真,参考CANoe-第2个仿真工程-XVehicle—1总线数据库设计(思路)_canoe vehicle-CSDN博客 CANoe-第2个仿真工程-XVehicle1总线数据库设计(操作)_canoe factor 参数什么意思-CSDN博客CANoe-第2个仿真工程…...
用开源模型MusicGen制作六一儿童节专属音乐
使用的是开源模型MusicGen,它可以根据文字描述或者已有旋律生成高质量的音乐(32kHz),其原理是通过生成Encodec token然后再解码为音频,模型利用EnCodec神经音频编解码器来从原始波形中学习离散音频token。EnCodec将音频信号映射到一个或多个并…...
Ps:批处理
Ps菜单:文件/自动/批处理 Automate/Batch 批处理 Batch命令可以对一个文件夹中的文件执行事先创建的动作 Actions,从而快速地完成大量的重复性操作,提升工作效率。 提示 1: 可以从 Adobe Bridge 中调用 Photoshop 的批处理命令。 …...
前端框架中的虚拟DOM和实际DOM之间的关系
聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介前端框架中的虚拟DOM和实际DOM之间的关系1. 实际DOM(Real DOM)1.1 定义1.2 特点 2. 虚拟DOM(Virtual DOM)2.1 定义2.2 特点 3. 虚拟DOM的工作流程3.1 创建虚拟DOM3.2 比较虚拟DOM&…...
MySQL进阶——SQL性能分析
在上篇文章我们学习了MySQL进阶——存储引擎,这篇文章学习MySQL进阶——SQL性能分析。 SQL性能分析主要是从SQL语句执行频率、耗时时间、CPU使用情况和执行时表连接情况进行分析,常用的方法工具有:SQL执行频率、慢查询日志、profile详情和ex…...
在RT-Thread下为MPU手搓以太网MAC驱动-4
文章目录 MAC驱动里面对MDIO的支持MAC驱动与MDIO总线 这是个人驱动开发过程中做的一些记录,仅代表个人意见和理解,不喜勿喷 MAC驱动需要支持不同的PHY芯片 MAC驱动里面对MDIO的支持 在第一篇文章中提到对MAC设备做出了抽象,其中MAC抽象里面有…...
可的哥(Codigger)推出Monaco编辑器插件,提升编程体验
Monaco编辑器,作为业界领先的代码编辑器,在编程体验中发挥着不可或缺的重要作用,能够在多种编程语言和开发环境中表现出色,为开发者提供高效、便捷的编程环境。可的哥(Codigger)在应用商店上线Monaco编辑器…...
为什么选择mobx
对于React而言,大家熟能而详的是redux,但我们的项目用的是mobx,接下来就让我给你详细说下它的优势和不足,可以参考。 MobX是什么? MobX 是一种简单易用的状态管理库,它采用基于观察者的模式,可…...
如何解决段转储问题
非常恶心 ,这个问题困了我一个月,怀疑过代码有问题 ,怀疑过数据集没处理好,怀疑过环境没有配置好,尝试改动,跑过很多次,还是段转储报错卡住。。。 然后一个月荒废,打算放弃这个模型…...
【杂谈】AIGC之ChatGPT-与智能对话机器人的奇妙对话之旅
与智能对话机器人的奇妙对话之旅 引言 在数字时代的浪潮中,ChatGPT如同一位智慧的旅伴,它不仅能够与我们畅谈古今,还能解答我们的疑惑,成为我们探索知识海洋的得力助手。今天,就让我们走进ChatGPT的世界,…...
CentOS7配置国内清华源并安装docker-ce以及配置docker加速
说明 由于国内访问国外的网站包括docker网站,由于种种的原因经常打不开,或无法访问,所以替换成国内的软件源和国内镜像就是非常必要的了,这里整理了我安装配置的基本的步骤。 国内的软件源有很多,这里选择清华源作为…...
JL-03-Y1 清易易站
产品概述 清易易站是清易电子新研发的一体式气象站,坚持科学化和人文化相结合的设计理念,应用新检测原理研发的传感器观测各类气象参数,采用社会上时尚的工艺理念设计气象站的整体结构,实现了快速观测、无线传输、数据准确、精度较…...
PipeSer管线管网云服务
行业需求 地下管网,作为现代城市不可或缺的基础设施,堪称城市的“地下生命线”。它承载着城市的供水、排水、燃气、电力、通信等重要功能,是确保城市正常运转和居民生活便利的关键所在。将地下管网的复杂布局和运行状态以三维形式直观展现出来…...
kubesphere报错
1.安装过程报错unable to sign certificate: must specify a CommonName [rootnode1 ~]# ./kk init registry -f config-sample.yaml -a kubesphere.tar.gz _ __ _ _ __ | | / / | | | | / / | |/ / _ _| |__ ___| |/…...
【QT5】<总览二> QT信号槽、对象树及样式表
文章目录 前言 一、QT信号与槽 1. 信号槽连接模型 2. 信号槽介绍 3. 自定义信号槽 二、不使用UI文件编程 三、QT的对象树 四、添加资源文件 五、样式表的使用 六、QSS文件的使用 前言 承接【QT5】<总览一> QT环境搭建、快捷键及编程规范。若存…...
2024.05.24 校招 实习 内推 面经
绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、实习丨蔚来2025届实习生招募计划开启(内推) 实习丨蔚来2025届实习生招募计划开启(内推) 2、校招&实习丨联芯集成电路2025届暑期实习…...
如何理解 Java 8 引入的 Lambda 表达式及其使用场景
Lambda表达式是Java 8引入的一项重要特性,它使得编写简洁、可读和高效的代码成为可能。Lambda表达式本质上是一种匿名函数,能够更简洁地表示可传递的代码块,用于简化函数式编程的实现。 一、Lambda表达式概述 1. 什么是Lambda表达式 Lambd…...
GPT-4与GPT-4O的区别详解:面向小白用户
1. 模型介绍 在人工智能的语言模型领域,OpenAI的GPT-4和GPT-4O是最新的成员。这两个模型虽然来源于相同的基础技术,但在功能和应用上有着明显的区别。 GPT-4:这是一个通用型语言模型,可以理解和生成自然语言。无论是写作、对话还…...
使用throttle防止按钮多次点击
背景:如上图所示,点击按钮,防止按钮点击多次 <div class"footer"><el-button type"primary" click"submitThrottle">发起咨询 </el-button> </div>import { throttle } from loda…...
Echarts 在折线图的指定位置绘制一个图标展示
文章目录 需求分析需求 在线段交汇处用一个六边形图标展示 分析 可以使用 markPoint 和 symbol 属性来实现。这是一个更简单和更标准的方法来添加标记点在运行下述代码后,你将在浏览器中看到一个折线图,其中在 [3, 35] (即图表中第四个数据点 Thu 的 y 值为 35 的位置)处…...
适用于 Windows 的 8 大数据恢复软件
数据恢复软件可帮助您恢复因意外删除或由于某些技术故障(如硬盘损坏等)而丢失的数据。这些工具可帮助您从硬盘驱动器 (HDD) 中高效地恢复丢失的数据,因为这些工具不支持从 SSD 恢复数据。重要的是要了解,您删除的数据不会被系统永…...
HTTP基础
一、HTTP协议 1、HTTP协议概念 HTTP的全称是:Hyper Text Transfer Protocol,意为 超文本传输协议。它指的是服务器和客户端之间交互必须遵循的一问一答的规则。形容这个规则:问答机制、握手机制。 它规范了请求和响应内容的类型和格式, 是基于…...
如何零基础做网站/设计网站模板
华容道是古老的中国民间益智游戏,以其变化多端、百玩不厌的特点与魔方、独立钻石棋一起被国外智力专家并称为“智力游戏界的三个不可思议”。它与七巧板、九连环等中国传统益智玩具还有个代名词叫作“中国的难题”。来自百度百科描述 华容道游戏解法很复杂…...
一些设计网站/营销推广运营
在每次直播带货结束后,都应当对本次的直播数据和带货数据进行复盘,以此来优化直播带货方案。 数据包含总观看人数、每个时间段用户的在线人数、单次直播的涨粉人数、评论数、单款产品成交量、商品总成交额、评论热点等等,通过对这些数据的复…...
app界面设计网站/如何网站优化排名
一.函数即对象 1.函数是最高级的对象(对象是类的实例化,可以调用相应的方法,函数是包含变量对象的对象) 2.只有函数加载到内存才可以被调用 3.函数满足的两个条件: (1)可以赋值给其他变量 如f1f…...
怎样建设一个能上传数据的网站/比较好的搜索引擎
与传统应用类似,Windows store应用允许开发人员通过布局控件管理应用UI。 本篇将讨论Windows8布局设计控制。 Windows 8布局控件 在Windows Store应用设计中,布局控件是控制对象位置和尺寸的,由于Windows Store应用不仅仅面向桌面操作系统&am…...
wordpress博客增加音乐页面/b2b免费推广网站
本节内容:php代码导入数据到mysql数据库。问题描述:1.初始化数据库时,如何把现有的.sql文件通过PHP 导入到MYSQL中?最好有这方面的代码或类。2.PHP如何将excel 文件内容导入到Mysql相应的数据库中?3.PHP如何对MYSQL数据…...
做网站就上凡科建设/教育机构排名
很多网友看不懂这段代码,以为我是遇到的这个问题没有解决掉,其实下面的代码就是解决方案! 在渲染之前先判断有没有数据,有数据再渲染,没有数据不渲染,这样就起作用了! <div className"…...