- 博客(5)
- 收藏
- 关注
原创 ciscn2021 西北分区赛部分pwn
xb_pwn_easy分析发现是道整数溢出的题,unsigned int8最大数为255,当输入的数字超出255时就会发生溢出。但当时做题我将v4输为0,也可以造成溢出,原因是read的第三个参数v4-1=-1,又read的第三个参数类型是size_t,当输入负值时,会将其转换为无符号数。利用整数溢出漏洞,可以覆盖age、email、phone,可以将email覆盖为函数的got地址,这样就可以获得函数的地址并且得到libc的基地址。修改puts函数的got表。一开始我将phone覆盖为puts_
2021-06-07 21:30:17
270
原创 ciscn2021西北部分pwn
打了一天的国赛,发现自己还是太菜了pwny读取随机数到bss段上作为文件描述符范围在0~0xff之间,又在自定义的函数sub_ba0中发现可以根据偏移进行任意写的操作,sub_b20可以根据偏移进行任意读操作,因此就可以覆盖fd的值,爆破fd使其等于0,我们就可以进行任意读写我们可以通过泄露出bss段上的stdout指针指向的_IO_2_1_stdout_的地址来泄露libc的基地址,在通过泄露data段上的off_202008来泄露bss段上的地址,再通过libc上的environ来泄露栈地址。
2021-05-16 11:10:09
1493
13
原创 CSTC 部分pwn wp
1.bank直接拖入ida分析,password是由fgets函数读取的,因此当生成的第一个随机数为0xa时,密码就会被截断,即为0xa。可以发现flag被读入栈中,并且有格式化字符串漏洞,经调试后当输入%8$s时即可读出flag。编写exp时,因需要爆破,所以当读到flag就用sleep()函数来使程序暂停,exp如下:from pwn import *#io = process('./bank')io = remote('81.70.195.166',10000)context.log
2021-05-05 22:10:50
342
原创 2019 红帽杯 easyRE
记一次被带入坑的逆向拿到题目,发现是elf文件,拖入Linux运行程序,发现什么提示也不给,输入任意字符串,程序退出。拖入64位的ida中,查找字符串,发现几个很有用的字符串,查看第三个字符串处的代码先给了一大串数字,将类型转变成char[36]后如下图所示。分析伪代码发现函数名都是统一的sub_。进入第一个函数sub_4406E0,发现很难理解此函数是干嘛的,但通过主程序,我们可以猜测,该函数的作用应该是读取我们的输入。同理,根据if语句中的v15[i] ^ i) != v14[i],我
2020-11-18 13:47:07
2546
3
原创 2020moectf—flower
在这里插入代码片@TOCflower题目:moectf Re flower运行程序,看程序是如何运作的,发现给了一首诗,还抛出了一个经典的不能在经典的一个问题。然后输入任意字符串,emm竟然被教育了一顿。但看它的报错是提示我们输入的字符串太长,因此输入一个短的,看来这阅卷老师是真厉害,直接把我高中的底给透出来了。直接奖励它给他拖入ida中,查找程序出现的字符串,发现了一处让人一看就兴奋的字符串。直接查看它在代码段中的位置,并使用F5插件得到主函数的伪代码,通过分析,前面一串伪代码是判断你输入
2020-11-07 16:01:00
377
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人