axb_2019_fmt32 wp

本文详细介绍了axb_2019_fmt32 CTF挑战中如何利用格式化字符串漏洞进行攻击。通过泄露libc地址,确定偏移量,最终找到system函数地址,实现对程序控制流的劫持。文章还讲解了如何构造payload来修改got表,以在调用strlen时执行system,从而完成攻击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


title: axb_2019_fmt32 wp
date: 2021-6-8 22:00:00
tags:

  • write up
  • format string
    comments: true
    categories:
  • ctf
  • pwn

临近期末考试了,终于可以光明正大地水博客了。

最近刚写上格式化字符串的漏洞,这不,他来了。这个题目我做过之后感觉难度还是有的,做出这一题至少对格式化字符串漏洞的利用是有一个较深的理解了的。它综合考察了ret2libc和格式化字符串的任意写,以及对got表的理解。

axb_2019_fmt32

下载文件,反汇编打开,再反编译main函数得到如下代码

int __cdecl __noreturn main(int argc, const char **argv, const char **envp)
{
   
  char s[257]; // [esp+Fh] [ebp-239h] BYREF
  char format[300]; // [esp+110h] [ebp-138h] BYREF
  unsigned int v5; // [esp+23Ch] [ebp-Ch]

  v5 = __readgsdword(0x14u);
  setbuf(stdout, 0);
  setbuf(stdin, 0);
  setbuf(stderr, 0);
  puts(
    "Hello,I am a computer Repeater updated.\n"
    "After a lot of machine learning,I know that the essence of man is a reread machine!");
  puts("So I'll answer whatever you say!");
  while ( 1 )
  {
   
    alarm(3u);
    memset(s, 0, sizeof(s));
    memset(format, 0, sizeof(format));
    
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xi@0ji233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值