23R3F's Blog

23R3F's Blog

no pwn no fun

XMAN结营赛总结
once_time 这题主要利用了格式化字符串的漏洞,另外有canary的保护,需要用到栈溢出报错的函数具体的利用主要分三步: 首先将__stack_chk_fail的got表改成main函数的地址,那么这样每次栈溢出报错的时候就会再一次执行main函数,从而实现多次输入,可以多次利用printf(&s,“$p”)进行格式化字符串攻击 泄漏libc的基址,这里用泄漏read函数的真实地址来实现 将one_gadget写入exit()函数的got表中 从上图中我们可以看到,程序中有两次输入,第一次输入9个字节,第二次输入32个字节,但考虑到有canary保护,实际上第二次输入到...
xman夏令营学习简记
day1讲了ctf的历史以及其发展,然后按流程走讲了一下网络安全法基本没学什么,主要是熟悉华为的环境,面基,破冰 day2 逆向教学:1.符号执行接触了angr的用法,简单的自动逆向方法,只适用于简单的加密过程,可小学一波用于日后做题取巧https://github.com/a7vinx/angr-doc-zh_CNhttps://www.anquanke.com/post/id/85039http://www.freebuf.com/sectool/143056.htmlhttps://www.cnblogs.com/fancystar/p/7851736.html 2.动态解密:第...
萌新向ROP初体验:ROPemporium
这个萌新向的文章,大佬可以出门左转离开了Orz 这是一个专门给萌新训练rop技巧的网站,题目比较简单同时也可以学到了很多新的有关rop的操作,每道题目都有分32位和64位两种版本的,对32/64位的程序都能得到很好的练习 题目网站:ropemporium 在做题之前需要先了解一波rop的相关基础理论 rop的全称是:返回导向编程(Return-Oriented Programming) 一般在利用栈溢出的时候会利用到,rop通常是由许多个gadget组成的,而gadget是程序中的一小段指令 比如这种:pop xxx;ret即将栈上的值传递给寄存器的一段汇编指令 或者这些:mov ecx...
Hitcon-Training之lab1~lab10
lab1方法一:使用逆向解密的方法 方法二:利用gdb动态调试,可以在已经生成了password并且还未输入magic的情况下个断点 可知,ebp-0x80的地方就是password存放地址,于是可以,读出 方法三:利用gdb动态调试,设置eip,跳过判断对比语句,直接执行for循环得出flag (也可以使用IDA的nop功能,也就是使用keypatch) 先运行sysmagic,不要输入数字,保持输入的状态不变: 新开一个窗口,ps -aux |grep sysmagic,得到pid = 3505; 然后sudo gdb attach 3505; b*0x08048720对0...
2018-红帽杯
pwn–game server拿到题目按照国际惯例先checksec和IDA一波    发现只开了nx保护,这样的题目一般都是ret2libc了,观察题目,发现第33行的地方有溢出点,通过read函数可以向s里面写nbytes个字节,同时在第21行nbytes又可以被name和occupation这个两个变量的大小所影响,因为snprintf函数是有这个漏洞的: s的栈空间大小是0x111,那么我们让nbytes的大小远超过0x111,就可以实现溢出。 溢出后就需要考虑用那种方式去getshell了,通过调试发现,溢出一次后并不能返回main函数,因此我们只有一次构造溢出的机...
PWN之canary骚操作
最近做题遇到一些canary的保护的题目,于是想着搜集整理一波有关绕过canary的操作。 Canary保护机制的原理,是在一个函数入口处从fs段内获取一个随机值,一般存到EBP - 0x4(32位)或RBP - 0x8(64位)的位置。如果攻击者利用栈溢出修改到了这个值,导致该值与存入的值不一致,__stack_chk_fail函数将抛出异常并退出程序。Canary最高字节一般是\x00,防止由于其他漏洞产生的Canary泄露需要注意的是:canary一般最高位是\x00,64位程序的canary大小是8个字节,32位的是4个字节,canary的位置不一定就是与ebp存储的位置相邻,具...
2018-ISCC
misc-What is that?Where is the FLAG?拿到一个png文件,从图的内容来看,应该是指flag在下面,于是果断打开winhex改了图片的高,就显示出flag了 misc-秘密电报知识就是力量 拿到一个rar压缩包,里面一个txt,内容是这样的:之前先经过binwalk没有发现什么东西,flag应该就是这串密码了,观察后发现有点像培根密码,拿去在线解密一波就出flag了:http://tool.ph0en1x.com/bacon/ misc- 一只猫的心思你能读懂它的心思吗? 拿到一个压缩包,里面一张jpg图片,binwalk一波和stegsove一波都没发现...
jarvis-oj之pwn
Basic - Shellcode题目描述: 作为一个黑客,怎么能不会使用shellcode? 这里给你一段shellcode,你能正确使用并最后得到flag吗? shellcode.06f28b9c8f53b0e86572dbc9ed3346bc 网上查了一下,是要用一个叫Shellcodeexec的程序跑一下,就可以拿到flag。真是醉了。。 附带大佬们的博客:http://veritas501.space/2017/03/10/JarvisOJ_WP/ pwnlevel0简单题,不用太多解释,直接构造一个溢出,然后跳转到指定的函数就可以getshell了1234567#!/us...
avatar
23R3F
一个二进制萌新的小日常