自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【PWN · HOO | HOF | Tcache pthread struct】[2024 · ByteCTF] ezheap

做完后看了几个战队的WP,或多或少方法都有些差异,我的方法可能比较复杂(代码量来看)但是自己上手,遇到问题、想思路什么的,收益颇丰。于是记一篇博客,既是分享,也是总结。还要向各个战队学习,精简、直接、多解、花式利用对笔者来说,算是酣畅淋漓的综合利用,虽然题目不算特别难,但是也能涨涨士气。与诸君共勉。

2024-09-26 21:55:29 943

原创 【我的 PWN 学习手札】fastbin reverse into tcache —— tcache key 绕过

之前提到过,较高版本的 glibc,设置了 key 对 tcachebin 内的 double free 进行了检查。除了前面几篇手札罗列的绕过方法,今天又遇到一个,特此记录。之前利用 fastbin 来进行绕过,参见而此次总结的,也是利用 tcache stash 的机制。话不多说,进入主题。首先申请释放14个chunk然后申请一个,让 tcachebin 空出一个位置接着利用 double free,再次释放 chunk8。

2024-09-24 00:52:08 426

原创 【我的 PWN 学习手札】House of Botcake —— tcache key 绕过

我们知道,自对 tcachebin 添加了 key 进行了 double free 检查后,利用起来薛微有些困难。double free 绕过检查机制,实则是因为释放时会检查 tcachebin 对应 size 的所有 free chunk。那么如果第二次 free 的 chunk 落入到其他 tcachebin,或者 fastbin,就可以实现绕过。【我的 PWN 学习手札】House of Karui —— tcache key 绕过手法-CSDN博客。

2024-09-23 21:34:11 473

原创 【我的 PWN 学习手札】tcache stash with fastbin double free —— tcache key 绕过

tcache key 的引入使得 tcache dup 利用出现了困难。除了简单利用 UAF 覆写 key 或者之外,还可以利用 ptmalloc 中的其他机制进行绕过。

2024-09-21 22:04:43 1051

原创 【我的 PWN 学习手札】House of Karui —— tcache key 绕过

早期版本的 tcachebin 由于毫无保护,导致攻击利用非常容易,成为重灾区。tcache dup,也即 tcachebin 中的 double free 利用手法,是攻击者常常选用的攻击方式。然而,在glibc-2.29开始,添加了对 tcache key,对 double free 进行了检查。本篇介绍的 House of Karui 即是一种非常简单的通过溢出来实现绕过,造成double free的方法。

2024-09-21 20:21:38 528

原创 【我的 PWN 学习手札】tcache extend

tcache 在释放分配时,没有对 chunk 的 size 进行安全检查,导致可以利用溢出实现扩大的溢出写。能够结合 tcache poisoning 实现任意地址 malloc 进行攻击。

2024-09-21 13:16:07 505

原创 【我的 PWN 学习手札】劫持 tcache_perthread_struct

tcache 是 glibc 2.26 (ubuntu 17.10) 之后引入的一种技术,目的是提升堆管理的性能,与 fast bin 类似。tcache 引入了两个新的结构体, tcache_entry 和 tcache_perthread_struct。

2024-09-19 15:06:40 373

原创 【我的 PWN 学习手札】Tcache dup

Tcache dup,实际上是 tcache 的 double free,能达到 UAF 的效果,实现。

2024-09-19 10:11:57 301

原创 【我的 PWN 学习手札】Tcache Poisoning

早期对于 Tcachebin 的引入,在提高分配释放效率的同时,也因毫无保护而变得尤为好攻击和利用。自 glibc-2.32 以后添加了 key 等保护机制,现在的 tcachebin 利用起来变得困难。不过本篇讨论的还是早期的 tcachebin,能够简单地通过 UAF 实现任意地址 malloc。

2024-09-19 09:22:08 549

原创 【我的 PWN 学习手札】Largebin Attack(<= glibc-2.38可利用)

早期的 Largebin Attack,通过修改 largebin 中 free chunk 的 bk 和 bk_nextsize 指针域,能够实现任意地址写堆地址。然而在 glibc >= version2.30 后,增加了安全检查,释放大于 largebin 中最大 chunk 的情况来实现利用已很难实现。而释放小于 largebin 中最小 chunk 的插入分支,并没有安全检查,依旧可以实现利用,但是只能通过 bk_nextsize 来实现单个地址的写入堆地址。

2024-09-19 02:10:50 493

原创 【我的 PWN 学习手札】Largebin Attack(< glibc-2.30)

Largebin 与 smallbin unsortedbin 在组织结构上,除了通过 fd 和 bk 字段的双向链表组织,还存在fd_nextsize 和 bk_nextsize 字段。因此,当进行 free 或者 malloc 时,这些字段有着与此前不同的写逻辑。largebin attack 就是利用 largebin 的这一组织特性进行利用的。

2024-09-18 18:37:00 773

原创 【我的 PWN 学习手札】Unsortedbin Attack

Unsortedbin Attack不能说是一种getshell的方式,而只能说是一种利用手法。在glibc2.28之前有效,条件是存在uaf,效果是能在某一地址写一个大数(glibc上的一个地址)。

2024-09-16 22:51:37 597

原创 【我的 PWN 学习手札】Fastbin Double Free

Fastbin的Double Free实际上还是利用其特性产生UAF的效果,使得可以进行。与简单的UAF下的FastbinAttack相比,可以在没有edit,仅能add时写的情境下实现攻击

2024-09-14 19:18:00 557

原创 【我的 PWN 学习手札】Fastbin Attack

Fastbin Attack主要是利用了Fastbin单链表管理,如果能够利用UAF等漏洞,将Fastbin链表上的free chunk的fd写数据,即可实现任意地址分配,进而实现任意地址读写 本篇涉及到的保护机制只有一个:取出的fastbin chunk,size应该在对应取出的fastbin范围内 二、利用手法(1)分配到任意地址(__malloc_hook周边)通过修改free chunk的fd指针造成分配到任意地址, 需要满足size条件。通过任意地址写来利用getshell,劫持ho

2024-09-13 21:42:25 690

原创 【我的 PWN 学习手札】Unlink Attack

在除了fastbin、tcachebin的其他空闲堆块的管理bin中,如shortbin、largebin、unsortedbin,内部组织都是双向链表。如下图(示意图来自好好说话之unlink-CSDN博客当需要将second_chunk脱链时,使用unlink对second_chunk操作。不难看出,实际上是这样一个过程:我的上一个的下一个=我的下一个,我的下一个的上一个=我的上一个这样“我”就可以取出,因为链上已经没有指针指向“我”,即所谓的脱链。

2024-09-13 18:06:40 1227

原创 【我的 PWN 学习手札】Unsortedbin Leak

main_arena 是一个 struct malloc_state 类型的全局变量,是 ptmalloc 管理主分配区的唯一实例。说到全局变量,立马可以想到他会被分配在 .data 或者 .bss 等段上,那么如果我们有进程所使用的 libc 的 .so 文件的话,我们就可以获得 main_arena 与 libc 基地址的偏移,从而获取 libc的基地址。由于 unsorted bin 是双向链表,因此在 unsorted bin 链表中必有一个节点的 fd 指针会指向main

2024-09-12 20:33:13 958

原创 【PWN · tcache | UAF】[2024 · 长城杯] KyLinHeap

关注glibc版本,审出UAF,即可利用tcachebin attack打__malloc_hook的ogg。

2024-09-10 16:14:31 349

原创 【PWN · 栈溢出 | GOT劫持】[2024 · 长城杯]consumption

本题主要是套壳了Cjson,实则是约定了输入格式。通过仔细代码审计,即可找到栈溢出,并实现利用。

2024-09-09 19:40:26 375

原创 【PWN · 栈迁移 | one-read】[羊城杯 2024]pstack

栈溢出长度不够如何利用——可以考虑栈迁移如果从交互来看,仅有一个read函数,且只能触发一次,又该如何利用?本题就是如此,又让我学了一招,通过read实现多次栈迁移完成目的。这里必须把信息检索到的博客博主唉,又为自己菜菜而自卑。。羊城杯前面的佬,真的好牛,又聪明又勤奋。

2024-08-28 10:16:21 668 6

原创 【LSB图像低位隐写】字符串隐写

脱胎于内容安全的大作业~ 目前第一阶段,只完成了字符串隐藏在图像中步过图像隐藏在图像应该异曲同工,之后实现~

2024-07-08 11:25:56 230

原创 【PWN · ret2shellcode | sandbox-bypass | 格式化字符串】[2024CISCN · 华东北赛区]pwn1_

ret2shellcode,已经不是简单的放到栈上、ret这样一个简单的过程。套一层seccomp的沙箱,打ORW又遇到open受限等等,考虑的蛮多。过程中收获最多的可以说是汇编shellcode手动编写时的一些心得,还是跟着返璞归真师傅的wp做的时候这不会那不会,做完之后写博客,感觉很多都没必要写。。。菜就多练。

2024-07-06 11:41:13 697

原创 【PWN · ret2syscall | GoPwn】[2024CISCN · 华中赛区]go_note

可以说是做的第一道GoPwn。。。进度确实太慢;此外,除了学习了对GoPwn的调试、逆向,也关注了Gadget利用的一些trick,ret2syscall也又一次进阶式地复习,收获良多。本题受益良多,开心。

2024-07-02 11:45:10 881

原创 【PWN · ret2libc | protobuf】[2024CISCN · 华中赛区]protoverflow

第一次遇到protobuf,如果没有了解过,是显然做不出来的。此次复现,也算是点亮了一个技能点Protocol Buffers,是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。常用于跨平台和异构系统中进行RPC调用,序列化和反序列化效率高且体积比XML和JSON小得多,非常适合网络传输。为了能够和程序进行交互,我们需要先逆向分析得到Protobuf结构体,然后构造序列化后的Protobuf与程序进行交互。具体不如参考PWN佬。

2024-06-27 20:21:16 879

原创 【PWN · TcachebinAttack | UAF】[2024CISCN · 华中赛区] note

一道简单的tcache劫持。

2024-06-26 17:45:23 276

原创 【XSS & CSRF 】访问时篡改密码——以DVWA-High为例

第二阶段,增加了一个CSRF-Token。关于XSS的利用,cookie的泄露,在上述博客中已很清晰地说明白了~从一开始无法利用,到思考需要的条件,一步步实现,对CSRF、XSS的理解更深了。唯一觉得遗憾的是,chat强大、解放编写代码门槛的同时,也让我编码能力——程序员的核心能力——迟滞不前甚至降低许多。。。唉。

2024-05-23 17:45:09 1186 2

原创 【XSS & CSRF 】泄露cookie——以DVWA-High为例

综合利用XSS以及CSRF实现Cookie的泄露,,,旅程比较曲折跨站脚本攻击XSS(最全最细致的靶场实战)_xss靶场-CSDN博客网站中包含大量的动态内容以提高用户体验,比过去要复杂得多。所谓动态内容,就是根据用户环境和需要,Web应用程序能够输出相应的内容。

2024-05-23 00:17:34 1747 10

原创 【PWN · House_Of_Orange | fastbin-attack】[CISCN 2024 初赛] orange_cat_diary

审计一下题目:经典菜单,edit,show,add,delete俱全嗯,啧啧,delete还有个UAF太明显,爽爽unsortedbin-leak-libc!——what!show只能一次,delete只能一次!!!救命。。。我该怎么做。比较惊险,磨了半天,学习house of orange然后利用,居然真的过了。那一刻的高兴至今难忘。

2024-05-19 21:20:24 1245

原创 【字典暴力破解哈希值】一次爆破hash的实验

通过本实验,我学到了使用字典+明文格式的方式进行密码爆破的手段。在这个过程中,我巩固了使用python与网页API交互的技能,同时强化了网络安全意识(DoS ban ip)。就本实验——暴力破解哈希值——我在过程中搜索了很多口令字典,但是大多都不尽如人意——键盘序弱口令比较少,大多是常用口令字典。但是一旦找到关键的字典——键盘序弱口令字典,爆破就非常快,仅使用10个线程,就能在0.9223217964172363s跑完共1299个口令,并在第0.2798733711242676s成功爆破出hash明文。

2024-04-29 10:57:22 590 4

原创 【文件上传与包含漏洞综合利用】DVWA-文件上传-难度:High

一方面,(任意)文件上传漏洞指的是上传非预期的文件格式(如php文件)到目标服务器,而通过其他方式(直连、包含等)进行执行来进一步利用。另一方面,利用文件包含漏洞,能够把静态文件中的php代码通过回显转发的方式进行包含执行。过程中遇到很多问题:1.high的包含漏洞保护措施没有关注 2.一些jpeg/png图片被解析时,自身的一些字符会被错误识别为php代码,而往往会导致语法错误,通过copy到最后的。可以推测,检查是否为JPEG/PNG图,是依靠文件的后缀、文件头字段信息来进行双重检测的。

2024-04-24 10:48:01 1238 2

原创 【SQL代理中转注入】对DVWA登录界面username字段实施注入

以DVWA登陆界面为攻击目标,将login.php中第21、22行对username的防护注释掉。

2024-04-24 10:27:11 946

原创 【CVE-2010-2883】进行钓鱼攻击的研究

最近作业中研究APT攻击,了解到2011年前后披露的LURID-APT,其中敌手利用了各种版本的文件查看器的漏洞实现攻击。CVE-2010-2883就是其中被利用的一个adobe reader的漏洞。Adobe Reader 8.24-9.3.4的CoolType.dll库在解析字体文件SING表格中的uniqueName项时存在栈溢出漏洞,用户打开了特制的PDF文件可能导致执行恶意代码,可实现比如进行远程控制等。输入exploit进行攻击利用,此时在某目录下生成用于攻击的携带木马的pdf文件。

2024-04-10 19:53:52 264

原创 【CVE-2023-38831】进行钓鱼攻击的研究

WinRAR是一款文件压缩器,该产品支持RAR、ZIP等格式文件的压缩和解压等。WinRAR在处理压缩包内同名的文件与文件夹时代码执行漏洞,攻击者构建由恶意文件与非恶意文件构成的特制压缩包文件,诱导受害者打开此文件后,将在受害者机器上执行任意代码。RARLabs WinRAR 6.23之前版本存在安全漏洞,攻击者利用该漏洞可以执行任意代码。利用软件工具:cobalt strike4.0 、 CVE-2023-38831-exp.py。将生成的反弹shell执行程序放到漏洞利用工具目录下。

2024-04-10 19:43:03 384

原创 【PWN · heap | Off-By-Null | UAF | Fastbin-attack | Unsortedbin-leak | hook劫持】[攻防世界] babyheap

【攻防世界】的本题,所给libc版本错误,经过测试,版本为:libc6_2.23-0ubuntu9_amd64.so当然,本地调试玩玩,用glibc-all-in-one的2.23-0ubuntu3_amd64也是可以的。这题学到了很多知识点(主要是这些知识点整合应用在一起)离不开这些优秀的博客和大佬ha1vk攻防世界PWN之Babyheap(null off by one)题解PLpa、攻防世界(pwn)babyheap(一些常见的堆利用方法)攻防世界-babyheap解题思路-CSDN博客。

2024-04-02 00:20:55 668

原创 【PWN · ret2shellcode | jmp rsp | jmp rsi】[广东省大学生攻防大赛 2022]jmp_rsp

ret2shellcode,一般是往某个wx属性的地方写上shellcode,再尝试进行控制流劫持,跳转到shellcode处。一、题目概述题目并不难,没有套多少壳子,一眼漏洞。关注寄存器残留的值利用rsp和栈可写可执行,能够做很多事情。

2024-03-05 09:19:54 803

原创 【PWN · heap | UAF】[HNCTF 2022 WEEK4]ez_uaf

UAF释放后重用,常见于free指针后指针未置Nullptr。这就导致了原本的功能块还可以使用,而新分配的功能块又附加了额外的功能。利用就在此产生。强烈建议手动画图!以至于第一次在大致写完遇到bug后,甚至仅通过画图审计代码来修改逻辑上的问题,成功实现利用!这说明利用思路是如此清晰。

2024-03-02 23:56:31 794

原创 【PWN · heap | unsorted-bin-attack】hitcontraining_lab14

unsorted-bin一般用于利用,有leak libc和往任意地址写一个大数的作用。本题可以说是作为一道模板题,主要阐述了如何实现”往任意地址写一个大数“。一、unsorted只要unsorted-bin中的某个chunk的bk域被修改为指定addr,则addr+0x10(64位)的位置会在该chunk被unlink时,修改为一个非常大的数(该chunk的头部地址)从来没有遇到这么简洁的总结。然而,更好的理解,是需要知道底层过程的(如上,wiki部分)。

2024-02-27 23:52:11 724

原创 【PWN · heap | Arbitrary Alloc】2015_9447ctf_search-engine

Arbitrary Alloc 其实与 Alloc to stack 是完全相同的,唯一的区别是分配的目标不再是栈中。事实上只要满足目标地址存在合法的 size 域(这个 size 域是构造的,还是自然存在的都无妨),我们可以把 chunk 分配到任意的可写内存中,比如 bss、heap、data、stack 等等。Arbitrary Alloc 在 CTF 中用地更加频繁。我们可以利用字节错位等方法来绕过 size 域的检验,实现任意地址分配 chunk,最后的效果也就相当于任意地址写任意值。

2024-02-10 15:46:19 840

原创 【PWN · heap | House Of Spirit】2014_hack.lu_oreo

将chunk劫持到指定位置,能够大有作为,而House Of Spirit的目的就是这一点。最初了解仅是了解,通过本题,对于利用手法的利用,感悟更为深入。House of Spirit 是中的一种技术。该技术的核心在于在目标位置处伪造 fastbin chunk,并将其释放,从而达到分配指定地址的 chunk 的目的。要想构造 fastbin fake chunk,并且将其释放时,可以将其放入到对应的 fastbin 链表中,需要绕过一些必要的检测,即。

2024-02-05 11:36:00 883

原创 【PWN · ret2syscall】[CISCN 2023 初赛]烧烤摊儿

1、整数溢出增加money2、“购买店铺”到漏洞点3、构造payload:b’/bin/sh\x00’+padding+ret2syscall即可

2024-01-31 11:54:17 513

原创 【PWN · 格式化字符串|劫持fini_array|劫持got表】[CISCN 2019西南]PWN1

如果存在格式化字符串,保护机制开的不健全,通常可以劫持got表,构造后门函数。然而,如果不存在循环、栈溢出控制rop等方式,如果格式化字符串漏洞点正常来说只能执行一次,getshell是比较困难的。不过,linux下的二进制程序,在最后退出时,总会执行一些清扫函数,其中涉及到了fini_array这个数据结构。一、fini_array通过利用fini_array部署并启动ROP攻击 | TaQini-CSDN博客简单来说,fini_array数组存放了函数指针,在退出时,会进行调用。

2024-01-22 20:46:30 1695

蒟蒻自制的俄罗斯方块大作业!Win32框架下的最终作业!

项目:俄罗斯方块 说明: · 某某DT大学程序设计大作业 · WIN32框架制作,非面向对象! · 实现基本功能: (1)左右键移动(2)上键翻转 (3)下键下落/SPACE空格坠地(4)分数与历史分数 (5)暂停继续结束开始的功能键以及按钮(6)下降速度虽时间加快/速度等级增加的自选项 (7)可以通过修改.wav格式音乐以及background.bmp自定义背景图片以及音乐 · 打包好的一整份文件夹,右键点击 “用VS2022打开” 食用最佳~ · 萌新出道一些bug可以改,懒得改(误) · bug说明: (1)反转只判断了不越界未判断不越堆叠区方块,并且添加的合法反转代码可能会使得反转时下坠方块瞬移到另一边~ (2)(非bug)下落速度LEVEL10非常快哦,必死~~(可以自己修改) · 一些功能可以添加,同样懒得添加~ · 可自己添加功能例: (1)历史存档,即中途退出后再进入程序可以读取存档(信息记录在另一个文件就好~) (2)瞄准器。【while(没有触底)posY++; 】 就得到了绘画瞄准器的纵坐标~~ (3)欢迎界面。CREATER前弹窗就是最简单的欢迎界面呀~

2022-11-19

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

TA关注的人

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