1、HTML基础
2、HTML中的标签与元素
标签和元素共同构成了 HTML 多样的格式和丰富的功能。
HTML 元素以开始标签起始,以结束标签终止。元素处于开始标签与结束标签之 间,标签之间可以嵌套,一个典型的 HTML 文档如下:
<html>
<!-- html文档申明标签 -->
<body>
<!-- html文档主体 -->
Hello World
<!-- 注释 -->
</body>
</html>
3、信息隐藏
HTML中的部分标签用于元信息展示、注释等功能,并不用于内容的显示。另一方面,一些属性具有修改浏览器显示样式的功能,在CTF中常被用来进行信息隐藏。
标签
<!--...-->,定义注释
<!DOCTYPE>,定义文档类型
<head>,定义关于文档的信息
<meta>,定义关于HTML文档的元信息 <iframe>,定义内联框架
属性
hidden,隐藏元素
4、XSS
关于 XSS 漏洞的详细介绍见 1.4.5 节的 OWASP Top Ten Project 漏洞基础。导致 XSS 漏洞的原因是嵌入在 HTML 中的其它动态语言,但是 HTML 为恶意注入提供 了输入口。
常见与 XSS 相关的标签或属性如下:
<script>,定义客户端脚本
<img src=>,规定显示图像的 URL
<body background=>,规定文档背景图像URL
<body onload=>,body标签的事件属性
<input onfocus= autofocus>,form表单的事件属性
<button onclick=>,击键的事件属性
<link href=>,定义外部资源链接
<object data=>,定义引用对象数据的 URL
<svg onload=>,定义SVG资源引用
5、HTML编码
HTML 编码是一种用于表示问题字符已将其安全并入 HTML 文档的方案。HTML 定
义了大量 HTML 实体来表示特殊的字符。
HTML编码 | 特殊字符 |
" | " |
&apos | ' |
& | & |
< | < |
> | > |
此外,任何字符都可以使用它的十进制或十六进制的ASCII码进行HTML编码,例
如:
HTML编码 | 特殊字符 |
" | " |
' | ' |
" | " |
' | ' |
6、HTML5新特性
其实 HTML5 已经不新了,之所以还会在这里提到 HTML5,是因为更强大的功能会 带来更多意想不到的问题。
HTML5 的一些新特性:
7、参考资料
HTML 教程
HTML5 Security Cheatsheet