1.23寒假作业
web:bugku好像需要密码
打开环境,要求我们输入一个5位数的密码,对于这种登录的题目,其实第一印象是用爆破去解题,但是考虑五位数密码其实是有点多的,如果爆破很费时间,之前做这类题目还有一个办法就是用sql注入去暴库得到账号密码,但是这题显然是不需要账号的,这样爆破就有一个优势,大大节约时间。随便输入一个五位数的密码看一下
bp抓包,抓包得到的也有很多种状态,要选择正确的状态,就是我们输入的密码和对方服务器有联系的
开始爆破,由于没有密码本,其实也可以去手搓一个,但是bp有功能可以直接用,选择payload类型为数值,数值内容为所有的五位数10000-99999
开始爆破,可以预想的是这个办法肯定可以得到答案,但是就是难找,这个服务器不论我们输入的密码正确与否,返还的状态都是成功,所以不能用状态码去直接搜索,而且正确密码的不同也不知道是不是注释不同,只能手动去找了
得到答案
reserve:[SWPUCTF 2021 新生赛]非常简单的逻辑题
文件是一个python文件
理解一下,result等于s的第(s1+i)%34和第-(s2+i+1)%34位相加,s1等于flag的第i位整除17,s2等于flag的第i位求余17,这题有一个重点就是result是怎么拼出来的,首先他是一个循环,每次循环的结果就是给result加上两个字符,这两个字符就是前面所说的,也就是说我们逆向的过程也要分成两步,即result的奇数位和偶数位,现在就是要对这个过程进行逆向处理,首先就是要处理s1、s2但是整除和求余这个操作显然是没有办法逆向的,唯一能做的就是比较,既然不能直接计算得到,那就就算flag可能出现的字符再去和源码中处理的结果比较,如果相等那就是我们要找的,其实也算一种爆破吧,我们知道可视的字符的ASCII值是32-126,所以对这部分的字符进行爆破即可
pwn:[SWPUCTF 2024 秋季新生赛]不是哥们ret2text还阴啊?
查壳,ida打开
看一下伪代码
声明v1储存字节大小56,并标注在栈上的位置,定义循环0-900使用read函数读取一个字节给v1的i号位,这里存在溢出,找一下后面函数
追踪一下v1覆盖量应该是0x40-0x04
然后我运行之后cat flag没有反应,我后面去找了一下wp,用了他的脚本还是没反应不过它填充量比我多了一个
misc;polar靶场刷新一下
打开有一张图片,提示是刷新一下,用steglove和010分析过都没有什么东西,那就往提示方向去搜索看看,找到一个f5隐写,f5对应电脑的刷新键,尝试看看没弄出来
后面又了解了一下才发现这个也是有密码的,去图片里面找一下有没有密码,在属性里面找到了,加上密码在试一下,可以的
crypto:polar靶场神秘组织M
打开文本是这样的
关键的字符都在,估计是一种替换密码,去搜索一下有没有相关的加密方式,是有一种叫m加密的算法,不过不是替换密码,题目肯定有提示尝试往这方面去思考首先m和5肯定是提示,难道是MD5,尝试之后不正确,既然是替换密码,那应该就是一种特殊的排列方式而已会不会是m型的5行字母,尝试到一半就觉得不可能
再换一种顺序-
是这样的