CTF-PWN
筱
这个作者很懒,什么都没留下…
展开
-
BUUCTF:pwnable_orw
BUUCTF:pwnable_orw0x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x01 文件分析32位程序,开启了canary保护0x02 运行提示输入shellcode0x03 IDAmain函数调用orw_seccomp函数后,输入shellcode后执行shellcode写入sys_call的shellcode,发现不能执行orw_seccomp函数seccomp 是 secure computing 的缩写,其是原创 2020-08-27 11:31:25 · 1545 阅读 · 0 评论 -
BUUCTF:cmcc_simplerop(write up)
BUUCTF:cmcc_simplerop0x01 文件分析0x02 运行0x03 IDA0x04 思路0x04-1 解法一0x04-2 解法二0x05 exp解法一解法二0x01 文件分析32位程序,开启NX、部分RELRO保护0x02 运行输入一串字符串0x03 IDAmain函数存在栈溢出漏洞0x04 思路0x04-1 解法一该题没有system函数也没有"/bin/sh",也无法泄露函数真实地址可利用int 80h系统调用设置系统调用参数即可执行e原创 2020-08-26 23:50:31 · 790 阅读 · 0 评论 -
BUUCTF:bjdctf_2020_babyrop2(write up)
BUUCTF:bjdctf_2020_babyrop20x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x01 文件分析64位程序,开启栈不可执行、canary、部分RELRO保护0x02 运行输入两次字符串0x03 IDAmain函数调用了下面三个函数init函数初始化,输出提示gift函数存在格式化字符串漏洞vuln函数存在栈溢出漏洞0x04 思路开启canary保护可利用gift函数原创 2020-08-26 22:36:07 · 918 阅读 · 1 评论 -
BUUCTF:picoctf_2018_rop chain(write up)
BUUCTF:picoctf_2018_rop chain0x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp关键代码说明0x01 文件分析32位程序,开启了栈不可执行、部分RELRO保护0x02 运行输入一串字符串,根据题名也知道需要构造ROP0x03 IDA主函数vuln函数漏洞点:没有限制输入字符串长度flag函数win_function1函数win_function2函数0x04 思路flag函数为后门函数原创 2020-08-26 01:15:14 · 1184 阅读 · 1 评论 -
BUUCTF:bjdctf_2020_babystack2(write up)
BUUCTF:bjdctf_2020_babystack20x01文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x01文件分析64位程序,开启了栈不可执行、部分RELRO保护0x02 运行先输入name的长度,再输入name0x03 IDA输入nbytes的长度要小于10同时给出了后面函数直接getshell0x04 思路比较nbytes和10的大小,可以利用符号溢出漏洞,输入一个负数,进而输入name的时候可以实现栈溢出跳转到后门函数ge原创 2020-08-24 18:05:18 · 1480 阅读 · 0 评论 -
BUUCTF:jarvisoj_level3_x64(write up)
BUUCTF:jarvisoj_level3_x640x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x01 文件分析64位程序,仅开启栈不可执行保护0x02 运行输入一个字符串0x03 IDA字符串可输入长度可造成栈溢出0x04 思路没有提供system函数和"/bin/sh"的地址第一次栈溢出泄露read函数地址来得到libc版本,从而获取system函数和"/bin/sh"的地址,并且返回主函数这里有个难点就是参数需要放到对应原创 2020-08-24 17:13:09 · 883 阅读 · 0 评论 -
BUUCTF:jarvisoj_level4(write up)
这里写目录标题0x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x01 文件分析开启了栈不可执行、部分RELRO保护0x02 运行简单的输入一个字符串0x03 IDA漏洞点在vulnerable_function输入长度可以造成栈溢出0x04 思路没有提供system函数和"/bin/sh"的地址第一次栈溢出泄露libc版本,从而获取system函数和"/bin/sh"的地址,并且返回主函数第二次栈溢出跳转执行system("/bin/原创 2020-08-24 15:48:42 · 864 阅读 · 2 评论 -
BUUCTF:jarvisoj_tell_me_something(write up)
BUUCTF:jarvisoj_tell_me_something0x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x01 文件分析仅开启了栈不可执行保护0x02 运行只是输入一条message0x03 IDAgood_game函数将flag.txt内容输出0x04 思路是一道简单的栈溢出题,知道覆盖长度即可,gdb调试发现输入message的地址到返回地址的长度为0x88字节0x05 exp#!/usr/bin/python原创 2020-08-24 15:26:16 · 446 阅读 · 0 评论 -
BUUCTF:jarvisoj_fm(write up)
BUUCTF:jarvisoj_fm0x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x01 文件分析开启了栈不可执行、canary以及部分RELRO保护0x02 运行运行未发现什么异常,但感觉应该会是格式化字符串漏洞0x03 IDA程序比较简单,关键部分都在主函数中,有getshell的函数,当x=4才执行system("/bin/sh")存在格式化字符串漏洞0x04 思路x的值默认为3,需要利用格式化字符串漏洞改写x的值测试格式原创 2020-08-24 13:14:43 · 321 阅读 · 0 评论 -
BJDCTF 2nd:ydsneedgirlfriend2(write up)
BJDCTF 2nd:ydsneedgirlfriend20x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x01 文件分析开启了栈不可执行和canary以及部分RELRO保护0x02 运行运行时并没有发现太大问题,就是根据选项执行相应功能。0x03 IDAadddelete函数show函数漏洞点在free函数的时候,存在着UAF漏洞,只是free掉了指针个context,但是没有置空0x04 思路将puts指针修改为后门原创 2020-08-24 10:18:47 · 215 阅读 · 0 评论 -
BUUCTF:[Black Watch 入群题]PWN(write up)
BUUCTF:[Black Watch 入群题]PWN0x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x06 栈迁移补充32位程序0x01 文件分析开启了栈不可执行0x02 运行运行一下没什么特殊的,猜测应该是栈溢出0x03 IDA虽然buf在栈上但输入的长度仅仅能够覆盖ebp和返回地址,但s在bss段,而且输入的长度也够长,因此想到了栈迁移,覆盖vul_function返回地址,使其到bss段上执行0x04 思路s在bss段上的地址为0原创 2020-08-23 18:47:39 · 796 阅读 · 2 评论 -
32位/64位程序 利用ROP泄露函数地址
利用ROP泄露函数地址0x01 32位0x02 64位0x01 32位addr = u32(p.recvuntil("\xf7")[-4:])0x02 64位addr = u64(p.recvuntil("\x7f")[-6:].ljust(8, "\x00"))不能保证所有题试用,但绝大部分泄露函数地址的题可以用到原创 2020-08-23 01:30:03 · 580 阅读 · 0 评论 -
BUUCTF pwn ez_pz_hackover_2016(write up)
BUUCTF pwn ez_pz_hackover_20160x01 文件分析0x02 运行0x03 IDA0x04 思路0x05 exp0x01 文件分析没有不可执行栈和段上的读写保护。0x02 运行输入name后发现上面还有一个地址。0x03 IDA若输入crashme,即可进入vlun函数,主要的漏洞点在这个函数内部的,chall栈的大小很大,足够写入shellcode,之后的vuln函数会将name的数据复制到vuln的栈上面,而且复制的数据量远远大于栈的长度,会造原创 2020-08-23 00:33:05 · 423 阅读 · 0 评论 -
攻防世界 PWN 高手进阶 stack2 (write up)
攻防世界 PWN 高手进阶 stack2 (write up)stack20x01 查看保护机制0x02 查看反汇编0x03 利用过程修改返回地为system地址设置system函数的参数为'sh'expstack2该题利用未对数组边界进行检查,从而可以实现栈溢出0x01 查看保护机制32位开启NX和canary无PIE0x02 查看反汇编int __cdecl main(int argc, const char **argv, const char **envp){ int原创 2020-08-18 01:46:37 · 419 阅读 · 0 评论 -
攻防世界 PWN 高手进阶 dice_game (write up)
攻防世界 PWN 高手进阶 dice_gamedice_game0x01 查看保护机制0x02 反汇编main:sub_A20():sub_B28():0x03利用过程功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入dice_ga原创 2020-08-18 00:44:29 · 382 阅读 · 0 评论