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。

🔎

延伸解读

DNS劫持的影响

DNS劫持会导致用户无法正常访问目标网站,影响企业的正常运营。对于xxa集团而言,这种攻击不仅影响了终端用户的访问,还可能导致数据泄露和业务中断,企业需加强网络安全防护措施,防止类似事件再次发生。

RSA解密的应用

在本案例中,使用yafu进行RSA解密展示了如何利用数学工具破解加密信息。了解RSA算法及其破解方法对于信息安全从业者至关重要,能够帮助他们识别潜在的安全漏洞并加强系统的安全性。

PHP序列化漏洞的风险

PHP的序列化漏洞可以被攻击者利用来执行任意代码,导致敏感信息泄露。开发者在编写代码时应避免直接反序列化用户输入的数据,并采取适当的验证和过滤措施,以降低安全风险。

延伸问答

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}。

🏷️

标签

➡️

继续阅读