Realworld CTF 2023 ChatUWU 详解
本文深入解析了 Realworld CTF 中的 ChatUWU 挑战。题目主要围绕一个基于 socket.io 的聊天室,其核心问题在于 socket.io 中的 parseuri 问题,而非 DOMPurify 的人人赚app源码过滤漏洞。
首先,题目提供了源码,其中前端的关键部分为 index.html。后端代码使用了 DOMPurify 来过滤传入的 from 和 text,但分析发现此版本(^0..0)基本没有漏洞。因此,直接从代码中无法找到突破口。
挑战的关键在于理解 socket 连接机制。实际操作中,前端的 socket 连接到自定义服务器,而不是常规的公共聊天室。这使得 xss 攻击难以通过常规方式触发。
通过师傅提供的 payload ...:/?...@自己的服务器地址,揭示了问题背后的原理。分析发现,payload 中的 @ 后面部分作为服务器地址,是通过解析 location.search(url查询参数)实现的。
逐步调试后发现,linux内核源码大全socket 连接过程涉及 uri 解析,关键在于 uri 解析组件 parseuri.js。通过此组件解析 uri 后,生成的 hostname 为恶意服务器地址,导致 socket.io 连接到恶意服务器,从而触发 xss 攻击。
本地测试可验证这一过程,通过执行 parseuri.js 的代码,发现 hostname 被错误解析,导致连接到恶意服务器。这揭示了 socket.io 内部对 uri 的错误解析,进而导致安全漏洞。
解决策略在于自建恶意服务器,引导 xssbot 连接到该服务器,通过发送可以造成 xss 的 text 来窃取 cookie。实践步骤包括搭建恶意服务器、向 xssbot 发送攻击指令等。
综上所述,ChatUWU 挑战的关键在于对 socket.io 解析机制的理解及利用。通过深入分析代码、调试与本地测试,可揭示并解决这一安全挑战。
CTF入门学习籽料(非常详细)零基础入门到精通,canopen源码简单讲解收藏这一篇就够了!(文末自取)
从年月起,我开始接触CTF,专注于学习SQL注入、文件包含等Web安全知识。初期,虽然掌握了知识点,但并未能将其应用实践。通过刷题,我逐渐领悟了知识点的应用场景和漏洞利用的技巧,但在挖掘源代码(src)漏洞方面仍感迷茫,学习一年后,尚无从下手的经验。为帮助有志于CTF领域学习的朋友,我整理了一系列学习籽料,旨在详细记录自己的学习过程,以供参考。 CTF,中文译为夺旗赛或签到赛,在网络安全领域中,是指技术人员之间进行技术竞技的一种比赛形式。CTF竞赛通常包括多个部分,涵盖各种技术挑战,spi和debug源码如Web、逆向、密码学等。了解不同竞赛网站的特性和题目类型,对于初学者而言至关重要。以下是一些推荐的CTF竞赛平台: buuctf buuoj.cn/ 该平台题库全面,难度梯度合理,常举办自办比赛,适合不同水平的选手。 攻防世界 adworld.xctf.org.cn/ 以含金量高的x ctf比赛著称,题目排序可能略显混乱,适合中高水平选手,题目质量上乘。 CTFshow ctf.show/ 适合初学者,部分教程免费,相较于前两个平台,体量较小。 nssctf nssctf.cn/ 专注于Web安全,风格类似洛谷,频率高,界面美观。 除了参与竞赛,还需要关注学习和资源网站,黑马vue项目源码以便获取更全面的知识和技术更新。以下推荐网站对学习者颇具价值: CTF维基 ctf-wiki.org/ 提供所有方向的详细介绍,适合文字学习者,高难度内容可能缺失。 CTFtime ctftime.org/ 汇集全球战队成绩信息,便于查找知名比赛,参考世界排名。 pojie 破解 提供破解工具和比赛相关信息,相当于CTF社区的论坛。 freebuf 首次接触的平台,包含最新热点和技术贴。 先知社区 xz.aliyun.com/ 分享新生赛总结,包含校赛等周期较长、难度适中的比赛。 对于黑客与网络安全的学习,需要明确学习路线图。该路线图涵盖了攻击和防御领域所需的知识点,包括网络安全法学习、网络安全运营、渗透测试基础、漏洞详解、计算机基础知识等。配套的视频教程详细讲解了路线图中的每一个知识点,共计多集,内容丰富,涵盖了网络安全入门的必知必会学习内容。此外,还提供了一系列技术文档和电子书,包含个人参与大型网安行动、CTF比赛和挖掘SRC漏洞的经验和技术要点,以及多本电子书。面试题集锦,尤其适用于寻找网络安全工作机会的求职者,包含深信服、奇安信、腾讯等大厂面试中常见的问题。 综上所述,通过上述资源的学习和实践,初学者可以在CTF领域快速成长,不仅提升技术能力,还能为未来的职业道路奠定坚实基础。欢迎各位朋友积极参与,共同探索网络安全的奥秘。Consensys CTF - "以太坊沙盒"
本文基于samczsun.com/consensys-...的解析文章,分析了Consensys在地址0xcbef5c4a0d0cde9d6fdceeca部署的以太坊沙盒合约。合约要求黑客攻破并获取其中的所有ETH,但不提供源代码。首先,借助contract-library.com/网站,解析二进制代码,得到一个典型的solidity源码结构。合约包含4个函数、两个uint[]数组全局变量。函数包括对array_0的赋值、set_array、owners以及一个复杂涉及delegatecall的函数xf。
函数xf复杂,需满足三个条件,特别是msg.sender必须是owner数组中的一员。通过分析,发现在没有直接设置owner数组的函数下,可以通过set_array(_key, _value)间接改变owner数组。利用solidity中动态数组在storage的存储方式,计算array[0]和owner[0]对应的storage key差值,通过set_array方法调整owner数组。实现此目的,可部署一个hacker.sol合约。
为满足第三个条件,即构造一个不含特定字节的合约,通过手动编写合约并利用ctf的第四个函数delegatecall该合约,实现清理sandbox中的ETH。使用create2函数创建临时合约,将合约地址作为赠品赠予该临时合约,其初始化代码执行selfdestruct(tx.orgin)函数,转移所有ETH至合约部署人。
通过opcode编写runtime code,部署HackCTF合约,调用ctf的第四个函数,将合约地址作为参数传入,完成清理过程。此方法是在登链社区首发的解析结果,旨在提供对以太坊沙盒合约的深入理解和破解策略。
CTF篇(攻防世界)
欢迎来到CTF攻防世界的入门指南,深入探索每个挑战的奥秘:挖掘源代码的隐藏线索: 使用F开发者工具或快捷键Ctrl+U,探索flag的秘密所在。
解锁robots协议的智慧: 探索robots.txt文件,flag可能就隐藏在其规则之中。
备忘文件的细微之处: 观察.bak文件格式,洞察隐藏在备份中的flag。
理解Cookie的力量: 通过burp suite的抓包工具,解读cookie.php,破解信息加密。
前端知识的实战应用: 破解disabled属性,展现你的代码技巧,寻找flag。
登陆验证挑战: 挑战暴力破解或直接输入,解锁神秘账户。
php逻辑的逻辑迷宫: 探索构造参数a和b,遵循条件判断的线索。
/AntSwordProj...下载对应的安装包,加载器和源码文件都是必需的。将它们解压至同一文件夹内。
安装步骤如下:打开加载器,找到AntSword.exe文件并运行。初始化时,选择文件路径为包含源码的antSword-master文件夹,避免选择空目录,因为它会自动下载源码,可能引发错误。初始化完成后,重新启动加载器,即可看到蚁剑的主界面。
在使用过程中,可能会遇到下载或解压问题,这时需要手动设置路径,例如app.js文件所在的目录。另外,Kali Linux用户可能会遇到Segmentation fault问题,可以参考AntSword-Loader #3的解决方案。
在CTF挑战中,小宁将一个PHP一句话木马放入index.php中。webshell是一种黑客利用的后门工具,通常混杂在网站文件中,允许远程控制服务器。webshell可以执行各种操作,包括在线编辑脚本、上传文件等,但也可能被用于非法入侵。
为避免大马式webshell被检测,一句话木马通过提交简短代码执行服务器上的指令。在蚁剑中,你可以通过右键菜单添加数据,输入URL和连接密码(如"shell"),然后找到flag.txt获取flag。
本文由Zhihu On VSCode创作并发布。
2024-12-23 06:12
2024-12-23 06:02
2024-12-23 05:23
2024-12-23 04:44
2024-12-23 04:25