自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 西湖论剑2020 pwn mmutag wp

拿到题目,给了libc库,太可了,爱了爱了开局malloc(0x68)输入姓名,这个0x68给人一种熟悉的感觉程序会顺便输出保存着chunk指针的栈地址,暂时没发现有什么吊用heap的部分,只有malloc和free的功能并且固定申请0x68的chunkfree这里,出现了经典的free之后未置0而且还刚好是0x68的chunk常见做法就是double free后劫持malloc_hook然后就是泄露libc基地址始终没找到什么好办法,泄露出来的栈地址看似也无法得到libc_base

2020-10-11 15:06:39 474 2

原创 buuctf axb_2019_heap

拖进IDA之后,发现输入函数是存在off-by-one漏洞的,可以进行溢出同时存在全局指针数组,就可以利用这个溢出来构造fake chunk,然后实现unlink除此之外,这个程序malloc的大小是不能小于0x80的,额。。。其实这个不重要,问题不大,注意下就好了但是,程序的保护全都开启了也就是说,程序的地址是随机的,我们并不知道chunk指针的存放地址如何泄露呢?这时还发现程序开头存在格式化字符串的漏洞打开调试,输入8个a,在printf(&format)这里停一下,然后看下栈

2020-09-23 23:06:46 1592 9

原创 buuctf ciscn_2019_n_3

do_new函数:申请一个0xc大小的chunk,前四个字节存放的是输出函数的地址,中间四个字节存储的是删除函数的地址,最后四个字节,因数据类型的不同而不同当你选择整数类型,最后四个字节存放的就是一个数字当你选择文本类型,你就可以向程序请求申请一个一定大小的chunk用于存放文本,而最后四个字节存放的就是这个新的chunk的地址do_dump函数:输出内容do_del函数:发现free并未将指针置0,再看rec_int_free函数和rec_str_free函数,也没有置0,存在UAF的漏

2020-08-31 14:49:09 265

原创 buuctf [ZJCTF 2019]EasyHeap

这题只有add,edit,delete三个主体部分,没有show的部分create_heap函数,chunk的指针保存在bss段的heaparray数组处edit_heap函数,注意这里输入的数据长度是可以自己设置的,就可以随意溢出了delete_heap函数除此之外,还有这样一个l33t函数:在程序中,你只要满足一定的条件,是可以运行这个函数的,我猜测在[ZJCTF 2019]比赛进行的时候可能这个函数是可以利用的,但现在在buu上面是用不了的,flag文件的目录不对。不过,这个sys

2020-08-24 18:44:22 910 4

原创 buuctf babyfengshui_33c3_2016

这是四个主要的函数:add函数:add函数的输入部分:同时,这也是update函数,其实这个函数是有溢出的漏洞的,它对于长度的检查是有问题的,后面就会利用到这一点delete函数:display函数:先随意创建几个chunk,看看布局,add(0x80,"nam1",0x80,"aaaa")add(0x80,"nam2",0x80,"bbbb")add(0x80,"nam3",0x80,"cccc")以第一个为例,储存text的chunk在前,后面是储存name的chunk,

2020-08-19 13:17:43 395

原创 buuctf [BJDCTF 2nd]ydsneedgirlfriend2

[BJDCTF 2nd]ydsneedgirlfriend2 一道有手就行的堆题这道题目的实现过程非常简单易懂,最后的脚本也非常简洁,适合我这样的萌新。64位程序,拖进ida,看几个主要函数add函数:注意,如果bss段的0x6020a0这里没有内容的话,程序会先申请一个0x10的chunk,用于存放接下来为用户申请的chunk的地址和print girlfriend name函数的地址,可以看到这个函数用处就是输出内容,同时,这个chunk本身的地址会被放在0x6020a0处接下来,用户输

2020-08-13 12:08:03 196

原创 buuctf hitcontraining_heapcreator HITCON Trainging lab13

这一题在wiki上面是有的,在Chunk Extend and Overlapping里面,个人觉得这一题对于我这种刚开始学习堆的人来说,是比较容易理解的一题拖进IDAcreate_heap函数:值得注意的是,他这里是会有两次malloc的,也就是说,你申请了一次,他就会创建两个chunk,第一个chunk是0x20大小的,可以看作是记录的作用,里面存放着第二个chunk的size和指针,同时,第一个chunk的地址指针保存在bss段中,heaparray数组这里:这样表述起来可能不太清晰,我申

2020-08-10 17:27:48 1014 1

原创 buuctf pwn hitcon2014_stkof 初识unlink

最近开始学堆,看了wiki和一些大佬的文章搞懂了这个有关unlink的题目:hitcon2014_stkof首先拖进ida,看看几个主要的函数:函数1,创建对,同时可以看到,堆的地址被存储在了s处,点进去看看发现是bss段,像这样的指针,就是这类题目的一个特征函数2,编辑堆内容,长度可以自己设置,有堆溢出漏洞函数3,free堆函数4用处不大先把三个函数写好:def alloc(size): sh.sendline('1') sh.sendline(str(size))

2020-08-02 17:08:57 682 3

原创 攻防世界 pwn100&&pwn200

pwn100拖进ida分析,主要如下:我的基本思路就是,利用栈溢出,通过puts函数,泄露read函数的地址,通过工具来得到相应的libc版本,返回main函数,进行第二次溢出然后进行攻击第一次溢出:由于程序为64位程序,而64位程序的前七个参数是放在寄存器中的,第一个参数是放在rdi寄存器中的,因此,我们要先找到相应的gadgets我们要用的就是这个了然后,把read的got地址传入,调用puts函数,返回main函数第二次溢出:得到read函数的地址后,通过相应的工具得到对应的li

2020-05-18 11:38:04 200

原创 记一次武汉科技大学ctf新手赛 wuctf2020

这两天做了一下武汉科技大学的新手赛,由于我是小萌新,难的题目都不会,下面是部分简单题的wpMisc1.Space Club打开之后是这样的,结合题目,估计可能是一堆空格之类的,用python看一下运行结果如图,32即为空格的ASCII码,猜测10为分隔符,分隔符之间空格的不同数量即为有用信息,再提取我这是空格数量+97后的结果,发现分隔符之间的空格数量,要么为6个,要么为12个,由...

2020-04-03 20:24:07 1105 3

原创 pwn stack2

拖进32位ida大致分析一波,这个程序就是你可以往这里面存一些数字,然后选择展示数字,增加数字等操作,这题我又学到了一个新的较为隐蔽的漏洞:数组溢出看这里,当我们选择3,add number选项时,虽然v13数组定义的是100个,但是对v5没有任何的检测,这样一来,我们就能修改任意一个数字,包括100个开外的数据,我们可以利用这一点,改变返回地址等参数这里的hackhere是用不了的,...

2020-03-15 00:44:55 171

原创 pwn level3

解压之后有一个level3和libc_32.so.6,拖进ida(32位)主要就是这两个函数,一个write和一个read这道题的基本思路就是通过第一次溢出将write函数在got表中的地址泄露,然后减去在libc_32.so.6中的偏移,得到基地址,在加上ibc_32.so.6中找到的system和"/bin/sh"偏移得到真实的地址,然后再执行一次main函数进行第二次溢出对于writ...

2020-03-15 00:39:01 521

原创 pwn int_overflow

32位程序,拖进ida看一下首先,我们要输入1进入login()输入username后再输入passwd,注意这里passwd允许我们输入的长度为0x199再点进check_passwd这里用v3来保存我们输入的passwd的长度,但是,这个v3是unsigned int8型的,8个字节,只能存储不超过256的数,如果超过会重新从1开始计算,这样的话,对于1个字符和257个字符,v3...

2020-03-15 00:30:26 178

原创 pwn string

题目来源:攻防世界拿到题目后checksec可以看到是64位的,拖到ida里看一下有个v3=malloc(8ull)这个函数查了一会儿,分配内存的,最后的结果就是v3前面放了68,后面放了85点进sub_400d72这个函数看一下可以看到这里有三个主要的函数,我们逐个分析第一个...

2020-03-13 15:20:07 608

原创 攻防世界mobile easy-apk

做的第一次apk题题目来源:攻防世界拿到apk文件后解压,没有lib,就分析Java源码找到MainActivity,看起来像是base64,但这个new又让人觉得看起来不太对劲,拿去试了之后发现是乱码,果然不是原来的base64算法了。再去分析一波base64new的代码,不是很懂Java,看了一会之后,好像是把base64的表改了一下,接着就自己去写了代码,解密得到flagta...

2020-02-21 10:49:54 1207 1

原创 pwn when did you born

栈溢出的题题目来源:https://cgctf.nuptsast.com/challenges#Pwn拖进IDA(64位)分析一波代码,看到这个gets,应该是栈溢出了首先,我们需要提供一个不是1926的值,然后,通过输入v4时的溢出来改v5的值为1926,就可以拿到flag了接着计算偏移,v4为ebp-20h,v5为ebp-18h,差为8h,payload就出来了下面写出脚本,运行...

2020-02-21 10:49:36 146

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除