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

2.10寒假作业

web:[MoeCTF 2022]baby_file

打开环境,看到include,标准的文件包含,使用为协议

先找一下flag包含在哪个文件里面,我觉得可以用dirsearch直接扫描,但是我想用为协议看看,尝试用data://去看一下列表,结果data被禁用了

尝试了其他的为协议大都被禁用了,还是扫描吧,得到flag文件

直接filter为协议,不会成功,有禁用,这里也明白了昨天为什么要加base64加密的问题了,加这个加密本身就是一个过滤的过程,可以绕过一些禁用

加上base64得到这个

解码得到答案

pwn:[GDOUCTF 2023]EASY PWN

查壳,ida

看主要的函数

声明buf接受10字节,从/dev/urandom读取一个随机数据作为密码,fd是一个文件描述符文件描述符,简单来说文件描述符就是对脚本起一个简化作用,使得脚本的写作更加简便。

读取/dev/urandom中10个字节给buf,这里也没有溢出

之后就叫我们输入密码,输入的密码 赋值给s1,之后比对s1和buf相等就输出flag。

首先,欸有溢出,所以无法进行栈覆盖去getshell,然后它生成的密码是随机的,每次打开程序都有不一样的密码,也没给我们规则,所以我们去获得密码然后执行程序得到答案基本上是不可能的。绕过是在web中我们可能还会考虑修改输出flag的判断条件,让他直接输出flag就像昨天那题一样,从脚本我们可以知道如果v5的值是1的话就会输出flag,但是这个是程序要怎么改,直接写脚本覆盖吗?看一下别人的做法

其实也是大差不离,要么就是修改v5的值,要么就是直接修改函数返回值直接执行printflag,这边用第一种,直接覆盖v5的值令v5的值不等于0即可,但是这个脚本也是千奇百怪的

misc:攻防世界gif

解压文件是一堆图片都是黑白色的

另一个图片打不开,用记事本看一下,和本题没关系

一做到这种规整的两种不同元素组成的密文,通常就会想到是摩斯密码或者是二进制,

首先是摩斯密码

正反尝试一下都不是答案

那就是二进制

得到答案

crypto:polar靶场base?

打开文件,一看就知到时base100加密

解密得到zifc

这种形态的字符串加密还是挺陌生的,找了很久还是找不到,看一下别人的解法,加密的方式是ROT47

ROT47 是一种简单的替换加密方式,它对 ASCII 码值为 33 - 126 的 94 个可打印字符进行循环移位操作,将每个字符的 ASCII 码值向后移动 47 位,如果超过了 126,则再从 33 开始循环

其实可以把ROT47看成变异的凯撒,按照描述来说,它加密之后不同的字符对应的可能是同一个字符,同理解密其实也是,像本题的密文,一般的flag前缀是flag,本题的密文前四个是7=28解密出来是flag,当然也肯定有其他的四个字符加密出来时flag,这种排列可以说有无数个,所以说这种加密还是很难去判断的。

reserve:攻防世界getit

查壳,ida

看主函数

“&” 是一个逻辑运算符,表示按位与运算。例如在 C 语言中,“a & b” 表示将变量 a 和变量 b 进行按位与运算,结果为对应二进制位上都是 1 的位为 1,其他位为 0 的值。

历遍s,用i&1判断i的奇偶,因为如果i是技术的话,i二进制表达式的最低位,也就是最后一位就是1,那么与1进行按位与运算的结果就是1,之后再套上是否等于0就可以用来判断i的奇偶,同理偶数是0,这个循环的作用就是如果i是奇数的话v3就等于1,偶数则等于-1

令明文t的i+10位等于s的i位+v3

后面则是对密文进行确定相应储存位置操作而已,以上就是加密过程

看一下处理之后的密文s和明文t明文t就等于s的i位加上v3

直接写脚本得到答案


http://www.kler.cn/a/540552.html

相关文章:

  • 今日AI和商界事件(2025-02-10)
  • 开启对话式智能分析新纪元——Wyn商业智能 BI 携手Deepseek 驱动数据分析变革
  • C# 比较两个List集合内容是否相同
  • Spring Boot中实现多租户架构
  • 996引擎-问题处理:三职业改单职业
  • 心脏滴血漏洞复现(CVE-2014-0160)
  • 反射:获取类中的成分、并对其进行操作
  • SpringCloud - Sentinel服务保护
  • 矩阵NFC碰一碰发视频的源码技术开发攻略,支持OEM
  • 【数据】Cassandra(列存储)
  • 小红书爬虫: 获取所需数据
  • JVM栈帧中|局部变量表、操作数栈、动态链接各自的任务是什么?
  • Java_多线程
  • 非华为电脑制作一碰传NFC贴纸
  • AutoGen实战应用
  • DeepSeek--教师备课效能100%
  • 元数据、数据元、数据元素、数据项 和 主数据的概念
  • 前端学习之Flex布局
  • 【shellbash进阶系列】(四)SHELL脚本--变量(基础)
  • 用Python批量去除PDF文件的密码
  • AOSP 编译配置:深入解析 Android.mk 和 Android.bp
  • timescaladb时序数据库高可用docker镜像使用
  • 如何用WPF制作简单的加密解密
  • 设计方案主要做哪些事情?
  • Unity Dots理论学习-4.ECS有关的模块(3)
  • 125,【1】攻防世界unserialize3