2.Web安全——HTML基础

一、什么是HTML?

HTML(HyperText Markup Language)即超文本标记语言,是一种用于创建网页的标准标记语言。

二、为什么要学习HTML基础?

1.理解网页结构(便于漏洞挖掘)

  • 页面元素布局 :HTML 定义了网页的基本结构,包括文本、图像、链接、表单等元素的布局。例如,了解到<form>标签用于创建表单,表单中可能包含用户输入的敏感信息,如用户名、密码等。攻击者就可以重点关注表单相关的部分,寻找可能存在的安全漏洞,像 SQL 注入漏洞(如果表单数据被不恰当的处理并用于数据库查询)或者跨站脚本攻击(XSS)漏洞。
  • 资源引用方式 :通过 HTML 标签(如<script>用于引入脚本,<img>用于引入图像等)可以了解网页资源的引用情况。例如,知道<script>标签是如何从外部引入 JavaScript 文件,攻击者可能会尝试篡改脚本文件的来源路径,替换为恶意脚本,或者利用脚本加载过程中的漏洞进行攻击。如果没有 HTML 基础,很难理解这些资源是如何在网页中整合的,也就难以发现其中可能存在的安全隐患。

2.识别攻击面(发现潜在安全风险)

  • 用户输入点 :HTML 中有许多可以接收用户输入的地方,这些地方往往是安全风险的高发区域。比如<input>标签用于创建文本输入框、密码输入框等,攻击者可以尝试在这些输入框中输入恶意代码。对于 Web 安全人员来说,熟悉 HTML 就能快速定位这些用户输入点,进而检查是否对用户输入进行了恰当的过滤和验证。
  • 动态内容渲染:当网页包含动态内容时,例如通过 JavaScript 动态生成 HTML 或者使用服务器端脚本语言(如 PHP)将数据嵌入 HTML,了解 HTML 结构有助于发现动态内容可能导致的安全问题。例如,在一个新闻网站中,文章内容可能是从数据库中读取并动态生成 HTML 页面进行展示。如果在这个过程中没有对内容进行合适的编码,就可能会出现 XSS 漏洞,攻击者可以利用这个漏洞在用户浏览器中执行恶意脚本。

3.分析攻击向量(理解攻击原理)

  • 跨站脚本攻击(XSS)

    • XSS 是一种常见的 Web 安全漏洞,攻击者通过在目标网站中注入恶意脚本(通常是 JavaScript)来获取用户的敏感信息或者执行其他恶意操作。熟悉 HTML 是理解 XSS 攻击的关键。例如,攻击者可能会将恶意脚本注入到一个评论区(通常是通过