当前位置: 首页 > news >正文

Web安全基础

1、HTML基础

什么是 HTML
HTML 是用来描述网页的一种语言。
HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (Markup language) 标记语言是一套标记标签 (Markup tag)
HTML 使用标记标签来描述网页
总的来说,HTML 本身不具有编程逻辑,它是一种将格式与内容分离编排的语言。 用户在浏览器端解析的网页大都是由 HTML 语言组成。
由于是通过浏览器动态解析,因此可以使用普通文本编辑器来编写 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编码特殊字符
&quot

"

&apos'
&amp&
&lt<
&gt>

此外,任何字符都可以使用它的十进制或十六进制的ASCII码进行HTML编码,例
如:

HTML编码特殊字符
&#34"
&#39'
&#x22"
&#x27'

6、HTML5新特性

其实 HTML5 已经不新了,之所以还会在这里提到 HTML5,是因为更强大的功能会 带来更多意想不到的问题。
HTML5 的一些新特性:

新的语义元素标签

新的表单控件
强大的图像支持 

强大的多媒体支持

强大的 API

7、参考资料

HTML 教程

HTML5 Security Cheatsheet

http://www.lryc.cn/news/97009.html

相关文章:

  • jQueryAPI
  • 如何将路径字符串数组(string[])转成树结构(treeNode[])?
  • 中国工程院院士陈晓红一行莅临麒麟信安调研
  • 解决Linux环境下启动idea服务,由于权限问题无法正常启动问题
  • Linux6.16 Docker consul的容器服务更新与发现
  • Redis学习2--使用java操作Redis
  • [游戏数值] 常用刷新次数钻石消耗的设计
  • rancher 2.5.7 证书过期处理方案
  • Tomcat中的缓存配置
  • C++ 函数模板
  • 大语言模型分词的 chunk_size 和 chunk_overlap 说明和验证
  • OpenStack - 构建强大的云计算平台
  • 在CSDN学Golang分布式中间件(ElasticSearch)
  • web-文件包含
  • 20230724----重返学习-vue3知乎日报项目实战
  • 1.react useState使用与常见问题
  • LLaMA2可商用|GPT-4变笨|【2023-0723】【第七期】
  • [SQL系列] 从头开始学PostgreSQL 自增 权限和时间
  • 【云原生】Kubernetes之Secret
  • 细说小程序底部标签---【浅入深出系列006】
  • 【VUE】使用elementUI上传组件-提示不存在
  • Flutter Windows通过嵌入Native窗口实现渲染视频
  • MySQL学习笔记 ------ 库和表的管理
  • python中去除字符串中指定的字符
  • Java实现商品ID获取京东商品详情Desc商品描述数据方法
  • 1-高性能计算研究
  • swagger快速升级方案
  • sql中with as用法/with-as 性能调优/with用法
  • 大数据课程C5——ZooKeeper的应用组件
  • Redisson实现简单消息队列:优雅解决缓存清理冲突