2024年 GDUTCTF 个人WriteUp

2024年 GDUTCTF 个人WriteUp

💡 原文中文,约7600字,阅读约需18分钟。
📝

内容提要

xxa集团的终端遭遇DNS劫持,无法访问。通过Wireshark分析,发现被劫持的服务器IP为61.7.12.5。使用yafu进行RSA解密,获取消息和flag。同时,分析PHP代码的序列化漏洞,成功构造payload读取flag.txt内容。

🎯

关键要点

  • xxa集团的终端遭遇DNS劫持,导致无法访问。
  • 通过Wireshark分析,发现被劫持的服务器IP为61.7.12.5。
  • 使用yafu进行RSA解密,获取消息和flag。
  • 分析PHP代码的序列化漏洞,成功构造payload读取flag.txt内容。
  • 构造payload利用PHP的assert函数进行代码注入,执行系统命令读取flag.txt。

延伸问答

xxa集团的终端遭遇了什么类型的攻击?

xxa集团的终端遭遇了DNS劫持的恶意攻击。

如何通过Wireshark分析找到被劫持的服务器IP?

在Wireshark中使用dns过滤器,可以找到对外网DNS服务器的查询操作,发现被劫持的服务器IP为61.7.12.5。

使用yafu进行RSA解密的步骤是什么?

使用yafu对RSA密钥进行因数分解,得到因数后编写解密脚本,计算私钥并解密消息。

PHP代码中的序列化漏洞是如何被利用的?

通过构造特定的payload,利用PHP的unserialize函数执行恶意代码,从而读取flag.txt的内容。

构造payload时需要注意哪些细节?

需要确保payload能够绕过正则表达式过滤,并正确调用PHP的assert函数执行系统命令。

最终获取的flag是什么?

获取的flag是flag{a878b5d5-4118-4402-a1d0-599c47ecbab6}。

➡️

继续阅读