![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
漏洞原理
文章平均质量分 87
coke_pwn
当代恶臭大学生
展开
-
系统调用浅解与原理
系统调用系统调用(system calls), Linux内核, GNU C库(glibc).在电脑中,系统调用(英语:system call),指运行在用户空间的程序向操作系统内核请求需要更高权限运行的服务。系统调用提供用户程序与操作系统之间的接口。大多数系统交互式操作需求在内核态执行。如设备IO操作或者进程间通信。用户空间(用户态)和内核空间(内核态)操作系统的进程空间可分为用户空间和内核空间,它们需要不同的执行权限。其中系统调用运行在内核空间。库函数系统调用和普通库函数调用非常相似,只是系原创 2022-03-07 21:52:32 · 714 阅读 · 0 评论 -
LINUX保护机制
LINUX保护机制RELRORelocation Read-Only (RELRO) 此项技术主要针对 GOT 改写的攻击方式。它分为两种,Partial RELRO 和 Full RELRO。部分RELRO 易受到攻击,例如攻击者可以atoi.got为system.plt,进而输入/bin/sh\x00获得shell完全RELRO 使整个 GOT 只读,从而无法被覆盖,但这样会大大增加程序的启动时间,因为程序在启动之前需要解析所有的符号。Stack-canary栈溢出保护是一种缓冲区原创 2022-03-01 12:54:53 · 675 阅读 · 0 评论 -
栈溢出保护原理——Stack Canaries
栈溢出保护原理——Stack CanariesStack Canaries (取名自地下煤矿的金丝雀,因为它能比矿工更早地发现煤气泄露,有预警的作用)是一种对抗栈溢出攻击的技术,即SSP安全机制Canary的值是栈上的一个随机数,在程序启动时随机生成并保存在比函数返回地址更低的位置。由于栈溢出是从低地址向高地址进行覆盖,因此攻击者要想控制函数的返回指针,就一定要先覆盖到Canary。程序只需要在函数返回前检查Canary是否被篡改,就可以达到保护栈的目的。一,Canaries的分类canar原创 2022-02-26 11:08:58 · 3197 阅读 · 0 评论 -
ASLR和PIE的区别和作用
ASLR和PIE的区别和作用ASLR的作用首先ASLR是归属于系统功能的, aslr是一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术。如今Linux、FreeBSD、Windows等主流操作系统都已采用了该技术。在传统的操作系统里,用户程序的地址空间布局是固定的,自低向高依次为代码区, BSS区,堆栈区,攻击者通过分析能轻易得出各区域的基地址,在此情况下,只要攻击者原创 2022-02-13 13:06:39 · 3411 阅读 · 0 评论 -
格式化字符串漏洞
格式化字符串漏洞初学pwn,学到了格式化字符串漏洞,总结一下。格式化字符串函数:格式化字符串函数就是将计算机内存中表示的数据转化为我们人类可读的字符串格式。漏洞printf(s)用 printf() 为例,它的第一个参数就是格式化字符串 :“Color %s,Number %d,Float %4.2f”然后 printf 函数会根据这个格式化字符串来解析对应的其他参数%d - 十进制 - 输出十进制整数%s - 字符串 - 从内存中读取字符串%x - 十六进制 - 输出十六进制数%c -原创 2022-02-13 13:10:20 · 5587 阅读 · 0 评论