1.CTF入门必备之题型介绍
2.CTFer成长日记17:千里之堤,溃于蚁穴——off-by-one漏洞原理与利用1
3.CTF-AWD入门手册
4.CTF篇(攻防世界)
5.Windbg学习及在CTF中解题
6.揭秘JWT:从CTF实战到Web开发,使用JWT令牌验证
CTF入门必备之题型介绍
CTF入门必备,理解题型至关重要。比赛中的主要题型包括Web渗透、RE逆向、源码是什么格式Misc杂项、PWN漏洞利用和Crypto密码破解。
Web类题目是入门者的友好选择,涉及注入、XSS、文件包含等漏洞,信息搜集对解题至关重要。通过敏感目录或备份文件,可以获取源代码和内部URL。例如,Banner识别可揭示框架信息,帮助利用历史漏洞。SQL注入是常见漏洞,包括多种注入方式,如数字型、UNION等。源码打包软件
文件读取漏洞允许攻击者读取私密文件,威胁服务器安全。SSRF漏洞则利用服务端的请求功能,攻击内部系统。命令执行漏洞和XSS漏洞分别涉及恶意命令注入和网页代码注入,需对用户输入进行严格检查。
二进制类题目中,Android题目多关注逆向和杂项。逆向涉及Java/C++的分析和调试,静态与动态分析是常用手段。代码保护和混淆增加了逆向难度,而符号执行和插桩则是解题工具。
PWN题目聚焦于利用漏洞获取权限,需要强大的逆向和数学能力。密码学题型对参赛者的数学和逻辑思维要求极高,挑战性日益提升。
掌握这些题型,对于新入门的CTF选手来说,是提高解题技能和理解深度的关键步骤。每个领域都有其独特技巧和策略,需要深入学习和实践才能在游戏中脱颖而出。博客网址源码
CTFer成长日记:千里之堤,溃于蚁穴——off-by-one漏洞原理与利用1
off-by-one漏洞是缓冲区溢出漏洞的一种,主要特征是溢出仅一个字节,且这个字节的控制性不一定。这种漏洞通常出现在循环边界设置不当或字符串函数使用不当时。在不当的循环边界设置中,如果程序员误将小于等于号写为小于号,导致用户能够向指定的缓冲区写入多一个字节,覆盖缓冲区结束标志,进而泄露后续内存数据。例如,在C语言源代码中,如果用户输入长度为5的字符串,但由于循环条件错误地设置为小于等于号,导致输入的字符串实际上覆盖了缓冲区结束符,引发数据泄露。
另一种情况是字符串函数使用不当,如在复制字符串时未正确检查目标缓冲区的长度,导致目标缓冲区溢出。例如,在使用strcpy函数时,系统源码开放如果目标字符串长度小于实际需要的长度,将引发缓冲区溢出。在上述C语言代码示例中,如果复制的字符串长度为5,但目标缓冲区长度为5,将导致目标缓冲区溢出,其中溢出的字节通常为0x,不可控。
利用off-by-one漏洞的方法通常涉及通过控制溢出字节来影响程序的控制数据,如改变指针值或修改关键变量。常见利用思路是,当溢出的字节位于程序的控制数据时,利用其控制程序执行流程。利用漏洞时,通常需要分析漏洞所在函数的调用位置和程序的内部结构,确定溢出字节的控制范围。
以Asis CTF bks为例,分析了程序的源代码和结构,发现了一个off-by-one漏洞。该漏洞存在于读取用户输入的函数中,通过精心构造的使用破解源码输入数据,可以将输入数据写入到特定的内存位置,从而利用程序中的指针操作。分析表明,利用该漏洞可以篡改或伪造book数据结构,实现任意地址读写,并最终利用shellcode实现系统权限提升。实现这一过程的关键是通过构造特定的输入数据,控制off-by-one漏洞的溢出字节,从而影响程序的控制流程和内存布局,最终实现漏洞利用。
CTF-AWD入门手册
网络安全竞赛的赛制AWD,由实战经验丰富的专家构建,模拟真实网络环境,考验参赛者的攻防能力。其实战性、实时性和对抗性是核心特点。以下是关于AWD比赛的一些基本步骤和策略。
开始时,你需要连接分配的靶机,推荐使用xshell+xftp。首要任务是dump网站源码,以备不时之需,通常会用ssh工具并备份两份,一份用D盾扫描,查找可能的后门并修复。
接着,登录数据库备份数据,以防数据丢失时可以快速恢复。如果初始密码简单,要尽快修改以增强防护。
关闭不必要的端口,减少潜在漏洞,同时部署WAF来分析和防御攻击。通过修改php.ini配置,自动添加文件头部保护。准备好后,可以尝试攻击他人的靶机,利用弱口令和自带后门进行查找和控制。
使用Nmap扫描存活主机,对常见的WEB攻击如文件读取、上传、命令执行和SQL注入有所了解,并编写脚本自动化提交flag。同时,注意权限维持,如使用bash反弹shell,创建不死马等,以保持长期控制。
防御方面,要关注flag的位置、检测连接和进程,使用chattr防止关键文件被修改,以及通过流量监控反击攻击。记得,比赛中的知识可能不全面,期待大家的交流和分享。
总的来说,AWD赛制是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创作并发布。