P64
  • 2024-11-18[BUUCTF] 萌新pwn
    做下第一页test_your_nc直接是/bin/sh,nc上去就行rip先简单review一下函数调用栈的变化。首先记住栈是高地址向低地址增长,简单讲就是栈底在高地址,栈顶在低地址。esp保存栈顶,ebp保存栈底。32位为例,首先反向压入callee的参数:argn,....arg2,arg2,然后压入retaddr,这
  • 2024-11-15ISCTF比赛PWN题前三题题解
    萌新第一次发布题解,如有错误还请各位大佬指出。本次比赛个人pwn出题情况,还是太菜了,后面四题基本看不懂girlfriend解题思路:利用填充覆盖检查位置,绕过前面admin检查,进入vuln函数,经过动调发现,每次数据存放位置,从而达到提权解题过程存在后门函数read可以读取0x30大小,观察buf
  • 2024-11-012024御网线上Pwn方向题解
    ASMChecksec检查保护基本上保护都关闭了64位ida逆向程序只有一段,并且返回地址就是输入的数据,看起来就是srop了,找一下可以用的gadget通过异或清空rax值,然后通过异或ecx和1,异或rax和rcx即可增加rax的值,同理左移一位同样可以增加rax的值,将rax增加到0xf然后打srop,程序还给出了
  • 2024-10-302024年网鼎杯青龙组 pwn
    pwn2开局泄露栈地址,又是栈溢出,直接栈转移拿下frompwnimport*fromLibcSearcherimportLibcSearcher#fromCrypto.Util.numberimportbytes_to_long,bytes_to_long#--------------------settingcontext---------------------context.clear(arch='amd64',os='linux&#
  • 2024-10-29强网拟态2024 wp
    CryptoXOR1.打开环境是一串字符,用一个异或脚本或者在线解码工具就可以解出来(只有一次加密)key是mimic解密得到flag在线解密或者脚本:#密文ciphertext="0b050c0e180e585f5c52555c5544545c0a0f44535f0f5e445658595844050f5d0f0f55590c555e5a0914"#将十六进制字符串转换为字节cip
  • 2024-10-27BuildCTF 2024 Writeup - by 涉海蜉蝣
    BuildCTF2024Writeup-by涉海蜉蝣MiscEZ_ZIP-bysorin010查找分析发现压缩包,使用foremost分离疑似套娃压缩包,使用开源软件extractnow或者脚本都可以批量压缩,这里使用extractnow得到flagHEX的秘密-bysorin16进制每两位截取一次转10进制,对比Build的前几个字符
  • 2024-10-14[2024领航杯] Pwn方向题解 babyheap
      [2024领航杯]Pwn方向题解babyheap前言:当然这个比赛我没有参加,是江苏省的一个比赛,附件是XiDP师傅在比赛结束之后发给我的,最近事情有点多,当时搁置了一天,昨天下午想起来这个事情,才开始看题目,XiDP师傅说是2.35版本的libc,确实高版本libc的却棘手,我经验太浅了调试半天,最后让我们
  • 2024-10-08NSSCTF(PWN)10
    [HUBUCTF2022新生赛]singout这题是道签到题,直接nc但是catflag得不到flag我们可以用:1catflag2nl${IFS}f*3tacfla*>&24tacf\lag>&25tail./*6tac${IFS}f*7tac$IFS$9f*8tac./*用这些得到flag[LitCTF2023]狠狠的溢出涅~查看发现是64位文件这道
  • 2024-09-30NSSCTF(PWN)4
    [GDOUCTF2023]Shellcode使用checksec发现这是64位文件查看main函数发现这题涉及到了栈溢出我们点开第一个read,name发现位于bss段中,就想到这里涉及到了shellcode,但是使用 shellcraft默认生成的字节数是44字节,这里最大输入数才25字节,所有不能使用默认生成这里我们就
  • 2024-09-17BaseCTF2024 pwn
    [Week1]Ret2textexpfrompwnimport*context(os='linux',arch='amd64',log_level='debug')io=remote("challenge.basectf.fun",32537)#io=process("./Ret2text")ret_addr=0x04011A3payload=(0x20+0
  • 2024-09-17xyctf2024 pwn
    helloworldchecksec大多保护都开启了main函数int__fastcallmain(intargc,constchar**argv,constchar**envp){charbuf[20];//[rsp+0h][rbp-20h]BYREFinit();printf("%s","pleaseinputyourname:");read(0,buf,0x48uLL);p
  • 2024-09-17常回家看看之house_of_catWO
    house_of_cat前言:houseofcat这个利用手法和前面提到的houseofkiwi,和houseofemma利用的手法是一个链子,当程序无法通过main函数返回时候,或者程序不能显性调用exit函数的时候,我们可以通过__malloc_assert来刷新IO流,当然这个函数在2.35之后移除了刷新IO流,最后在2.37彻
  • 2024-09-16常回家看看之house_of_cat
    house_of_cat前言:houseofcat这个利用手法和前面提到的houseofkiwi,和houseofemma利用的手法是一个链子,当程序无法通过main函数返回时候,或者程序不能显性调用exit函数的时候,我们可以通过__malloc_assert来刷新IO流,当然这个函数在2.35之后移除了刷新IO流,最后在2.37彻
  • 2024-09-15xyctf2024 pwn
    helloworldchecksec大多保护都开启了main函数int__fastcallmain(intargc,constchar**argv,constchar**envp){charbuf[20];//[rsp+0h][rbp-20h]BYREFinit();printf("%s","pleaseinputyourname:");read(0,buf,0x48uLL);p
  • 2024-09-10常回家看看之house_of_kiwi
    houseofkiwi前言:house_of_kiwi一般是通过触发__malloc_assert来刷新IO流,最后可以劫持程序流或者通过和setcontext来打配合来进行栈迁移来得到flag。我们看看触发的源码#ifIS_IN(libc)#ifndefNDEBUG#define__assert_fail(assertion,file,line,function) \ __ma
  • 2024-09-09栈迁移(详解)
    栈迁移原理栈迁移主要利用了leave_ret这个指令leave返回上级函数时,恢复原本的栈空间leavemovesp,ebppopebpret返回上级函数后,执行上级函数的命令ret等同于popeip(不存在这样的指令esp'''ebpret在函数的先执行到leave指令时,会将ebp处填充的地址pop到ebp中去
  • 2024-09-09羊城杯比赛pwn复现
    title:羊城杯比赛pwn复现date:2024-09-0520:12:19categories:ctf-比赛复现首先推荐这个博客本篇学习的思路来自这个大佬实力有限,只复现出了pstack这一题pstack知识点这个题目是个很经典的栈迁移的题目,因为栈溢出的空间不够,但是常规的栈迁移一般有方法获得一
  • 2024-09-06house of orange
    houseoforange1.针对没有free的堆题目orange部分申请比topchunk的size大的chunk,会将原本的chunk放入unsortedbin中,可以借此泄露地址FSOPio文件结构有chain连接成一个链表形式,这部分,头节点记录在_IO_list_all上,通过unsortedattack或者largebinattack劫持_io_list_all,指向
  • 2024-09-06house of cat
    调用方法调用链1houseofcat调用链__malloc_assert在2.35的glibc中源码如下staticvoid__malloc_assert(constchar*assertion,constchar*file,unsignedintline, constchar*function){(void)__fxprintf(NULL,"%s%s%s:%u:%s%sAssertion`%s'fa
  • 2024-09-06house of stom
    完成事项houseofstom学习未完成事项wmctf的blineless没打通如何解决未完成事项下周待做事项houseoforangehouseoflore本周学习的知识分享houseofstom条件:1.能控制unsorted的bk指针,还有largebin的fd_nextsize和bk_nextsize码源分析largebinattack:申请大chunk
  • 2024-08-16ret2csu出题小记
    第一次出题,没什么经验,按照https://www.cnblogs.com/bpcat/p/16878676.html这篇文章简单改的代码(这文章讲的还算细,跟着动调就好了)直接抄exp肯定是不行了,多加了几句话导致栈空间有一丢丢偏移,但是影响不大,这里展现下当时卡住的地方卡在jmp的位置了,爆段错误,于是去拿其他
  • 2024-08-15浅析house of cat(下)
    前言:这篇是hosueofcat系列的最后一篇,之后估计要停一段时间去学apple1,个人感觉学习的顺序应该是orange->apple2->cat->emma->apple1但是实际上学到cat应该就可以通杀了。但是本着学习的态度,还是看看apple1。外一以后需要用上呢。例题:这里选的例题是2022强网杯的hou
  • 2024-08-14【20大必备范文】经典范文012 邀请信 P64
    Directions:WriteanemailtoinviteafamousprofessortogivealecturetothestudentswholoveEnglishinyouruniversity.DearProfessorAlexander,        OnbehalfofallthestudentsatPekingUniversitywhosharealovefortheEnglishla
  • 2024-08-102024比赛wp合集
    记录一下最近比赛的wp吧D^3CTFd3note没有限制idx范围,越界任意读写,读malloc地址泄露libc,网上写systemfromExcalibur2import*proc('./pwn')lib('./libc.so.6')el('./pwn')default('h')defadd(idx,size,content):sl(b"276")sl(s
  • 2024-08-03protobuf pwn题专项
    protobufpwn准备工作安装protobuf编译器sudoapt-getinstalllibprotobuf-devprotobuf-compiler安装python依赖库pip3installgrpciopip3installgrpcio-toolsgoogleapis-common-protos安装pbtkgitclonehttps://github.com/marin-m/pbtkggbond来自DubheCTF