首页
社区
课程
招聘
[原创]angstromCTF2020-canary 栈溢出+格式化字符串
发表于: 2020-3-17 19:44 9688

[原创]angstromCTF2020-canary 栈溢出+格式化字符串

2020-3-17 19:44
9688

Canary源码如下:

开了NX和canary保护,可以看出源码中在输入姓名的地方有个格式化字符串,在第二次输入的地方有栈溢出;简单介绍一下canary:canary就是在栈的return地址之前的一个固定位置放置一个随机的数值,并且在程序返回之前做一次校验,如果在做栈溢出的时候将canary覆盖了,程序就会在返回之前强行终止

通过格式化字符串得到了canary的值(注意看rax和栈中的值),执行xor指令后如果rax的值为非零,就证明程序有溢出,这便是canary保护;

leave指令执行完成后,栈中就只剩下return的地址了,由此得出溢出的位置在第73个字节处,为了方便我将栈中所有的位置都覆盖成了canary的值

执行结果如下

root@gavin:/home/gavin/angstromCTF2020# checksec ./canary
[*] '/home/gavin/angstromCTF2020/canary'
    Arch:     amd64-64-little
    RELRO:    Full RELRO
    Stack:    Canary found
    NX:       NX enabled
    PIE:      No PIE (0x400000)

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-3-19 11:06 被pureGavin编辑 ,原因: 信息不全
上传的附件:
收藏
免费 1
支持
分享
最新回复 (5)
雪    币: 15695
活跃值: (18993)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
2
buf = ''
buf += '1'*32
buf += p64(0) * 7
buf += p64(cookie)
buf += p64(0)
这是前辈的shellcode的脚本的一部分,但是如果我写同样的脚本就会有这样的问题
root@gavin:/home/gavin/angstromCTF2020# python3
Python 3.7.5 (default, Nov 20 2019, 09:21:52) 
[GCC 9.2.1 20191008] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pwn import *
>>> buf="a"*10
>>> buf+=p64(0xdeadbeef)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "bytes") to str
>>> 
有没有大佬能出来解决一下,难道是因为Python2和Python3之间的区别么??
2020-3-17 19:50
0
雪    币:
活跃值: (56)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
3

buf="a"*10 改成 buf=b"a"*10 就行了

 

你在python3里用python2的语法当然报错了

2020-3-21 16:13
0
雪    币: 15695
活跃值: (18993)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
4
zzhwaxy buf="a"\*10 改成 buf=**b**"a"\*10 就行了 你在python3里用python2的语法当然报错了
能解释一下这个‘b’的作用么??
2020-3-21 18:21
0
雪    币:
活跃值: (56)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
5
2020-3-21 19:02
0
雪    币: 15695
活跃值: (18993)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
6
zzhwaxy 看一下这篇博客&nbsp;&nbsp;30dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8Y4q4I4i4K6g2X3x3e0j5J5x3K6b7$3x3e0y4Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0r3k6r3g2@1j5h3W2D9M7#2)9J5c8U0M7&6y4o6b7^5x3U0l9K6
感谢
2020-3-21 19:24
0
游客
登录 | 注册 方可回帖
返回