
CTF
哒君
dayjun.top
展开
-
矿大CTF —— linux
题目下载下来后,是一个linux可执行文件,但是放到ida里面却编译不出什么有用的信息。然后放到linux中运行,发现它还需要libpython2.7.so.1.0文件,于是推测这是一个python写的文件转换成了exe可执行文件。于是可以用pyinstxtractor.py将其还原为py文件。还原后,生成如下文件夹:将re04后缀名改为py,打开即可得...原创 2019-03-14 21:43:07 · 725 阅读 · 3 评论 -
新姿势Get:覆写_IO_list_all 来getshell ,0CTF2016 zerostorage 的exp以及心得体会
先看大佬的总结 -> https://www.jianshu.com/p/a6354fa4dbdf关于FSOP的要点就是:FSOP选择的触发方法是调用_IO_flush_all_lockpIO_flush_all_lockp函数触发条件:当libc执行abort流程时 abort可以通过触发malloc_printerr来触发当执行exit函数时当执行流从main函数返...原创 2019-08-11 10:27:24 · 1226 阅读 · 1 评论 -
LCTF2018 PWN easy_heap 远程环境搭建
一直很头疼环境的问题,需要目标环境的glibc版本是2.27,而我的是2.23如果开启第二个虚拟机占用内存太大,所以我选择用docker于是终于找到了能在libc2.27下工作的gdb插件pwngdb(注意不是那个pwndbg)所以这个镜像可以作为Tcache机制题目的本地测试容器GitHubdocker镜像:链接:https://pan.baidu.com/s/1eCIbJl3Ig9...原创 2019-08-08 22:08:38 · 914 阅读 · 0 评论 -
记一次非常巧妙的思路 2017 0ctf babyheap 的exp
收获malloc的时候,根据堆分配器规则,它会依次处理 unsorted bin 中的 chunk,将其放入到对应的 bin 中,之后会再次尝试分配 chunk若之前释放的 chunk 比当前申请的 chunk 大,可以从其前面分割出来一块malloc_hook附近的fake chunk 的size为0x7f堆的始终是 4KB 对齐的 (?_ ?)exp:因为保护全开,则简单的A...原创 2019-08-01 23:37:24 · 371 阅读 · 0 评论 -
新姿势GET 通过unsorted bin泄露libc地址 与 fastbin double free
源文件GitHubchecksec初步分析利用方法用sentence函数分配small bin大小的bin,将其free以后,会归入unsorted bin,而如果只有一个bin的话,其fd与bk都是main_arena + offset,尽管free以后内容会清0,但是search函数中的memcmp却可以通过使v1为\x00来绕过,这样的话就会打印出bin的fb字...原创 2019-08-01 20:25:24 · 2259 阅读 · 2 评论 -
没有对方libc文件,如何getshell?xdctf12 pwn200 与 welpwn 的 writeup
DynELF文档:https://pwntools.readthedocs.io/en/stable/dynelf.html简单来说,DynELF可以泄漏对方的libc信息关于DynELF的原理,这个博客讲的很详细原创 2019-07-26 18:29:31 · 463 阅读 · 0 评论 -
两种 fastbin attack 方法做 2014 hack.lu oreo
终于第一次自己独立做出一道完整的堆题方法一:ctf-wiki很详细,不多赘述方法二:与 ctf-wiki 的思路类似,最终也是控制message的指针来达到任意地址写的目的但是此处用的是 Arbitrary Alloc ,即控制fastbin块的fd指针来达成目的具体请看exp的注释exp:from pwn import *from LibcSearcher import ...原创 2019-07-31 10:29:00 · 702 阅读 · 0 评论 -
2017 insomni'hack wheelofrobots 的 exp
加深记忆与理解ctf-wiki#coding:utf-8from pwn import *context(arch='amd64',os='linux')context.log_level = 'debug'io = process('./wheelofrobots')elf = ELF('./wheelofrobots')libc = ELF('/lib/x86_64-lin...原创 2019-07-25 15:27:19 · 350 阅读 · 3 评论 -
L-CTF2016 PWN200 writeup
本以为已经可以做出题来了。。。没想到连利用点在哪都没看见例行公事居然什么保护都没开,有趣利用点分析v2位于rbp-0x30的位置,而name会读入0x30个字符,且如果读入0x30个字符的话末尾不会有\x00,这样在printf的时候就会顺带leak出rbp的值id保存在rbp-0x38的位置*buf在栈上的位置是rbp-0x40,dest在栈上的位置是rbp-0x8,但是b...原创 2019-08-02 18:37:14 · 718 阅读 · 0 评论 -
2014 HITCON stkof 的 exp
思路借鉴于ctf-wiki,但ctf-wiki之中的思路较简略,且exp有一点疏忽的地方,故在此记录原创 2019-07-23 18:40:34 · 576 阅读 · 0 评论 -
攻防世界 - pwn100 - WriteUp
pwn100文件链接 -> Githubchecksec寻找漏洞sub_40063D 函数中获取输入存放到 v1 ,存在栈溢出漏洞攻击思路该程序中没用system函数,也没有binsh字符串,而且参数是经过寄存器传递的,所以要通过ROP来达成泄露 libc ,写入 /bin/sh 的操作寄存器 rdi 中存放的是写入的地址,rsi 是写入的字节数,所以可以通过po...原创 2019-06-11 22:11:21 · 4246 阅读 · 18 评论 -
攻防世界 - NewsCenter - WriteUp
NewsCenter这一题考察的是 SQL 注入首先用 ' and 0 union select 1,2,3 # 来初步判断该sql查询返回三列数据然后用 ' and 0 union select 1,TABLE_SCHEMA,TABLE_NAME from INFORMATION_SCHEMA.COLUMNS # 得到表名,很明显我们需要得到 secret_table 表中的内容再用 ...原创 2019-06-08 20:08:58 · 13775 阅读 · 0 评论 -
攻防世界 - re-for-50-plz-50 - writeup
re-for-50-plz-50文件链接 -> Github初步分析ELF for MIPS,第一次见,特此记录一下知识梳理关于Mips指令,参见 这篇博客算法分析主要代码段如下:loc_4013C8:lui $v0, 0x4A # 加载0x4A到$v0寄存器的高16位addiu $v1, $v0, (meow - 0x4A0000) # "cbtc...原创 2019-05-29 21:52:58 · 1394 阅读 · 0 评论 -
强网杯 - JustRe - writeup
JustRe文件链接 -> Github初步分析使用32位的IDA打开文件按 shift+F12 搜索字符串,找到了带有 flag{%.26s} 字样的字符串。根据交叉引用找到该字符串被引用的代码段发现 test eax,eax 这句代码上方的代码IDA识别不出来。按下 [space] ,查看上方的代码是什么样的我们发现它调用了这个函数,跟进去看一下发现端倪了,这里使...原创 2019-05-29 15:28:34 · 1483 阅读 · 0 评论 -
攻防世界 - The_Maya_Society - writeup
The_Maya_Society文件链接 -> Github初步分析压缩包解压以后,有这些文件打开 html 文件,浏览器中显示如下点击download按钮,下载launcher文件。由于网站原因,这里download是进不去的,所以直接打开本地的launcher文件程序执行过程程序调用了time函数获取当前时间,并把它格式化后,使用 sub_B5A 函数对它进行md...原创 2019-05-30 21:12:26 · 1801 阅读 · 2 评论 -
De1ctf收获:用_IO_2_1_stdout_泄露libc地址 weapon的writeup
GitHub例行公事可以看出保护全开进行分析可以发现程序功能很简单createdeleterenamecreate限定大小最大只能是0x60index只能是0-9但是是自个输入的存在一个结构,struct[0] = size,struct[1] = ptrreadn函数没有用\x00截断delete中间index的判断有问题,且存在uafren...原创 2019-08-11 21:13:47 · 1640 阅读 · 0 评论