- 博客(8)
- 收藏
- 关注
原创 攻防世界 no_strings_attached(两种动调)
无壳32,ida在authenticate里面看到了decrypt,操作之后返回字符串,也就是说,想要的字符串就经过了decrypt的处理,追踪。
2024-10-17 16:14:07
239
原创 攻防世界pwn level2
想要溢出buf,就要0x88-0x00+0x04个字节,溢出部分为实现system函数,system(command)的command为/bin/sh,即可拿到shell.2.system返回值为四个字节,为了堆栈平衡,填上四个垃圾字符,再到/bin/sh地址。进入vulnerable_function(这个名字其实就给了提示)buf大小为0x88,read范围为0x100,存在溢出漏洞。查看字符串,看到了system,/bin/sh.1.buf溢出写入system地址。
2024-09-23 20:53:41
384
原创 攻防世界re Windows_Reverse1
然后,可以看到 v4 = a1 - v1,也就是 a1 = v4 + v1,所以v4 + v1 表示的就是我们input的地址,再到第十五行,可以改写为 *v1 = byte_202FF8[(char)(v1+v4)] ,括号里面就是input的地址,不断++v1,所以可以看作对于input的遍历。这里就有点摸不着头脑,不知道怎么进行下一步,有可能是指针给的地址相同,在sub_201000中做出了操作,但是下面的byte_202FF8是干什么的,进入byte_202FF8。看见里面的1经过处理后变成了m。
2024-09-10 16:22:11
398
2
原创 攻防世界re EASYHOOK
这里似乎有一个坑,把"This_is_not_the_flag"赋给v4,如果v4里面前21字符的内容和"This_is_not_the_flag"一样,那么就将指针的值变为1,也就是证明flag是正确的。这里的a1数组即为buffer数组,就是用来存放我们输入的数组,但是注意在main函数中,只有a1数组长度为19时,才会进行下一步,而这里的长度是21,自相矛盾,所以姑且认为这里就是一个干扰项。所以dword_40C9BD中存放的就是sub_401080到IpAddress加上jmp指令的距离。
2024-09-08 21:26:56
543
原创 攻防世界re elrond32
可以发现,sub_8048414(a1 + 1, 7 * (a2 + 1) % 11),这条语句会让a2 = 7*(a2+1)%11。很简介的main函数,这时候就应该注意到有两个sub函数,第一个sub作为条件判断,第二个sub作为输出内容。memcpy就是把unk_8048760的数传递到v2中,点进unk_8048760,一个int占四个字节,所以第一个就是存的数,后三个用0填充。根据sub函数的内容写脚本,最后的putchar(10),经查询,是换行的意思。选中整段,shift+E可以查看内容。
2024-07-20 13:41:58
631
原创 攻防世界re answer_to_everything
sha1 得到了一个神秘的二进制文件。寻找文件中的flag,解锁宇宙的秘密。注意:将得到的flag变为flag{XXX}形式提交。解得flag{80ee2a3fe31da904c596d993f7f1de4827c1450a}#kdudpeh的“#”是tag吗?题目里的sha1是做什么的?NOT Win EXE,应该就是linux文件了,但是先不急。先交flag{kdudpeh}不对,就用sha1加密。简洁的main函数,点进not_the_flag。没有多余信息了,琢磨半天,啊?
2024-07-17 09:44:29
303
原创 攻防世界re 666
然后看见strcmp(s,enflag),判断两个字符串是否相等,可以知道enflag里面存在信息。分析一下,最后是返回a2,所以a2的结果就是enflag的内容,所以要得到flag,就得反着来。看for循环里面的内容,前三条是加密算法,而后三条是把得到的值依次存储在a2数组里面。strlen(v5)和key是否相等,可以知道key是个数字。一入眼有个f4cker_flag,交了一下也不对,忽略。有一个encode(v5,s),应该是个加密函数。无壳ELF,扔ida,先看看main函数。
2024-06-05 20:07:19
199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人