[原创]【kctf-ag真人国际厅网站

int __cdecl __noreturn main(int argc, const char **argv, const char **envp)

  int command; // eax

  char s1[40]; // [esp 14h] [ebp-2ch] byref

  int nop; // [esp 3ch] [ebp-4h]

 

  setbuf(stdout, 0);

  ask_username(s1); //用户输入后对每个字符 1

  ask_password(s1); //"sysbdmin"进行比较,既用户需要输入"rxraclhm"

  while ( 1 )

  {

    while ( 1 )

    {

      print_prompt();//打印printf("ftp>")

      command = get_command();//获取用户输入遂转成数字 get:1 put:2 dir:3

      nop = command;

      if ( command != 2 )

        break;

        //申请一个0xf4大小的heap,随后由用户输入当前段的名字和内容

        //名字可由 dir 打印,也可用于打印内容时作为判断的索引

        put_file();

    }

    if ( command == 3 )

    {

      //从heap中索引每个块的名字,拼接,遂使用puts打印出来

      show_dir();

    }

    else

    {

      if ( command != 1 )

        exit(1);

      //从heap中根据块名进行索引,并使用printf(content)将其打印,存在字符串格式化漏洞

      get_file();

    }

  }

原文链接:https://bbs.kanxue.com/thread-277522.htm

网络摘文,本文作者:15h,如若转载,请注明出处:https://www.15cov.cn/2023/08/27/原创【kctf-pwn】getpwn3/

发表评论

邮箱地址不会被公开。 必填项已用*标注

网站地图