这里主要分享网络安全方面的知识和技术,内容会围绕以下方向持续更新:
主要内容
- Web 安全与常见漏洞分析
- 渗透测试思路与实战技巧
- 安全工具使用与环境搭建
- 漏洞复现、原理拆解与防护建议
- 日常学习笔记与技术总结
关于我
欢迎访问我的 GitHub:
后续我会持续整理并发布更多网安相关内容。
这篇记录一道比较典型的 CTF Web 题思路,核心考点是参数控制与本地文件包含。
拿到站点后,首页很简单,只有一个参数:
1 | /index.php?page=home |
页面切换完全依赖 page 参数,第一反应就是测试是否存在文件包含。
先尝试一些常见值:
1 | /index.php?page=about |
页面都能正常加载,说明后端可能存在类似逻辑:
1 | include $_GET['page'] . '.php'; |
接下来测试目录穿越:
1 | /index.php?page=../../../../etc/passwd |
如果没有额外过滤,有机会读取目标文件。
有些题目会拼接后缀,这时可以尝试:
例如:
1 | /index.php?page=php://filter/convert.base64-encode/resource=index |
如果成功,就能读取源码。
在这道题里,通过读取源码发现后台还存在一个上传点,但只在管理员登录后可见。继续审计代码后发现:
最终上传一句话脚本获得权限,读取到 flag。
看到 ?page=、?file=、?lang= 这类参数时,要优先想到:
很多时候文件包含只是第一步,真正的利用链可能是:
CTF Web 题很多并不复杂,关键在于把“输入点”与“后端处理逻辑”联系起来。看到可控文件参数时,脑子里要立即联想到包含、读取、审计源码和后续利用链。
后面我还会继续补充 SQL 注入、反序列化和 SSRF 方向的 CTF 题解。
拿到一个低权限 shell 之后,第一件事通常不是盲目找 exp,而是先做信息收集。提权很多时候拼的是细节。
1 | whoami |
这几条命令能帮助判断:
1 | find / -perm -4000 -type f 2>/dev/null |
检查是否存在可利用的高权限程序,例如:
findvimbashcppython如果配置不当,可能直接被用于提权。
1 | sudo -l |
这一项非常关键。很多靶机和真实环境中都存在 sudo 配置不严的问题。
关注:
/etc/crontab/etc/cron.*如果高权限任务调用了可写脚本或相对路径命令,就可能被劫持。
重点看:
.env很多提权并不是“内核漏洞提权”,而是通过凭据复用、横向切换、配置泄露实现的。
常见误区是看到低权限 shell 就开始搜索内核漏洞。实际上更高效的顺序通常是:
提权本质上是寻找“高权限执行链路中的薄弱点”。收集越细,提权越稳。
后续可以继续补一篇关于 sudo 误配置和 PATH 劫持的专题整理。
Burp Suite 是 Web 安全测试中最常用的工具之一。对于刚入门的同学来说,先掌握核心模块比盲目装插件更重要。
用于拦截浏览器请求和响应,是日常测试的入口。
重点掌握:
用于手工重放请求,非常适合测试:
用于自动化批量测试。
典型用途:
常用于处理:
不要一上来就堆 payload,先观察:
每次测试前都留一个原始包,方便对比变更点,避免测乱。
很多功能点表面只提交少量参数,但真实请求中可能还包含:
这些参数往往更值得测试。
Burp 负责改包,浏览器开发者工具负责看前端逻辑、接口调用链和 JS 细节,二者结合效率更高。
工具只是放大能力,真正决定测试质量的仍然是对业务逻辑和漏洞原理的理解。
XSS 是 Web 安全中最常见的一类漏洞之一,本质上是攻击者将恶意脚本注入页面,并在其他用户浏览时执行。
攻击载荷来自请求参数,服务器直接拼接后返回页面。
常见场景:
恶意脚本被写入数据库,后续用户访问页面时触发。
常见场景:
前端 JavaScript 直接读取用户可控数据并写入 DOM。
例如:
1 | <div id="out"></div> |
如果 URL 为:
1 | #<img src=1 onerror=alert(1)> |
页面就可能执行恶意脚本。
不同位置要采用不同的编码方式:
innerHTML优先使用:
textContentinnerText合理的 CSP 可以降低 XSS 利用成功率,例如限制内联脚本和外部脚本来源。
过滤不是核心防线,但依然可以作为辅助手段,尤其适用于富文本内容。
XSS 防护的关键不在于“黑名单拦截了多少 payload”,而在于是否从渲染上下文出发做了正确的输出编码。
后续我会继续整理 SQL 注入、文件上传、CSRF 等常见 Web 漏洞内容。