清风不识字
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
堆溢出_unlink

堆溢出_unlink

堆溢出_unlinkUnlink详解Ulink是什么unlink实际上是libc上定义的一个宏,源码如下 12345678910111213141516171819202122232425262728293031#define unlink(AV, P, BK, FD) { FD = P->
2024-09-17
堆利用 > python
#原创
堆利用_overlapping

堆利用_overlapping

堆利用_overlapping原理通过修改chunk中的size的大小,从而让块向前或后延申,与后面的块造成重叠,来对extend的块的内容进行操作 例题:heapcreator 这个程序有5个模块 creat_heap模块 这个模块是在heaparray+i处用malloc申请了一个堆块,并且是先构造了结构体再申请的 大小存在heaparray+i edit_heap模块这个模块可以对已创建
2024-08-25
堆利用 > python
#原创
非栈上的格式化字符串漏洞_bss段

非栈上的格式化字符串漏洞_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

堆溢出_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

xyctf_hello_world之%s泄露libc前置知识 PIE机制介绍PIE PIE技术是一个针对代码段(.text)、数据段(.data)、未初始化全局变量段(.bss)等固定地址的一个防护技术,如果程序开启了PIE保护的话,在每次加载程序时都变换加载基地址,从而不能通过ROPgadget等一些工具来帮助解题 vmmap 的使用gdb 调试中,vmmap 可以直接看出本地的静态基地址,在栈
2024-06-01
栈利用 > python
#原创
ctf(持续更新)

ctf(持续更新)

第八届封神台easyjs给了源码 这里的“CTF”外面有两个+ 这里+在运算符前(前面的那个+) 是⼀元运算符 会 尝试把“CTF”转换为数字 但是“CTF”又不能被成功转换为数字所以返回的结果会是 NaN(Not a Number) webtools软连接滥用引起的任意文件读取 open函数默认情况下会跟随符号连接 12ln -s /etc/passwd pass.txt //创建一个
2024-04-28
web安全
ROP之ret2alsolve

ROP之ret2alsolve

ROP之ret2alsolveRELRO保护原理简介 由于 GOT和PLT以及延迟绑定的原因,在启用延迟绑定时,符号解析只发生在第一次使用的时候,该过程是通过PLT表进行的,解析完成后,相应的GOT条目会被修改为正确的函数地址。因此,在延迟绑定的情况下。.got.plt必须可写,这就给了攻击者篡改地址劫持程序的执行的可能。 RELRO(ReLocation Read-Only)机制的提出就是为了解
2024-04-23
栈利用 > python
#原创
syscall与csu结合以及srop的简单使用

syscall与csu结合以及srop的简单使用

syscall与csu结合以及srop的简单使用基础检查 放入ida 存在栈溢出,并且buf只有0x10,而write有0x30,因此可以泄露栈上的内容 3B=59是execv的调用号,这个指令可以调用内核execv 如果能够知道/bin/sh的地址,就可以获得shell 因为栈上没有/bin/sh,可以考虑read读入,结合前面有漏洞可以泄
2024-03-21
栈利用 > python
#原创
关于ret2libc的泄露

关于ret2libc的泄露

关于ret2libc的泄露 原理:在程序运行中,当函数运行过一次之后,会将函数的地址存在got表中,我们可以利用输出函数对函数地址进行泄露 puts64位*题目* 基础检查,只有NX保护 丢入ida 第二个read 明显存在栈溢出 寻找system 发现找不到system 和binsh 也没有flag的字符,初步认为要泄露libc 接下来开始payload的构造 注意64位要用寄存器来传参
2024-03-13
栈利用 > python
#原创
csu利用

csu利用

csu的利用 原理 64位的动态连接文件一般有一段万能的gadget,里面可以控制rbx,rbp,r12,r13,r14,r15以及rdx,rsi,edi的值,并且还可以call我们指定的地址。然后劫持程序执行流的时候,劫持到这个__libc_csu_init函数去执行(这个函数是用来初始化libc的) csu在我看来分为两种,一种是通过csu泄露基地址后,跟ret2libc一样调用就可以做出,一
2024-03-04
栈利用 > python
#原创
12345

搜索

Hexo Fluid
总访问量 次 总访客数 人