攻防世界pwn题中,如何解决forgot这一漏洞?

2026-05-05 18:061阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1390个文字,预计阅读时间需要6分钟。

攻防世界pwn题中,如何解决forgot这一漏洞?

题目描述:福布斯最近玩弄有限状态自动机。在探索概念实现时,使用FSA尝试实现一个电子邮件地址验证。最近,Lua开始骚扰福布斯。对此,福布斯向Lua挑战智慧斗智斗勇。福布斯承认...

题目描述:福克斯最近玩弄有限状态自动机。在探索概念实现正则表达式使用FSA他想实现一个电子邮件地址验证。 最近,Lua开始骚扰福克斯。对此,福克斯向Lua挑战斗智斗勇。福克斯承诺要奖励Lua,如果她能到不可达状态在FSA他实施过渡。可以在这里访问复制。 运行服务hack.bckdr.in:8009 0x00:查看文件信息

该文件是32位的,canary和PIE保护机制没开。

0x01:用IDA进行静态分析

总览:

该函数就是:v5初值为1,对v2输入一串字符。然后执行一个会根据输入的字符串而修改v5的循环语句,最后调用相应的函数。

同时,发现文件里面已经含有cat flag的函数:

函数snprintf介绍: printf("cat %s", "./flag")是将cat ./flag输出到屏幕上。 snprintf(s, 0x32, "cat %s", "./flag")是最多将后面的字符串("cat ./flag")输入0x32个到变量s上。

所以,我们要想办法去执行这个cat_flag函数。现在我们已知的漏洞点是scanf对v2输出存在溢出。再根据程序的第3行到第8行中变量的声明可了解到v2可以溢出覆盖数组v3、数组s、变量v5甚至是所在栈帧的返回地址。

阅读全文

本文共计1390个文字,预计阅读时间需要6分钟。

攻防世界pwn题中,如何解决forgot这一漏洞?

题目描述:福布斯最近玩弄有限状态自动机。在探索概念实现时,使用FSA尝试实现一个电子邮件地址验证。最近,Lua开始骚扰福布斯。对此,福布斯向Lua挑战智慧斗智斗勇。福布斯承认...

题目描述:福克斯最近玩弄有限状态自动机。在探索概念实现正则表达式使用FSA他想实现一个电子邮件地址验证。 最近,Lua开始骚扰福克斯。对此,福克斯向Lua挑战斗智斗勇。福克斯承诺要奖励Lua,如果她能到不可达状态在FSA他实施过渡。可以在这里访问复制。 运行服务hack.bckdr.in:8009 0x00:查看文件信息

该文件是32位的,canary和PIE保护机制没开。

0x01:用IDA进行静态分析

总览:

该函数就是:v5初值为1,对v2输入一串字符。然后执行一个会根据输入的字符串而修改v5的循环语句,最后调用相应的函数。

同时,发现文件里面已经含有cat flag的函数:

函数snprintf介绍: printf("cat %s", "./flag")是将cat ./flag输出到屏幕上。 snprintf(s, 0x32, "cat %s", "./flag")是最多将后面的字符串("cat ./flag")输入0x32个到变量s上。

所以,我们要想办法去执行这个cat_flag函数。现在我们已知的漏洞点是scanf对v2输出存在溢出。再根据程序的第3行到第8行中变量的声明可了解到v2可以溢出覆盖数组v3、数组s、变量v5甚至是所在栈帧的返回地址。

阅读全文