?w3c(万维网联盟)制定了很多标准,HTML、xml(指可扩展标记语言)、JavaScript、CSS。浏览器通过这些标准去实现自己的各种解析引擎,web厂商也同样遵循这些标准展示web服务。但是很多时候网站并没严格按照这些标准执行,但是却能呈现出来,浏览器的实现也不一定完全遵循标准,IE浏览器与Firefox浏览器中可发现,导致也出现了各种hack技术。
为了解决JavaScript的兼容性,诞生了许多js框架:jQuery、YUI等,使用这些框架提供的API能够在浏览器上得到一致的效果。
URL的三类编码方式:escape、encodeURI、encodeURIComponent,对应的解码函数:unescape、decodeURL、decodeURIComponent。
HTML里面可以有脚本、样式等内容的插入,以及图片等资源的引。
HTML由众多标签组成,标签内有各种对应属性,可以不区分大小写,甚至不需要闭合,属性的值可以用单引号、双引号、反单号(tab上面那个键)包住,也可以不需要引号,多余的空格和tab不会影响HTML的解析,HTML里面也可以内嵌css、JavaScript。但是很多的前端安全问题就是这样导致的。
DOM树:?
<html>
<head>
<title>DOM Tutorial</title>
</head>
<body>
<h1>DOM Lesson one</h1>
<p>Hello world!</p>
</body>
</html>
<html>是树根,其他都是树的每个节点,很多的数据都是存储在DOM树中,通过dom树能够获取倒好呢多隐私数据(如dom型xss弹cookie)
dom树操作
document对象代表DOM,getElementById函数可以获取指定id号的标签对象
document.cookie获取cookie信息
window.location 获取URL地址中的数据
iframe标签
很多网站通过iframe嵌入第三方内容,web2.0中许多网站嵌入使用到了iframe标签,攻击者入侵网站也能通过iframe标签嵌入网页,用户访问网站被嵌入的网马网页就会执行。
网站页面使用iframe方式嵌入一个页面时,约定网站页面是父页,被嵌入的是子页,父页和子页如果是同域那么父页与子页可互相通过调用对方的contentwindow来操作对方dom树如果是不同的域,则需遵守同源策略(同端口、同域名、同协议),但子页可以对父页的location值进行写操作(只写不能读),让父页重定向到其他网页,不能获取到父页的locationURL内容有可能造成隐私数据泄露。
|