自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2022西湖论剑pwn部分wp

西湖论剑2022pwn

2023-02-05 00:34:25 902 2

原创 2022羊城杯pwn wp

2022羊城杯pwn

2022-09-04 19:37:53 902

原创 巅峰极客pwn wp

2022巅峰极客pwn wp

2022-08-17 23:30:42 757

原创 2022强网杯pwn部分wp

2022强网杯pwn

2022-08-02 13:06:51 1545 3

原创 DASCTF 7月赋能赛pwn wp

DASCTF 7月赋能赛pwn wp

2022-07-25 14:37:06 517

原创 DSCTF pwn 部分wp

DSCTF pwn wp

2022-07-15 21:05:06 684 7

原创 2022蓝帽pwn初赛wp

2022蓝帽pwn wp

2022-07-10 00:14:22 503

原创 wustctf2020_babyfmt

一道简单fmt题,但是我搜解题记录时,觉得解得都挺复杂的。似乎还没有文章用我的方法,那我就写一种简单的解法。绕过fmt判断条件我只用到了fmt_attack函数。由于有一个判定条件:unsigned __int64 __fastcall fmt_attack(int *a1){ char format[56]; // [rsp+10h] [rbp-40h] BYREF unsigned __int64 v3; // [rsp+48h] [rbp-8h] v3 = __readfsq

2022-04-07 00:21:39 478 2

原创 Tcache bin总结

TcacheTcache是glibc 2.26之后引入的机制,与glibc 2.23版本下堆利用方式有一定区别,产生了新的利用方式。0x1 相关结构体tcache_entrytypedef struct tcache_entry{ struct tcache_entry *next;} tcache_entry;tcache_entry用来链接空闲的tcache chunk,其中的next指针指向下一个大小相同的空闲tcache chunk。注意:这里的next指针指向的是user

2022-03-13 18:22:03 1655 3

原创 _environ与ssp攻击

_environ在Linux C中,environ是一个全局变量,它储存着系统的环境变量。它储存在libc中因此environ是沟通libc地址与栈地址的桥梁。如图:即为一个程序中environ的具体信息:environ利用通过libc找到environ地址后,泄露environ地址处的值,可以得到环境变量地址,环境变量保存在栈中,通过偏移可以得到栈上任意变量的地址。ssp攻击canary的各种利用方式中,有一种是通过 __stack_chk_fail函数打印报错信息来实现。__stac

2022-02-21 15:12:09 1185

原创 利用realloc调整栈使one_gadget生效

前言当堆题保护全开的时候。PIE保护几乎使得unlink失效(除非能够计算出程序基址),FULL RELEO也使得函数GOT表不可修改。此时常覆盖各种函数的hook为one_gadget来getshell。我常考虑的顺序是:free_hook->malloc_hook->IO_FILE->exit_hook若有沙盒限制,则考虑setcontext当free_hook不可打时(例如Fastbin Attack时free_hook前不能构造字节错位),我们往往就会打malloc_ho

2022-02-21 10:57:00 620

原创 SCU新生赛2021 pwn wp

前段时间的极客大挑战2021和2021年的SCU新生赛,最后一道题都没有做出来,作为一枚大二学长确实应该反省一下自己了。太菜了呜呜呜。极客大挑战因为打太久了,题目都快忘记了,就不写wp了。ret2text简单的栈溢出,pwn里的hello world。from pwn import *r = process("/mnt/hgfs/ubuntu/stackoverflow")elf = ELF("/mnt/hgfs/ubuntu/stackoverflow")payload = b'a'*0x3

2021-11-29 17:21:37 4309

原创 极客大挑战2021-format_string

之前通过攻防世界String已经初步了解格式化字符串漏洞的利用原理和利用方式。现在通过这道题精进。题目名:format_string提取路径:https://pan.baidu.com/s/1e9I59FhilppS9QIhQWND0A提取码:F1re代码审计checksec一下:很简单的一道题噢,就只开了NX不可执行不让你shellcode。扔进IDA观察一下,发现漏洞所在地:是个三十二位程序的格式化字符串漏洞。程序先泄露了v3的地址,然后有第一个格式化字符串漏洞,如果满足v3=12的

2021-11-15 00:21:17 3054 1

原创 堆学习笔记-UAF

我的学习笔记大量都是基于CTF-WIKI。UAF,Use After Free的缩写,是一种常见漏洞。原理Use After Free意如其名,是一个内存漏洞,当一个内存块被释放后又被使用,有以下几种情况:内存块被释放后,其对应的指针被设置为 NULL , 然后再次使用,自然程序会崩溃。内存块被释放后,其对应的指针没有被设置为 NULL ,然后在它下一次被使用之前,没有代码对这块内存块进行修改,那么程序很有可能可以正常运转。内存块被释放后,其对应的指针没有被设置为 NULL,但是在它下一次使用

2021-11-15 00:20:39 2341

原创 电科新生赛dokodemo2

昨天朋友告诉我电科新生赛开始了,本着摸鱼的心态去做了做,都是很基础的题,可惜有一道游戏题没有做出来。那就分享一道我觉得比较有意思的题。老规矩checksec一下基本啥保护也没开.代码审计观察主函数,只要满足master和AtHome字符串相等就能拿到flag。因此我们的目的就是给master字符串赋值为AtHome。程序中有一处ring函数,点进去看看发现是读入一个long long 型的无符号数,再查看bell储存的bss段思路很清晰了,只能对bell段进行读写,但是bell段读进的

2021-11-15 00:19:03 254

原创 攻防世界 pwn string

攻防世界string应该是新手区数一数二的难题,难点在理解程序流程。先观察主函数:alarm函数什么是alarm函数?如上图所示,在做一些pwn题的时候,我们有时会遇到alarm(0x3Cu)函数。alarm函数中的参数0x3Cu是十六进制无符号数,即十进制对应60,所以该函数的作用是在程序运行60秒后,给进程发送SIGALRM信号,如果不另编写程序接受处理此信号,则默认结束此程序。为什么要使用alarm函数?一是比赛中常要远程连接服务器解题,官方不希望有队伍长时间解不出来题浪费服务器资源二

2021-11-15 00:17:30 4005 2

原创 Libcsearcher环境配置

libcsearcher libc库的更新安装之前用libcsearcher基本上都显示no match libc。一直感觉很纳闷,后来请教了大佬之后才发现是libc库都没有安装。(如果小伙伴们也遇见这种问题,重新去安装一下libc库吧)先更新ubuntu的软件sudo apt-get update“无法安全地用该源进行更新,所以默认禁用该源”这是我之前一直遇到的问题,但是拖到现在还没解决。解决方法:换清华的源。(默认为国外的源,太慢,不稳定)先将原来的配置文件备份:其中的sources.li

2021-11-15 00:16:24 1807

原创 堆学习笔记-chunk overlapping

CTF-wiki真是太好一学习网站了。原文链接:https://ctf-wiki.org/pwn/linux/user-mode/heap/ptmalloc2/chunk-extend-overlapping/#_1Chunk Extend实现条件要实现chunk extend需要满足的条件:有堆漏洞,并且该漏洞可以修改chunk header里的数据。实现原理原理大概就是:①:ptmalloc通过chunk header里面的prev_size和size来对前后堆块进行定位。②:ptmal

2021-11-14 20:33:33 486

原创 BUUCTF--[OGeek2019]babyrop

才学习了基本的ROP流程,到处找题练,不过也没做出来几道题,以这道32位的题作为例题吧。这道题是BUUCTF上pwn练习题里的[OGeek2019]babyrop。代码审计老规矩先checksec一下:没有canary保护,nx保护开启排除shellcode可能性,FULL RELEO为地址随机化。观察主函数,先设定了一个闹铃,到时间就会强制退出程序,解除闹铃的方法在上一篇博客中提到过了,这道题中闹铃函数依然对我们解题起不到什么干扰作用。主函数的思路大概是:生成一个随机数,把这个随机数作为

2021-11-14 20:32:52 3912 2

原创 BUUCTF ciscn_2019_c_1

一道积攒了很久才解出来的题,这道题大体不难,但是好多小细节呜呜呜。而且Libcsearcher里的libc库没更新(上篇博客讲了)。这道题是BUUCTF上的ciscn_2019_c_1。标准的64位ROP流程,我也就分享一下自己的坎坷心路历程。代码审计老规矩checksec一下,只开了nx保护。观察main函数显然哦,只有输入1才有点用。关键函数:encrypt()发现一个栈溢出漏洞。ROP链的入口。然后就是读取s的长度,在长度范围内对内容进行加密:也就是根据ascii码范围不同来进行

2021-11-14 20:32:01 3979 6

空空如也

空空如也

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

TA关注的人

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