ICode9

精准搜索请尝试: 精确搜索
  • houseoforange_hitcon_2016 House of orange2021-04-15 00:02:28

    这个题可真是经典,甚至连方法都是来源于此 看了看 防御全开 看看函数 根据题分析,本题是没有释放功能的,但是如果没有空闲的chunk我们难以获取libc地址 但是如果我们申请的chunk大小比top chunk大,这里需要满足几个条件: topchunk size > MINSIZE(0x10) top chunk inuse位为1 修改

  • pwn题堆利用的一些姿势 -- malloc_hook2021-04-12 09:32:05

    malloc_hook 概述初级必备姿势gyctf_2020_force 常规搭配姿势按需进阶姿势总结 pwn题堆利用的一些姿势 – free_hook 概述   在做堆题的时候,经常会遇到保护全开的情况,其中对利用者影响最大的是PIE保护和Full RELRO,NX保护和栈保护对堆利用来说影响都不大,一般利用也不会

  • [BUUCTF-Pwn]刷题记录2021-04-10 03:01:10

    [BUUCTF-Pwn]刷题记录 力争从今天(2021.3.23)开始每日至少一道吧……在这里记录一些当时没做出来的/比较有意思的。 最近更新(2021.4.10) 如果我的解题步骤中有不正确的理解或不恰当的表述,希望各位师傅在评论区不吝赐教!非常感谢! [OGeek2019]babyrop /dev/random和/dev/urandom是u

  • ciscn_2019_n_32021-03-14 17:02:46

    这题和之前做的一个题很像,但是记不清了,也是分开两块chunk分别存data和操作,印象中是这样,那题也是先申请三个然后释放俩,再申请回来,回来的这个的两部分控制好大小,使得分回来的两块chunk来自刚才free的两块chunk的同一部分,放操作的部分,然后就能改变操作函数了,具体记不清了,反正也

  • 攻防世界(11):string2021-02-26 23:05:24

    查壳:开了Canary和NX,没开Pie ida查看每个函数的有用的意义(a1==v4) 函数 意义 main 引导进入sub_400D72 sub_400D72 获取输入,长度<12继续 sub_400A7D 获取输入,直到输入为 east 为止才能进行下一个流程 sub_400BB9 获取输入,如果输入的值不是 1 ,那么直接进行下一个流程

  • 攻防世界(6):CGfsb2021-02-26 15:03:15

    查壳,Pie没开,但开了canary和NX,无法直接覆盖返回地址或使用shellcode 逛该ida 发现pwnme是拿到flag的关键 利用printf(%s)的特性可以泄露偏移地址 可以看这个博客学习格式化字符漏洞 得到偏移量为10(数一数)41414141是第几个出现的 编写exp,利用%n修改pwnme的值,由于p32(addr_pwnme)占4

  • buuoj Pwn writeup 41-452021-02-11 09:06:11

    41 [ZJCTF 2019]EasyHeap 保护 菜单堆题。 create 就是平平无奇的申请然后写入东西,地址在bss上面。 没有溢出。 edit这输入要写多少写就行,这就有了堆溢出了。 del 这个函数没啥问题,释放空间后野指针也清掉了。 但是吧,又发现了个这玩意。 那个133t是个后门函数。 所以问题就是

  • 寒假训练 npuctf_2020_bad_guy(11/250)利用overlap与fastbin attack来篡改fd指针,从而通过stdout达到泄露libc2021-01-22 02:32:39

    题目其实本身不难,但我太菜了,这种基础题不会写,其次有个疑问就是为什么stdout可以泄露libc,还没有逆过这个函数,所以还不是很清楚 思路 由于没有show函数,所以只能通过stdout来leak libc,而这程序的edit函数有overlap,所以我们可以先把一个chunk放入unsorted bin中 在通过fast bin attac

  • pwn-EasyHeap(House of spirit)2020-09-11 17:33:25

    checksec看防护:    部分rel,说明got劫持可行 create:   edit:      delete:      题目有后门函数但buu环境无法利用,所以要通过House of Spirit伪造chunk getshell house of spirit原理 house of spirit构造chunk时有几个关键点 1.fake chunk 的 ISMMAP 位不能为1,因为

  • 【pwn】 hitcontrain_bamboobox && ZJCTF_19_EasyHeap2020-03-06 15:08:12

    这两个题目类似,放在一起写。 例行检查 没有pie,got表可写。 程序逻辑 edit功能都存在堆溢出,堆指针都保存在bss段上,可以通过unlink对got表进行读写。本来两个程序都存在后门,但是oj在部署的时候路径有点问题,所以就想办法获取shell。 bamboobox存在show功能,可以泄露libc地址。

  • hitcontraining_bamboobox 堆技巧 unlink2020-02-27 18:02:09

    目录 利用思路 利用过程 get flag exp 脚本 内容来源 利用思路   由于之前 house of spirit 时候已经逆向分析过,这里不再重复 利用过程 add(0x40,'a' * 8) add(0x80,'b' * 8) add(0x80,'c' * 8) ptr = 0x6020c8 fake_chunk = p64(0) fake_chunk += p64(0x41) fake_chunk

  • 1.入门新手看完别人写的wp,然后自己写,攻防世界CGfsb格式化字符串漏洞2020-02-06 18:04:47

    我们拿到一个文件,扔到linux终端里 checksec一下 我们可以看到这是一个开nx了的32位的文件,我们打开x86ida,按f5查看伪代码,可以看到 这个当pwnme=8的时候 flag 就出来了 我们发现 他的上面有一个printf(const char*)v8 正常的应该是printf(’%s",s), 我们当然可以这样写,但是这

  • ciscn_2019_ne_52020-02-04 10:03:06

    ret2text类型 从fflush中获取 “sh”   传参给system即可    脚本如下 from pwn import * r=remote('node3.buuoj.cn',25488) e=ELF('ciscn_2019_ne_5') sys_plt=e.plt['system'] sh_addr=0x80482ea r.recvuntil('Please input admin password:')

  • BUU PWN(一)2020-01-28 21:02:34

    test_your_nc 连上即可拿到shell rip from pwn import * context.log_level='debug' #p=process('./17pwn1') p=remote("node3.buuoj.cn","26137") p.recvuntil("please input\n") payload='a'*0xf+'a'*8+p

  • Roarctf 几道pwn 复现2019-10-27 13:03:33

    1、easy_pwn   可以利用的点:    __int64 __fastcall sub_E26(signed int a1, unsigned int a2){ __int64 result; // rax if ( a1 > (signed int)a2 ) return a2; if ( a2 - a1 == 10 ) LODWORD(result) = a1 + 1; else LODWORD(result) = a1; return (unsigne

  • 攻防世界新手区pwn writeup2019-09-08 11:00:53

    CGfsb 题目地址:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5050 下载文件后,使用file命令查看。 32位的文件,用ida打开,F5查看伪代码。 printf漏洞:https://www.cnblogs.com/cfans1993/articles/5619134.html 思路: 找到pwnme的地址 把pwnme的地址写到s里

  • (攻防世界)(pwn)hacknote2019-07-31 16:40:27

    use after free 堆!堆!堆! 终于对堆的结构有了一定的了解,开始做堆的题目,恰巧攻防世界xctf中有这么一题可以练练手,还是挺不错的。。。 对于use after free呢,这里有ctf-wiki的学习资料:https://ctf-wiki.github.io/ctf-wiki/pwn/linux/glibc-heap/use_after_free-zh/ 写的非常

  • mary_morton2019-07-22 17:35:47

    mary_morton 这道题开启了canary保护,大概说一下题目,就是让你选择漏洞一个格式化字符漏洞还有一个就是栈溢出,这道题思路就是通过格式化字符漏洞泄露出cannary的值,然后进行栈溢出,后门题目已经给了。 来算算偏移量吧,buf为rbp-90h,canary就是v2为rbp-8h,所以偏移量为88h,然后在算

  • HITCON training lab 11——bamboobox2019-04-23 23:44:53

    64位程序  #House Of Force 程序逻辑   1 int __cdecl main(int argc, const char **argv, const char **envp) 2 { 3 _QWORD *v3; // [rsp+8h] [rbp-18h] 4 char buf; // [rsp+10h] [rbp-10h] 5 unsigned __int64 v5; // [rsp+18h] [rbp-8h] 6 7 v5 = __readfsqwor

  • HITCON Trainging lab13——heapcreator2019-04-19 12:49:13

    64位程序,没开PIE    #chunk overlapping   #off by one 程序逻辑 1 int __cdecl main(int argc, const char **argv, const char **envp) 2 { 3 char *v3; // rsi 4 const char *v4; // rdi 5 char buf; // [rsp+0h] [rbp-10h] 6 unsigned __int64 v6; // [rsp+8

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有