04 2020 档案
摘要:因为我菜,没人找过我出题。突然有个师傅找我出题我还一阵受宠若惊! 我说pwn题放一放,因为我也是菜鸡。。。我可以试着出一道逆向。然后逆向题目就诞生了! 1 def verification(): 2 part1 = 'flag{' 3 part2 = 'xxxxxxxxxxxxxxxxxxxxxxx
阅读全文
摘要:偶然见看到这道题,就下载了看了看。确实是我自己的逆向能力不够,逆不动。但是我似乎找到了非预期。。。 下载程序,ida打开,发现不对。后来发现是加了upx壳,拿软件去一下。再次ida打开。 其中buffer是你输入的,和v4进行比较。v4首先是指向堆中的一个指针,后来sub_401390对v4中写值。
阅读全文
摘要:32位与64位 系统调用的区别: 1. 传参方式不同 2. 系统调用号 不同 3. 调用方式 不同 32位: 传参方式:首先将系统调用号 传入 eax,然后将参数 从左到右 依次存入 ebx,ecx,edx寄存器中,返回值存在eax寄存器 调用号:sys_read 的调用号 为 3 sys_writ
阅读全文
摘要:感觉好久没有水博客了,今天借助这道题来告诉自己做pwn题要多调试!!! 先检查了保护只开启了堆栈不可执行,接下来ida看一下伪代码: 这里可以往buf进行写入,接下来看一下echo函数: 大概意思就是将buf的内容写入s2中,s2距离rbp只有0x10,所以可以进行溢出。这里我刚开始的时候是直接构造
阅读全文
摘要:就是这道题!被师傅们打到1分...然后我做的很吃力... 先检查保护,32位程序,开启了堆栈不可执行。 ida看一下main函数都干了些什么。 可以看到main函数就是可以进行溢出,而且有一个可以get_flag的函数。虽然有一个if条件限制,但是我见其他人有这种做法,就是main函数溢出到返回地址
阅读全文
摘要:在做buu题目的时候,发现在最上面有几道被各位师傅打到1分的题,强迫症逼迫我去做那几道题。 这里来试着去解决这些题。。。讲真的,我感觉自己刷题真的少,即使是很简单的栈题目,我还是能学习到新的东西。这里就记录一下这几道题。 pwn1_sctf_2016 检查了一下保护,32位程序,只开启了堆栈不可执行
阅读全文

浙公网安备 33010602011771号