1. HTTP协议渗透测试的第一道门HTTP协议就像Web世界的通用语言每个上网行为背后都是它在默默工作。但正是这种无处不在的特性让它成为安全攻防的第一战场。记得我第一次参加CTF比赛时就因为忽略了HTTP头部的细节白白浪费了两小时。请求方法篡改是最基础的突破口。常规GET/POST请求之外服务器可能隐藏着特殊入口。比如某次实战中题目要求将GET改为CTFHUB获取flag。用Burp Suite抓包后在Repeater模块简单修改请求方法响应包立即返回了关键数据。这种操作看似简单却考验着对协议细节的敏锐度。302跳转的陷阱更值得玩味。有次遇到点击获取flag的按钮跳转后页面却空空如也。抓包发现响应码302的Location字段暗藏玄机——直接访问跳转目标反而暴露了未经验证的flag。这让我明白重定向不总是安全的服务器可能在跳转过程中泄露信息。2. 认证机制那些自以为是的防护墙基础认证(Basic Auth)就像给大门挂了把玩具锁。某次题目给出5000行的密码字典要求爆破admin账号。通过Burp的Intruder模块设置payload为admin:密码的base64编码配合字典暴力破解。关键技巧在于取消URL编码避免干扰观察响应包长度差异优先尝试常见弱口令Cookie伪造更是经典手段。遇到仅限admin访问的提示时别急着找登录入口。先查看Cookie中的userguest或roleuser这类字段尝试改为admin/1/true等值。有次比赛就是靠修改Cookie中的isAdmin0为1直接绕过了前端验证。3. 源码泄露开发者留下的藏宝图.Git泄露堪称信息泄露中的满汉全席。通过GitHack工具克隆.git目录后就像拿到了版本控制的时光机python2 GitHack.py http://target/.git git log --all # 查看提交历史 git checkout hash # 回退到含flag的版本有次遇到git stash藏匿的flag用以下命令成功提取git stash list git stash apply stash{0}备份文件泄露更是低级却常见。记得扫描到www.zip时的惊喜吗但更隐蔽的是.swp缓存文件——vim异常退出时产生的残影。通过访问.index.php.swp并恢复vim -r index.php.swp4. 目录遍历迷宫中的捷径.DS_Store文件是Mac系统留下的路标。某次比赛中通过它发现了隐藏的/secret目录curl http://target/.DS_Store | xxdPHPINFO页面则是意外的情报中心。遇到phpinfo()页面时立即搜索这些关键词$_ENVflagpasswordinclude_path目录爆破要讲究策略。别盲目使用御剑等工具先观察URL规律。有次题目是/1/2/3/4结构手工构造URL比工具快10倍。关键是要保持耐心——就像我那次在/1/3/sub/深目录里找到的flag。5. 实战心法从脚本小子到思考者工具永远只是手的延伸。有次用dirsearch扫不出结果改用开发者工具查看页面引用的/js/common.js反而发现了/api调试接口。这教会我自动化工具会遗漏逻辑漏洞。保持怀疑一切的态度。某次看到flag在源码中的提示F12查看无果最后在响应头的X-Flag字段找到答案。HTTP头部、注释、甚至错误信息都可能是线索。版本控制泄露不止.git。SVN会留下.svn目录HG会产生.hg仓库。用dvcs-ripper工具处理时重点检查./rip-svn.pl -u http://target/.svn/ grep -r flag .hg/store真正的高手不是记住所有技巧而是培养发现异常的眼力。就像那次看到网页加载时间异常最终发现隐藏的/large_file导致的拒绝服务漏洞。Web安全是攻防的艺术而CTF正是最好的训练场。