其余攻击参见:https://blog.csdn.net/hgswsdn/article/details/117386446
XSS攻击
https://www.cnblogs.com/csnd/p/11807592.html
在web页面注入恶意的html+js脚本,当用户浏览网页时,脚本执行,达到特殊目的。危害性:存储型 > 反射型 > DOM型
存储型攻击:用户发帖子,恶意脚本随着用户的操作,提交到网站的数据库,后面的用户浏览到了帖子,帖子里带有恶意脚本,达成攻击目的
![](https://img.haomeiwen.com/i7343547/d0d0cdd3c6d7df83.png)
反射型攻击:以图片或flash动图等形式诱导用户点击一个url链接,url链接里嵌入的是恶意脚本(在黑客自己的服务器),用户的浏览器运行脚本,导致行为被控制,【一般用来获取用户cookie的】。eg:自动关注某个用户
![](https://img.haomeiwen.com/i7343547/b980078cfc2f8a65.png)
DOM型攻击
不经过后端,基于文档对象模型,是通过url传入参数去控制触发的。也属于【反射型攻击】可能触发的有
document.referer // 返回的是一个 URI,当前页面就是从这个 URI 所代表的页面跳转或打开的
documen.write
innerHTML
window.name
location
解决方案: 对输入(和URL参数)进行过滤,对输出进行编码。
https://www.cnblogs.com/digdeep/p/4695348.html
- 消毒机制,用户输入的脚本,进行转译。eg:>转义为>。会把脚本里的html、js转译掉
- 对输入和URL参数进行过滤(白名单和黑名单):黑名单的验证就是不能出现某些字符,白名单的验证就是只能出现某些字符。
- HttpOnly:XSS 一般利用js脚本读取用户浏览器中的Cookie,而如果在服务器端对 Cookie 设置了HttpOnly 属性,那么js脚本就不能读取到cookie(因为客户端不能读取cookie了)
CSRF跨站点请求伪造
攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作
![](https://img.haomeiwen.com/i7343547/f29cd5f92732070b.png)
解决方案
- 验证 HTTP Referer 字段,它记录了该 HTTP 请求的来源地址。
- token最有效,但是也是最重的,需要服务器端针对每个用户生成不同的token,并且需要缓存记录,用户带token的请求过来需要验证,验证完毕后失效掉,清除缓存
- 验证码也挺有效,需要输入验证后才能发起请求,但是用户体验不好,每次操作时候输入个验证码,用户会疯的(与token一样的原理)
网友评论