②钓鱼网站:模仿知名网站来欺骗用户
拦截:谷歌黑名单库,EVSSL证书
第二章 跨站脚本攻击
3.1 XSS简介
指的是黑客用过HTML注入篡改网站,插入了恶意脚本,从而在用户浏览时控制用户的权限。
类型:
1、反射型XSS:简单
作者徽是vip1024c
地把用户输入的数据“反射”给用户,往往诱使用户点击才会成功。也成为非持久性XSS攻击
2、存储型XSS:把用户的数据存储在服务端。也称为持久性XSS。比如黑客发表一篇含有恶意代码的文章,用户阅读后把恶意脚本存储在服务端。
3、DOM Based XSS:并非按照数据是否存储在服务端划分的,效果上来说是反射型的XSS。单独划分来说,比如构造一个事件,闭合源码的’且插入自己的JavaScript代码。第二个就是会闭合掉a然后使得触发另外的函数。
3.2 XSS攻击进阶
-
XSS Playload:攻击者攻击成功之后就会执行它的恶意代码,XSS Playload就是JavaScript代码。比如他会读取你的浏览器cookie对象,这也称为cookie劫持。可以通过HttpOnly标识防止cookie劫持
-
构造GET请求和POST请求可能导致用户删除重要资料和文章。还可以利用这个来获取用户的账户密码等信息。
-
非法获取用户的IP地址。因为很多时候用户的电脑都是使用了代理服务器,网站看到的IP地址其实是内网的出口IP地址。
3.3 XSS防御
- HttpOnly:主要是为了解决XSS攻击后的cookie劫持攻击。
step1 :浏览器向服务器发送请求,这时候是没有cookie的
step2 :服务器返回set-Cookie头,向客户端浏览器写入Cookie
step3 :在该Cookie到期之前,浏览器访问该域下的所有页面都应该发送Cookie
- 处理富文本:在标签选择上尽量选择白名单,避免使用黑名单
第四章 跨站请求伪造
攻击者在自己的域内伪造一个页面,比如删除某个博客的文章。然后诱使用户访问一个页面,就以该用户身份在第三方站点执行一次操作。
####CSRF防御
-
验证码:CSRF攻击通常是用户在不知情的情况之下构造了网络请求,而验证码是用户必须与应用进行交互才能完成最终请求。
-
Referer Check :用于检查请求是否来自于合法的"源"。比如用户需要发帖就会登陆到后台,那么Referer这个值必然是发帖表单所在的页面。但是有一个缺陷,服务器并非什么时候都会去得到Referer。
-
Token:Token 需要同时放在表单中和session中,提交表但时,服务器要验证表单中的Token是否与用户session或者(cookie)中的Token是否一致。
-
token一定要足够随机
第五章 点击劫持
5.1 点击劫持
点击劫持其实就是利用视觉上的欺骗手段。攻击者使用一个不透明、不可见的iframe覆盖在网页上,
5.2 拖拽劫持和数据窃取
诱使用户从不可见的iframe中拖拽出攻击者希望得到的数据。
5.3 触屏劫持
-
touchstart
-
touchend
-
touchmove
-
touchcancel
5.4 防御ClickJacking
- frame busting
写一段JavaScript代码防止iframe嵌套
- X-Frame-Options
使用一个HTTP请求头,当值位DENY时浏览器拒绝加载当前页面任何frame页面;若值为sameorigin时允许加载同源页面下的页面;当值为allow-from origin时就允许加载页面的地址
写在最后
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我