2.4寒假作业

ops/2025/2/5 18:12:07/

web:[HNCTF 2022 Week1]Interesting_include

打开环境,叫我们尝试访问一下文件

尝试对应的路径,没有结果,代码审计,检查用户十分使用get的方式传参filter,后面使用一个正则判断传参的数据中是否包含flag,如果没有就报错,这边又涉及到include函数,如果文件名通过检查,脚本尝试使用include函数包含该文件,这个函数会包含并执行指定的文件。

那么我们尝试执行一下cat函数,也是报错

看这个感觉是层级的问题,尝试之后也是没什么结果。题目标题有php为协议,尝试一下,仔细阅读代码,发现层级确实是特定的是./flag.php,前面变量也不是像往常一样的file,而是规定的filter,尝试一下?filter=php://filter/convert.base64-encode/resource=./flag.php得到

这个是否可以理解成一种绕过,只不过如果按照代码来说绕过的办法是很多的,可是不论是字符替代,或者是大小写绕过都没有用,总之按照意思我们不是要传参一个指令给filter之后include函数会包含它然后自己执行吗,那为什么其他的绕过确实不行的。

pwn:攻防世界level0

查壳,ida

看一下主要函数

声明buf接受128个字节,后面确读取了512个字节给他,显然溢出,找后门函数

地址

尝试写代码,出不来,去找了一下别人怎么写的,发现只有那个填充量是错的,其他思路倒是没什么问题,这个填充量做到现在也没摸出个声明规律来,千奇百怪的

misc:polar靶场大礼包

文件是一个压缩包要密码,用010分析一下发现末尾处还有zip文件

foremost分离,没什么结果

尝试爆破,尝试很多成功

得到图片,010分析在末尾处找到类似base64加密的字符串

解密失败,尝试base32成功

再尝试base64成功

得到类似flag字样的字符串,应该是置换函数看样子尝试栅栏密码得到类似flag格式字符串

直接凯撒得到答案

crypto:polar靶场另寻出路

打开时两个文本文件

emoji加密之间见过一个base100加密的尝试一下,解密不出来

那肯定是其他的加密方式,搜索一下有一种叫ase的或者python里面的emoji库等等,这里是第一个,叫emoji-ase,这个是要密钥的,结合另一个文件,密钥应该是文本文件或者kuangrenriji,直接解密https://aghorler.github.io/emoji-aes/

reserve:攻防世界666

查壳,ida

看主函数,很显然是将我们输入的加密之后和正确的flag对比

看一下加密之后的字符串

看一下加密函数

可以知道是把a1进行一系列异或之后储存到a2,继续追踪一下key是12h,但是按照加密函数来看,这个应该是一个数字,直接转十进制得到是18,每次加密三个字符,前面有验证a1长度是否与key相等,那么a1应该就等于18

写脚本,发现也不是直接用enflag字符串,尝试多次之后发现要转十进制之后进行运算,这里也就解释了为什么是18

解密出来还是有问题,这我就搞不懂了

看一下别人的脚本

人家是直接用python数值化,然后它先是-6再+6,明明代码上面是我那个顺序啊,搞不懂了,还有他不是先加减再异或是反过来的,明明代码是先加减啊,修改一下

还是错的.............,为啥啊?我又看了很多wp,运行了他们的脚本的出来都是我这个答案,明明是一样的脚本为什么运行出来的结果和他们不一样


http://www.ppmy.cn/ops/155935.html

相关文章

攻防世界_PHP2

(你能验证这个网站吗?) 【参考大佬博客writeup】 尝试查看源代码:无事发生 再用burp抓包该网页:还是没啥特别的 查看index.php,无事发生 请求一下index.phps:得到一段php代码片段&#xff0…

Spring的AOP的JoinPoint和ProceedingJoinPoint

Spring的AOP的JoinPoint 在Spring AOP中,JoinPoint 是一个核心接口,用于表示程序执行过程中的一个连接点(如方法调用或异常抛出)。它提供了访问当前被拦截方法的关键信息的能力。以下是关于 JoinPoint 的详细说明: 一…

【Envi遥感图像处理】009:envi5.6设置中文界面的方法

ENVI软件从5.0版本开始,界面发生了大的变化,并开始支持中文。本文讲述envi5.6设置中文界面的方法。 文章目录 一、中文界面预览二、设置中文界面三、注意事项一、中文界面预览 以下为envi5.6新版的中文界面: 二、设置中文界面 打开英文版的envi5.6软件,首先需要从安装App…

napalm ‘NXOSDriver‘ object has no attribute ‘port‘ 解决方案(随手记)

解决方案(仍然使用ssh作为访问方式) 使用napalm时,对于Cisco Nexus设备,默认采用的是443的api去访问获取数据,如果需要使用ssh的方式获取,需要特别指定get_network_driver(nxos_ssh) 使用443 https api的…

K8S学习笔记-------2.极简易懂的入门示例

K8S学习笔记-------2.极简易懂的入门示例 1. 准备应用代码1.1 确保 Node.js 和 npm 已安装1.2. 创建项目目录并初始化项目1.3. 安装 Express1.4 验证安装 2.容器化应用2.1 准备 Dockerfile2.2 构建镜像 3.编写K8s配置文件创建 Deployment创建 Service 4.部署到K8s集群应用Deplo…

VSCode插件HTML CSS Support

1、打开VSCode软件,找到应用商城,搜索并安装插件“HTML CSS Support”。 2、“HTML CSS Support”插件提供代码片段快速插入功能:如输入 div.main 后按enter键会自动生成一个带有 class 为 main 的 div 标签。 3、“HTML CSS Support”插件…

单片机基础模块学习——NE555芯片

一、NE555电路图 NE555也称555定时器,本文主要利用NE555产生方波发生电路。整个电路相当于频率可调的方波发生器。 通过调整电位器的阻值,方波的频率也随之改变。 RB3在开发板的位置如下图 测量方波信号的引脚为SIGHAL,由上面的电路图可知,NE555已经构成完整的方波发生电…