自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 题单做一做

题目不难关键在于审题,看到一堆unsigned int和int就想整形溢出,事实也确实是malloc时候unsigned整形溢出,构成堆重叠。之后也挺常规的。

2022-10-15 16:32:58 229 1

原创 从零开始密码学生活0

基础知识详见这位师傅写的相当不错略讲一下我的想法,rsa算法的基础在于对模的运算各种变形,直接干例题吧。

2022-09-04 19:16:31 351 1

原创 hitcon_2018_children_tcache(UNsortattack,chunk extend,house of orange,srop)

复现了一下师傅的exp这个题目的关键在于strcpy会溢出\x00我们就要利用它来清空chunk2的prev位达到chunk extend的效果,值得注意的是这道题free的时候指针是被清空了的注意每次malloc后的id,比如在循环阶段abac型构造的堆段,我们free a,b之后作为unsortbin的a和铺垫的bin的b被free后,我们id 0,1的chunk也就消失了,所以我们循环清空prev时申请回来的id是0,相同的原理我们最后才能构造一个double c同时指向一个堆段。

2022-09-02 08:08:02 172

原创 (只有静态直接ropgadget,64位栈迁移,uaf+dou c)picoctf_2018_can_you_gets_me+actf_2019_babystack+ciscn2019_final_3

复现了一下别人的exp,2.27是可以在tcache中doublefree的如果有uaf漏洞就可以伪造堆块修改大小超过0x400来构造unsortbin,但是我们更改前申请的堆的大小总和一点要大于我们构造unsortbin的大小不然就会报错,还有一点在链表里面没有tcache时我们是无法malloc到unsortbin的所以,我们就只能,先随意free一个之后再malloc一个堆块。...

2022-07-21 15:42:10 499

原创 (Chunk Extend,double_free)hitcontraining_heapcreator,babyheap_0ctf_2017

这道题,触及到了一个新知识Chunk Extend具体文章可以参考好好说话之Chunk Extend/Overlapping_hollk的博客-CSDN博客 tql审核代码的时候我们可以分析出大概题目申请堆块是,先申请一个计数堆块之后计数对快的指针会指向一个大小我们规定的内容堆块。正常浏览后发现了在edit函数下有一个off by null漏洞,就是多溢出一个字节为什么要用到chunk extend让我苦恼了很久,大概可以总结为一方面只能溢出一个字节我们就会想去常规的伪造堆块,可是伪造时候需要对齐,但是我们

2022-06-29 21:37:45 128

原创 (off by one+uaf+house of spirit)Asis CTF 2016 b00ks+hacknote+ZJctf—easyheap

这道题的溢出点在这里,break的判断的条件是=,从0开始如果循环次数没有减一那就会溢出,明显在输入作者名是会溢出经过程序的执行很清楚的可以看出,作者名和图书的连在一起就会是图书的第一位溢出。可以看到在图书指针的地位由于溢出多了变0了,于是我们便去寻找0x0000555555757700可以指向谁(我们这里是直接假设name为128,des为32),可以看到第一本书的des就正好为我们改变指针的位置,意味着可以修改第一本书 的des为任意内容,下面的步骤就是扩展mmap后写入第二本书的name和des,在伪

2022-06-19 22:45:39 151

原创 pwn_able(shellcode+系统调用)

详细复现一下整个程序流程1大段是程序开始之前的准备工作,压入esp和exit之后使ax,bx,cx,dx变0,之后压入数据,具体的话gdb调试可以看到就是提示的那些语句。2大段就是系统调用的write函数,压栈顺序依次从in0x80开始从下到上为ax,bx=fd=1,cx=addr=1打断开始压入栈中esp里压入的数据。dx=length=0x143大段同2同理就为read函数,注意倒数两行的为了栈平衡结束后add sp0x14由此我们可以知道buf为0x14,同时结尾只有retn没有leave所以无需填充

2022-06-16 00:11:15 212

原创 wustctf2020_closed(linux重定位)

exec 1>&0_luooofan的博客-CSDN博客这篇博客讲的很清楚。记住下来看一下linux,确实不能只在乎题目。

2022-06-15 20:35:22 119

原创 axb_2019_fmt32(fmtstr_payload(offset, writes, numbwritten=0, write_size=‘byte’))

fmtstr_payload(offset, writes, numbwritten=0, write_size=‘byte’)第一个参数表示格式化字符串的偏移第二个参数表示需要利用%n写入的数据,采用字典形式,我们要将printf的GOT数据改为system函数地址,就写成{printfGOT:systemAddress};第三个参数表示已经输出的字符个数第四个参数表示写入方式,是按字节(byte)、按双字节(short)还是按四字节(int),对应着hhn、hn和n,默认值是byte,即按hhn

2022-06-15 18:02:08 174

原创 iscc2022+ciscn2022部分题目(栈题)复现

分析原代码后发现就是格式化字符串,没什么问题,值得注意的不知道为什么用recvuntil会有问题但是p.recv不会很疑惑,下次注意。2.这道题可以看做上题的一个衍生,简单查看ida后发现循环输入在printf,且没有system,于是我们就想到改写printf的got表为system再输入bin执行。 这道题需要注意的是fmtstr.fmtstr_payload的写法!同时bin.sh经过学长指点还可以整花活,改成bin/bash同样也可以。3.跳一跳在此记录一下,基本解题方法肯定为栈迁移+c

2022-06-11 23:55:05 1101

原创 bjdctf_2020_babyrop2(cannary格式化字符泄露)

这道题的调试属实有问题。从这道题学到可以利用格式化字符串泄露canary 从调试泄露栈上地址可以很清晰看到bp上8位canary,在偏移为6时发现我们标记的6161aa,它的下8位就是canary。打映出来后接受canary时我们先用recvuntil(“0x”),int(p.recv(16),16)来接受。还有一点cannary在bp前8位值得注意...

2022-06-11 23:41:04 302

原创 ciscn_2019_s_3(系统调用综合)

打开函数只有read和write。发现gadget函数,这道题重要关键在于系统调用号。发现gadget rax赋值为59,调用execve,ida H键变10进制,调用execve需要$rax==59$rdi==“/bin/sh”$rsi==0$rdx==0syscall这时候就需要用到libc_csu辅助,ropper里面可以找到pop rdi,/bin/sh\x00我们可以直接通过read写入栈中,其他的利用gadget进行填充。注意的是read后面没有leave不用填充。还有一点在执行csu_e

2022-06-11 23:30:28 713

原创 FUZZ入门1

AFL-Fuzz介绍Fuzzing是指通过构造测试输入,对软件进行大量测试来发现软件中的漏洞的一种模糊测试方法。在CTF中,fuzzing可能不常用,但在现实的漏洞挖掘中,fuzzing因其简单高效的优势,成为非常主流的漏洞挖掘方法。AFL则是fuzzing的一个很好用的工具,全称是American Fuzzy Lop,由Google安全工程师Michał Zalewski开发的一款开源fuzzing测试工具,可以高效地对二进制程序进行fuzzing,挖掘可能存在的内存安全漏洞,如栈溢出、堆溢出、U

2022-05-27 21:31:28 2624

原创 格式化字符串漏洞总结

1.wiki overwrite​这是一道很典型的题目,及修改不同地址的数值以到达目的,做这种题,对我来说会先gdb先跑一遍程序,发现有输入后又输出输入的字符时,基本可以判断为格式化字符类型大类。知道了类型第一步便是找偏移,打开gdb,在printf处下断点,之后r程序,在输入数据格式差不多为aaaa%p%p%p%p%p%p%p这类格式来标记为标志位置,后c到printf输出的位置。找到printf函数第一参数的位置,及格式化字符串的地址,再用fmtary就可以算出偏移(值得一提,在上次问学长的

2022-05-11 21:32:00 940

原创 栈迁移小总结

[BUUCTF]PWN14——not_the_same_3dsctf_2016_mcmuyanga的博客-CSDN博客

2022-04-24 20:34:26 406

原创 寒假一个总结

1.ret2shellcode引用一下ciscn_2019_n_5打开main函数发现get依旧是栈溢出,但shift却没有bin和system,并且什么保护都没有开,且有个name变量打开便发现它存在于bss端上,于是便想直接name写shelllcode在get调整到name函数上就行 了from pwn import*r=remote('node4.buuoj.cn',26540)context(arch='amd64',os='linux')shellcode=.

2022-02-18 23:09:48 310

原创 对于近期的反思

2022-01-20 12:18:32 241

原创 pwn方向杂记1.0

ret2win1.使用ida7.5打开软件后浏览main函数,发现缓冲区buf32,并且具有read函数,直接写脚本,payload中64位要多加8个字节覆盖,32位4个字节,并且python3中payload格式要在最前面加b,同时返回地址要写bin/sh的字符串位置。...

2021-11-13 22:55:09 255

空空如也

空空如也

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

TA关注的人

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