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编码 | 特殊字符 |
| " | " |
| &apos | ' |
| & | & |
| < | < |
| > | > |
此外,任何字符都可以使用它的十进制或十六进制的ASCII码进行HTML编码,例
如:
| HTML编码 | 特殊字符 |
| " | " |
| ' | ' |
| " | " |
| ' | ' |
6、HTML5新特性
其实 HTML5 已经不新了,之所以还会在这里提到 HTML5,是因为更强大的功能会 带来更多意想不到的问题。
HTML5 的一些新特性:
新的语义元素标签
新的表单控件
强大的图像支持强大的多媒体支持
强大的 API
7、参考资料
HTML 教程
HTML5 Security Cheatsheet
相关文章:
Web安全基础
1、HTML基础 什么是 HTML HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (Markup language) 标记语言是一套标记标签 (Markup tag) HTML 使用标记标签来描述网页 总的来说&…...
jQueryAPI
文章目录 1.jQuery 选择器1.1 jQuery 基础选择器1.2 jQuery 层级选择器1.3 隐式迭代1.4 jQuery 筛选选择器1.5 jQuery 筛选方法1.6 jQuery 里面的排他思想1.7 链式编程 2.jQuery 样式操作2.1 操作 css 方法2.2 设置类样式方法2.3 类操作与className区别 3.jQuery 效果3.1 显示隐…...
如何将路径字符串数组(string[])转成树结构(treeNode[])?
原文链接:如何将路径字符串数组(string[])转成树结构(treeNode[])? 需求 这里的UI使用的是Element-Plus。 将一个路径字符串数组(当然也可能是其他目标字符串数组),渲染成树。 /*source:/a/b/c/d/e/a/b/e/f/g/a/b/h/a…...
中国工程院院士陈晓红一行莅临麒麟信安调研
7月20日下午,中国工程院院士、湘江实验室主任、湖南工商大学党委书记陈晓红,湘江实验室副主任、湖南工商大学副校长刘国权,湘江实验室副主任、湖南工商大学党委组织部统战部常务副部长胡春华等领导一行莅临麒麟信安调研。麒麟信安董事长杨涛&…...
解决Linux环境下启动idea服务,由于权限问题无法正常启动问题
问题: 在Linux环境下启动idea服务,一直提示: invalid registry store file /app/appuser/.dmf/dubbo,cause:failed to create directory /app/appuser! 原因:文件夹中没有操作权限。 解决: (1࿰…...
Linux6.16 Docker consul的容器服务更新与发现
文章目录 计算机系统5G云计算第四章 LINUX Docker consul的容器服务更新与发现一、consul 概述1.什么是服务注册与发现2.什么是consul 二、consul 部署1.consul服务器2.registrator服务器3.consul-template4.consul 多节点 计算机系统 5G云计算 第四章 LINUX Docker consul的…...
Redis学习2--使用java操作Redis
1、java操作Redis库的比较 Redis有各种语言的客户端可以来操作redis数据库,其中java语言主要有Jedis与lettuce ,Spring Data Redis封装了上边两个客户端,优缺点如下: 2、使用Jedis操作Redis Jedis使用的基本步骤: 引…...
[游戏数值] 常用刷新次数钻石消耗的设计
需满足要求 以一定规律增加能够在较少次数内增加到较大数值平滑增长 设计思路 增加值INT((当前序号-1)/X)*YZ X2,表示希望几个一组,通过INT()取整可获得0、0、1、1、2、2…这样的序列Y10,表示基础值,将上述序列变为0、0、10、1…...
rancher 2.5.7 证书过期处理方案
背景:现场搭建的单节点 rancher 问题:rancher的 ui 界面无法访问 排查:排查rancher容器日志报错 time“2021-12-29T08:27:32.616638402Z” levelinfo msg“Waiting for master node startup: resource name may not be empty” 2021-12-29 08…...
Tomcat中的缓存配置
Tomcat中的缓存配置通常是通过Web应用程序的context.xml文件或Tomcat的server.xml文件进行设置。下面提供一个简单的案例来说明如何在Tomcat中配置缓存。 假设您的Web应用程序名为"myapp",我们将在context.xml中添加缓存配置。 打开Tomcat安装目录&…...
C++ 函数模板
为了代码重用,代码就必须是通用的;通用的代码就必须不受数据类型的限制。那么我们可以把数据类型改为一个设计参数。这种类型的程序设计称为参数化程序设计。软件模块由模板(template)构造。包括函数模板(function tem…...
大语言模型分词的 chunk_size 和 chunk_overlap 说明和验证
大语言模型分词的 chunk_size 和 chunk_overlap 1. 什么是 chunk_size 和 chunk_overlap2. 实际验证 1. 什么是 chunk_size 和 chunk_overlap 对于大型语言模型如GPT-3等来说,chunk_size和chunk_overlap通常指的是文本序列的切分参数: chunk_size: 对输入文本序列进行切分的最…...
OpenStack - 构建强大的云计算平台
简介 OpenStack是一个开源的云计算平台,它提供了一套用于构建和管理私有云和公有云的工具和服务。OpenStack的目标是提供可伸缩性、弹性和可靠性的云基础设施服务。 组件介绍 Nova(计算服务) Nova是OpenStack的计算服务组件,负…...
在CSDN学Golang分布式中间件(ElasticSearch)
一,倒排索引,lucene 倒排索引是一种用于快速查找文本中特定单词或短语的数据结构。它将文本中的每个单词或短语与包含该单词或短语的文档列表相关联。这使得可以轻松地查找包含给定单词或短语的所有文档。 在 Go 中,可以使用 map 和 slice 来…...
web-文件包含
产生原因: 开发人员都希望代码更加灵活,所以通常会将被包含的文件设置为变量,用来进行动态调用。正是这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。 实际上被包含文件可以是任意格式的࿰…...
20230724----重返学习-vue3知乎日报项目实战
day-119-one-hundred-and-nineteen-20230724-vue3知乎日报项目实战 vue3项目实战-知乎日报 主要问题 pinia 和 vuex4 的区别 vue/cli和vite的区别 vue/cli脚手架的底层核心是webpack。vite脚手架: 开发环境:基于ESModule模块规范处理的生产环境&#…...
1.react useState使用与常见问题
文章目录 0. 取消批处理合并更新, render 2次1. 合并更新,setCount(异步更新) 3次相当于1次, count值为12. 如何取消批处理合并,让值累加?,改为回调函数写法,内部会依次执行函数, 执行3次 count值为33. 异步更新,获取异步更新的值?useEffect4.利用扩展运算符的形式来解决对象…...
LLaMA2可商用|GPT-4变笨|【2023-0723】【第七期】
一、大咖观点: 傅盛:ChatGPT时代如何创业 - BOTAI - 博客园Google 已经被OpenAI 超越了吗?| AlphaGo 之父深度访谈《人民日报》:大模型的竞争,是国家科技战略的竞争WAIC 2023 | 张俊林:大语言模型带来的交…...
[SQL系列] 从头开始学PostgreSQL 自增 权限和时间
[SQL系列] 从头开始学PostgreSQL 事务 锁 子查询_Edward.W的博客-CSDN博客https://blog.csdn.net/u013379032/article/details/131841058上一篇介绍了事务,锁,子查询 事务有点像是原子操作,需要有完整性,要么全都完成了ÿ…...
【云原生】Kubernetes之Secret
使用 kubectl 管理 Secret 准备开始 你必须拥有一个 Kubernetes 的集群,同时你必须配置 kubectl 命令行工具与你的集群通信 创建 Secret Secret 对象用来存储敏感数据,如 Pod 用于访问服务的凭据。例如,为访问数据库,你可能需…...
RobotStudio 仿真软件学习分享02 —— 仿真
目录一、本次学习内容总结二、学习经历(实操操作过程)2.1 机器人模型导入2.2 机器人工具加载与周边设备导入2.3 创建机器人控制系统2.4 创建工件坐标系(Workobject_1)2.5 创建并仿真机器人运动轨迹2.6 仿真视频录制三、补充关键注…...
homelab环境变量:ConfigMap与Secret在应用中的使用
homelab环境变量:ConfigMap与Secret在应用中的使用 在homelab项目中,应用配置管理是确保系统安全与灵活部署的核心环节。ConfigMap与Secret作为Kubernetes环境中管理配置的两种核心资源,分别用于存储非敏感配置和敏感信息。本文将通过实际场…...
域名过期后会不会影响网站的SEO排名
域名过期后是否会影响网站的SEO排名:深入探讨与解决方案 在当今互联网时代,域名是网站的核心标识,它不仅代表了网站的身份,还在搜索引擎优化(SEO)中扮演着重要角色。有时我们可能会面临域名过期的情况&…...
新手零基础入门,快马ai带你三步搞定win10下的opencl开发环境
新手零基础入门,快马AI带你三步搞定Win10下的OpenCL开发环境 最近想学习GPU并行计算,发现OpenCL是个不错的入门选择。但作为新手,在Windows 10上配置开发环境时遇到了不少坑。经过一番摸索,终于找到了简单高效的解决方案…...
Tiktokenizer:免费的在线令牌计算器,精准控制AI模型成本
Tiktokenizer:免费的在线令牌计算器,精准控制AI模型成本 【免费下载链接】tiktokenizer Online playground for OpenAPI tokenizers 项目地址: https://gitcode.com/gh_mirrors/ti/tiktokenizer 在AI应用开发中,你是否经常遇到令牌超限…...
PyTorch 3.0静态图分布式训练全链路解析(含NCCL拓扑感知、Graph Partitioning与梯度同步优化)
第一章:PyTorch 3.0静态图分布式训练概览与演进脉络PyTorch 3.0标志着框架在可扩展性与编译优化方向的重大跃迁——其核心变化之一是将TorchDynamo Inductor后端深度整合为默认的静态图编译通道,并原生支持跨设备、跨节点的分布式静态图训练。这一演进并…...
阿里云购买域名后解析与申请ssl证书并部署到宝塔
1.购买域名 2.解析域名 我们域名可以拆解为二级域名和三级域名等等 首先进入域名管理 https://dc.console.aliyun.com/next/index?spm5176.12818093_47.overview_recent.2.1c0716d0NpJNj1#/domain-list/all然后我们就拿到了二级域名,但是这个时候需要把二级域名和一…...
自主飞行控制探索:PX4开源飞控的模块化架构与行业应用价值
自主飞行控制探索:PX4开源飞控的模块化架构与行业应用价值 【免费下载链接】PX4-Autopilot PX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot PX4开源飞控系统作为无人机领域的核心解决方案,通过模块化架构设计…...
gcc编译与gdb使用
一、GCC介绍1.1 GNU工具集GNU 工具集是由自由软件基金会发起的 GNU 项目孕育而生,始于20世纪80年代初,旨在构建完全自由的操作系统,其核心原则强调用户自由使用、修改和分发软件的权利,极大推动了自由软件运动和开源生态系统发展&…...
QQ音乐加密文件解码终极指南:三分钟快速上手qmcdump工具教程
QQ音乐加密文件解码终极指南:三分钟快速上手qmcdump工具教程 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump …...
