界面操作劫持与HTML5安全的图文详解
一、界面操作劫持
1)ClickJacking
ClickJacking点击劫持,这是一种视觉上的欺骗。
攻击者使用一个透明的、不可见的iframe,覆盖在网页的某个位置上,诱使用户点击iframe。
2)TapJacking
现在移动设备的使用率越来越高,针对移动设备的特点,衍生出了TapJacking(触屏劫持)。
手机上的屏幕范围有限,手机浏览器为了节约空间,可以隐藏地址栏,手机上的视觉欺骗会更加容易实施。
1. 第一张中最上方显示了浏览器地址栏,同时攻击者在页面中画出了一个假的地址栏;
2. 第二张中真实的浏览器地址栏已经自动隐藏了,此时页面中只剩下假的地址栏;
3. 第三张中是浏览器地址栏被正常隐藏的情况。
这种针对视觉效果的攻击可以被利用进行钓鱼和欺诈。
3)X-Frame-Options
针对传统的界面劫持,通过禁止iframe来防范。
HTTP头中有一个响应头X-Frame-Options,有三个值可以选择:
1. DENY:该页面不允许加载任何 iframe页面。
2. SAMEORIGIN:该页面可以加载相同域名的 iframe页面。
3. ALLOW-FROM uri:该页面可以加载指定来源的 iframe页面。
二、HTML5安全
HTML5中新增的一些标签和属性,使得XSS等Web攻击产生了新的变化,在HTML5 Security Cheatsheet中总结了这些变化。
1)隐藏URL恶意代码
反射型XSS中,会将恶意代码写在URL参数中,这样的话,用户也能看到恶意代码,例如下面的链接:
http://www.csrf.net/csrf.html?id=<script>111</script>
可以通过window.history来操作浏览器的历史记录。
pushState()有三个参数:状态对象、标题,可选的URL地址。
history.pushState({},"", location.href.split('?').shift());
执行上面那段代码后就会将参数隐藏。
新的URL地址就是下面这个:
“pushState”还可以伪造浏览器历史记录。
for(i=0; i<10; i++) history.pushState({},"", "/"+i+".html");
2)HTML5下的僵尸网络
僵尸网络(Botnet)是指在大量的计算机中植入特定的恶意程序,使控制者能够通过若干计算机直接向其他计算机发送指令,进行网络攻击。
基于Web前端的僵尸网络可以用作DDOS攻击,这里涉及Web Worker技术和CORS处理机制,再通过Web蠕虫传播。
Web Worker是一种多线程机制,可以异步执行恶意JS代码,而不影响用户在浏览器中的正常操作。
CORS处理机制工作在浏览器层面,如果服务器不允许跨站,浏览器将拦截服务器返回的结果,也就是说跨域请求,服务器也会正常响应。
那么就可以事先写好一段异步请求的脚本(worker.js),然后通过Web Worker来执行这段脚本,不断的向目标服务器发起请求。
var worker_loc = 'worker.js';//封装了ajax请求的脚本 var target = ' //可实例化多个 Web Workervar workers = [];for (i = 0; i < 1; i++) { workers[i] = new Worker(worker_loc); workers[i].postMessage(target);//跨域消息传递}
以上是界面操作劫持与HTML5安全的图文详解的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

H5通过语义化元素和ARIA属性提升网页的可访问性和SEO效果。1.使用、、等元素组织内容结构,提高SEO。2.ARIA属性如aria-label增强可访问性,辅助技术用户可顺利使用网页。

H5referstoHTML5,apivotaltechnologyinwebdevelopment.1)HTML5introducesnewelementsandAPIsforrich,dynamicwebapplications.2)Itsupportsmultimediawithoutplugins,enhancinguserexperienceacrossdevices.3)SemanticelementsimprovecontentstructureandSEO.4)H5'srespo

Web标准和技术从HTML4、CSS2和简单的JavaScript演变至今,经历了显着的发展。 1)HTML5引入了Canvas、WebStorage等API,增强了Web应用的复杂性和互动性。 2)CSS3增加了动画和过渡功能,使页面效果更加丰富。 3)JavaScript通过Node.js和ES6的现代化语法,如箭头函数和类,提升了开发效率和代码可读性,这些变化推动了Web应用的性能优化和最佳实践的发展。

H5代码的最佳实践包括:1.使用正确的DOCTYPE声明和字符编码;2.采用语义化标签;3.减少HTTP请求;4.使用异步加载;5.优化图像。这些实践能提升网页的效率、可维护性和用户体验。

H5开发需要掌握的工具和框架包括Vue.js、React和Webpack。1.Vue.js适用于构建用户界面,支持组件化开发。2.React通过虚拟DOM优化页面渲染,适合复杂应用。3.Webpack用于模块打包,优化资源加载。

H5不仅仅是HTML5的简称,它代表了一个更广泛的现代网页开发技术生态:1.H5包括HTML5、CSS3、JavaScript及相关API和技术;2.它提供更丰富、互动、流畅的用户体验,能在多设备上无缝运行;3.使用H5技术栈可以创建响应式网页和复杂交互功能。

H5与HTML5指的是同一个东西,即HTML5。HTML5是HTML的第五个版本,带来了语义化标签、多媒体支持、画布与图形、离线存储与本地存储等新功能,提升了网页的表现力和交互性。

HTML5hassignificantlytransformedwebdevelopmentbyintroducingsemanticelements,enhancingmultimediasupport,andimprovingperformance.1)ItmadewebsitesmoreaccessibleandSEO-friendlywithsemanticelementslike,,and.2)HTML5introducednativeandtags,eliminatingthenee
