堆利用_UAF 堆利用_UAF原理我们可以直接从字面上翻译它的意思:使用被释放的内存块。其实当一个内存块被释放之后重新使用有如下几种情况: 内存块被释放后,其对应的指针被设置为NULL,再次使用时程序会崩溃 内存块被释放后,其对应的指针没有被设置为NULL,在它下一次被使用之前,没有代码对这块内存块进行修改,那么程序有可能可以正常运转 内存块被释放后,其对应的指针没有被设置为NULL,但是在下一次使用之前,有代码 2024-10-01 堆利用 > python #原创
Partial_RELRO_got it Partial_RELRO_got itRELRORELRO保护有三种形式 Partial_RELRO一些段(包括.dynamic,.got等)在初始化后会被标记为只读,并没有包括got表,简单来说就是got可写 Full RELRO除了Partial RELRO,延迟绑定将被禁止,所有的导入符号将在开始时被解析,.got.plt段会被完全初始化为目标函数的最终地址,并被mprotect标记为只读 2024-10-01 栈利用 > python #原创
对等保2.0的理解 对等保2.0的理解概念网络安全等级保护在我认为就是对网络上各类信息分等级进行保护,对各类信息系统使用的信息安全类产品按等级管理,对发生的信息安全类事件分等级处理,是国家维护网络信息安全的一项基本制度,而等级保护2.0是对之前等保制度的拓展和补充。 相对于之前的变化(1)等级保护2.0比1.0更加全面,随着《网络安全保护法》的颁布,等保2.0也有了法律依据。 (2)等级保护的对象也有了很大的扩展,包 2024-09-24 网络渗透测试 #原创
堆溢出_unlink 堆溢出_unlinkUnlink详解Ulink是什么unlink实际上是libc上定义的一个宏,源码如下 12345678910111213141516171819202122232425262728293031#define unlink(AV, P, BK, FD) { FD = P-> 2024-09-17 堆利用 > python #原创
堆利用_overlapping 堆利用_overlapping原理通过修改chunk中的size的大小,从而让块向前或后延申,与后面的块造成重叠,来对extend的块的内容进行操作 例题:heapcreator 这个程序有5个模块 creat_heap模块 这个模块是在heaparray+i处用malloc申请了一个堆块,并且是先构造了结构体再申请的 大小存在heaparray+i edit_heap模块这个模块可以对已创建 2024-08-25 堆利用 > python #原创
非栈上的格式化字符串漏洞_bss段 非栈上的格式化字符串漏洞-bss段方法一:修改printf为system,输入/bin/sh这种方法会有点复杂 以buu上的hitcontraining_playfmt为例 没有开FULL RELRO,也就是说got表可改,那么我们的思路就是把printf的got表改成system,输入/bin/sh即可拿到shell 最终exp 12345678910 2024-08-24 栈利用 > python #原创
堆溢出_off_by_one 堆溢出_off_by_one原理顾名思义就是只溢出一个字节,溢出字节为可控制任意字节:通过修改大小造成块结构之间出现重叠,从而泄露其他块数据,或是覆盖其他块数据,或者用NULL字节进行覆盖,从而造成数据泄露,或者块结构数据的控制 接下来用一道经典的off-by-one的题目来详细解释 [Asis CTF 2016] b00ks 这个程序有5个模块 而在change模块中存在\x00的溢出 而ch 2024-08-20 堆利用 > python #原创
xyctf_hello_world之%s泄露libc xyctf_hello_world之%s泄露libc前置知识 PIE机制介绍PIE PIE技术是一个针对代码段(.text)、数据段(.data)、未初始化全局变量段(.bss)等固定地址的一个防护技术,如果程序开启了PIE保护的话,在每次加载程序时都变换加载基地址,从而不能通过ROPgadget等一些工具来帮助解题 vmmap 的使用gdb 调试中,vmmap 可以直接看出本地的静态基地址,在栈 2024-06-01 栈利用 > python #原创
ctf(持续更新) 第八届封神台easyjs给了源码 这里的“CTF”外面有两个+ 这里+在运算符前(前面的那个+) 是⼀元运算符 会 尝试把“CTF”转换为数字 但是“CTF”又不能被成功转换为数字所以返回的结果会是 NaN(Not a Number) webtools软连接滥用引起的任意文件读取 open函数默认情况下会跟随符号连接 12ln -s /etc/passwd pass.txt //创建一个 2024-04-28 web安全
ROP之ret2alsolve ROP之ret2alsolveRELRO保护原理简介 由于 GOT和PLT以及延迟绑定的原因,在启用延迟绑定时,符号解析只发生在第一次使用的时候,该过程是通过PLT表进行的,解析完成后,相应的GOT条目会被修改为正确的函数地址。因此,在延迟绑定的情况下。.got.plt必须可写,这就给了攻击者篡改地址劫持程序的执行的可能。 RELRO(ReLocation Read-Only)机制的提出就是为了解 2024-04-23 栈利用 > python #原创