ctf-pwn入门知识

CTF中的pwn指的是通过通过程序本身的漏洞编写利用脚本破解程序拿到主机的权限

了解简单的软件防护技术:
栈保护:Canary
堆栈不可执行:NX(No-eXecute)
地址随机化:PIE(position-independent executable, 地址无关可执行)或者叫ALSR(address space layout randomization)
ROP(Return-Oriented Programming)技巧(还有JOP, Return To Libc, GOT Hook ……目标劫持控制流)
各种漏洞(一般针对Linux系统)
两大类:栈的漏洞(溢出), 堆的漏洞(更复杂)
printf 格式化字符串漏洞
I/O file 漏洞

以攻防世界中入门hello_pwn为例
在这里插入图片描述
【1】RELRO:RELRO会有Partial RELRO和FULL RELRO,如果开启FULL RELRO,意味着我们无法修改got表
【2】Stack:如果栈中开启Canary found,那么就不能用直接用溢出的方法覆盖栈中返回地址,而且要通过改写指针与局部变量、leak canary、overwrite canary的方法来绕过
【3】NX:NX enabled如果这个保护开启就是意味着栈中数据没有执行权限,以前的经常用的call esp或者jmp esp的方法就不能使用,但是可以利用rop这种方法绕过
【4】PIE:PIE enabled如果程序开启这个地址随机化选项就意味着程序每次运行的时候地址都会变化,而如果没有开PIE的话那么No PIE (0x400000),括号内的数据就是程序的基地址

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值