CISCN_PWN

[TOC] ciscn_2019_s_3 32位与64位 系统调用的区别: 1. 传参方式不同 2. 系统调用号 不同 3. 调用方式 不同 32位: 传参方式:首先将系统调用号 传入 eax,然后将参数 从左到右 依次存入 ebx,ecx,edx寄存器中,返回值存在eax寄存器 调用号:sys_read 的调用号 为 3

在64位的glibc上payload调用system导致crash的问题

[TOC] 在64位的glibc上payload调用system导致crash的问题 在一些64位的pwn题中,调用system后会导致程序crash掉 首先小讲下原因: .text:000000000040F93C mov [rsp+198h+var_190], rax .text:000000000040F941 movhps xmm0, [rsp+198h+var_190] .text:000000000040F946 movaps [rsp+198h+var_158], xmm0 .text:000000000040F94B call sigaction是movaps [rsp+198h+var_158], xmm0指令要求rsp

Pwndbg和Linux改用户名及密码踩坑

[TOC] 关于pwndbg 安装: git clone https://github.com/pwndbg/pwndbg cd pwndbg sudo ./setup.shgdb后如果是peda或者其他的插件,可以改下配置文件.gdbinit,在home中,或者root目录下,加上这么一句,其他注释掉。 source /home/yourname/pwndbg/gdb

Chunk Extend and Overlapping

[TOC] Chunk Extend and Overlapping 介绍 chunk extend 是堆漏洞的一种常见利用手法,通过extend可以实现chunk overlapping(块重叠)的效果。这种利用的方法需要以下的条件: 程序中存在堆的漏洞 漏洞可以控制chunk header中的数据 原理 这种利用的技术能够产生在于

堆中的off-by-One

[TOC] 介绍 off-by-one是一种特殊的溢出漏洞,off-by-one指程序向缓冲区写入时,写入的字节数超过了这个缓冲区本身所申请的字节数,并且只越界了一个字节。 漏洞原理 这种漏洞的产生往往与边界严重不严格和字符串操作有关,其中边界验证不严通常

简单堆溢出介绍

[TOC] 介绍 ​ 堆溢出是指程序向某个堆块中写入的字节数超过了堆块本身可用的字节数,因而导致了数据的溢出,并覆盖到了物理相邻的高地址的下一个堆块。 ​ so,堆溢出漏洞发生的前提: 写入的数据写到了堆上 写入数据的大小没有被控制 堆溢出是一种特定的缓冲区溢出(
0%