松散的HTML世界 |
HTML 里可以有脚本、样式等内容的嵌入,以及图片、多媒体等资源的引用。我们看到的网页就是一个HTML文档,比如下面这段就HTML。
[mw_shl_code=html,true]<html> <head> <title>HTML</title>👨🦱👠🧪😤🖕 <metahttp-equiv="Content-Type" content="text/html; charset=utf-8" /> <style> /*这里是样式*/ body{font-size:14px;} </style> 🤟⛵🥑➡🦠<script> a=1; // 这里是脚本 </script> </head> <body> 👍🎢🥩🈚🦕<div> <h1>这些都是HTML</h1><br /> <img src="http://www.guhei.net/logo.png" title="这里是图片引用" /> </div> </body> 👍🌞🔪⚛🐋</html>[/mw_shl_code] 为什么说HTML的世界是松散的?我们知道,HTML是由众多标签组成的,标签内还有对应的各种属性。这些标签可以不区分大小写,有的可以不需要闭合。属性的值可以用单引号、双引号、反单引号包围住,甚至不需要引号。多余的空格与Tab毫不影响HTML的解析。HTML 里可以内嵌CSS、JavaScript 等内容,而不强调分离,等等。 👦🥾💊😉🤛 松散有松散的好处,但这样却培养出了一种惰性,很多前端安全问题就是因为松散导致的。 一、DOM树 DOM树对于Web前端安全来说非常重要,我们的很多数据都存在于DOM 树中,通过DOM树的操作可以非常容易地获取到我们的隐私数据。其实HTML文档就是一个DOM 树。 🧑🍳💍🔌😒👃 如上面那段HTML,如果用树形结构描述,语句如下。 引用 这个树很简单,<html>是树根,其他都是树的每个节点。这里约定标签节点以<xxx>表示,属性节点以@xxx 表示,而文本节点以xxx 表示。 我们的隐私数据可能存储在以下位置:👦👔🔋🙂👍 引用 这些通过DOM 树的查找都可以获取到,仅仅是JavaScript 对DOM 的操作。 🚠🫑❎🦬 二、HTML内嵌脚本执行 JavaScript脚本除了出现在JS格式文件里,被嵌入而执行外,还可以出现在HTML的<script></script>标签内、HTML 的标签on 事件中,以及一些标签的href、src 等属性的伪协议(javascript:等)中。 如下几个例子:👦🥾📥🤪💅 引用 这样导致防御XSS 变得有些棘手,出现在DOM 树的不同位置,面对的防御方案都不太一样。这也为攻击者提供了很大便利,能够执行JavaScript 的位置越多,意味着XSS 发生的面也越广,XSS 漏洞出现的可能性也越大。 三、跨站之魂——JavaScript 🤛🍚📳🦌 在Web 前端安全中,JavaScript 控制了整个前端的逻辑,通过JavaScript 可以完成许多操作。举个例子,用户在网站上都有哪些操作?首先提交内容,然后可以编辑与删除,那么这些JavaScript 几乎都可以完成,为什么是“几乎”?因为碰到提交表单需要验证码的情况,JavaScript 就不行了,虽然有HTML5 的canvas 来辅助,不过效果并不会好。 对跨站师来说,大多数情况下,有了XSS漏洞,就意味着可以注入任意的JavaScript,有了JavaScript,就意味着被攻击者的任何操作都可以模拟,任何隐私信息都可以获取到。可以说,JavaScript就是跨站之魂。
帖子热度 1.1万 ℃
|
|
好 🧑🍳🧦🪜🤡👈
好帖 很好帖 确实好帖 少见的好帖 真 *** 好帖 ✋🗼🥩💲🦋难得一见的好帖 千年等一回的好帖 好得不能再好的好帖 惊天地且泣鬼神的好帖 让人阅毕击掌三叹的好帖 👨⚕️🧥🪦😇👀 让人佩服得五体投地的好帖 让人奔走相告曰须阅读的好帖 让斑竹看后决定加精固顶的好帖 让人看后在各论坛纷纷转贴的好帖 让人看后连成人网站都没兴趣的好帖 👃🚘🌰🈳🐮让人看完后就要往上顶往死里顶的好帖 让人看后不断在各种场合重复引用的好帖 让人一见面就问你看过某某好帖没有的好帖 让人半夜上厕所都要打开电脑再看一遍的好帖 让个读过后都下载在硬盘里详细研究欣赏的好帖 🙌🏠🍭®🦖让人走路吃饭睡觉干什么事连做梦都梦到它的好帖 让人翻译成36种不同外语流传国内外世界各地的好帖 让人纷纷唱道过年过节不送礼要送就送某某帖子的好帖 让国家领导人命令将该帖刻在纯金版上当国礼送人的好帖 让网络上纷纷冒出该帖的真人版卡通版搞笑版成人版的好帖 🧑🎤🩴📬😋✋ 让人在公共厕所里不再乱涂乱化而是纷纷对它引经据典的好帖 让某位想成名的少女向媒体说她与该帖作者发生过性关系的好帖 让人根据它写成小说又被不同导演拍成48个不同版本的电影的好帖 #372: |