type
status
date
slug
summary
tags
category
icon
password
国际赛记录
CTFZone 2024 Quals
这次在一个rating稍微大一点的比赛,可算没有爆零了
Exitinator
这题考察的是一个动态函数管理
exit(5)
是 C 标准库中的一个函数调用,用于终止程序的执行。它的作用是让程序立即退出,并返回一个退出状态码给操作系统flag那里就是我们的密文
set_table函数为获取libc.so.6里面的地址,并存储到table这个数组中
overwrite_entry这个函数其实就是个获取新的函数地址的函数
重点是第二个参数addr,它会经历一系列处理生成一个新的地址
经过动态调试可知,一共会用到8个函数,循环前是gets函数,循环后是gadjet函数
我们可以在这里下个断点,断到这里之后我们可以观察右边的通用寄存器
r12里面存储的就是地址,第一个函数明显就是gets函数
我们可以在这里下个条件断点然后打印出r12寄存器的值,其实就是对应的函数地址
然后我们去这六个函数的地址看一下
exp
Lexington Informatics Tournament CTF 2024
forgotten message
这个不多说,直接打开ida就得到flag
Burger Reviewer
直接给了题目的源码
其实就是检查flag的格式
写出对应脚本就行
有关复现或者学习上的问题,欢迎您在底部评论区留言,一起交流~
- Author:5m10v3
- URL:https://5m10v3.top/article/60209fca-672f-49a4-afe5-30a68d8f3624
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts