Please enable JavaScript.
Coggle requires JavaScript to display documents.
前端安全 常见的攻击手段和攻防演练, 散列表 - Coggle Diagram
前端安全 常见的攻击手段和攻防演练
XSS
存储型:将script标签注入到评论区等从数据区读取的文本中,从而一旦一个浏览器无意中中招,其他访问这个网页的用户都会被攻击
古老的防御方式:X-XSS-PROTECTION 当检测到存在XSS攻击,会清除界面。有漏洞,新版的浏览器已经停止支持
反射型:将script标签直接注入到url中,从而在本地环境向远程攻击网站发起url请求,将cookie等信息注入
CSP:Content Security Policy 内容安全策略
Content-Security-Policy:default-src 'self' 只允许执行本域的js代码或其他资源
Content-Security-Policy: img-src https://* 只允许来自https域的图片
Content-Security-Policy: child-src 'none' 禁止所有来源的iframe
分为两种:反射型和c存储型
黑名单:用户的输入永远不可信任的,最普遍的做法就是转义输入输出的内容,对于引号、尖括号、斜杠
进行转义
跨站脚本攻击 Cross Site Scripting
白名单:使用xss()方法,仅仅对敏感内容进行转义
修改cookie为http-only 仅在http传输中可见,js代码无法访问
DDOS
http flood 同时创建许多个http请求,耗尽系统资源
防御:备份网站,至少无法访问时可以控制错误页面
Synflood tcp请求只发起2次握手,利用tcp协议的缺陷,从而耗尽系统资源
防御:高防ip,多个docker,提高犯罪的成本
通过大量的并发访问,耗尽系统资源,使系统无法访问
点击劫持
检测当前页面是否顶层窗口,否则强制跳转到到本页面,而不是在攻击页面以frame的形式展现
X-FRAME-OPTIONS DENY
通过将目标网站用透明ifRame的方式防止在带有诱导性的图片上方,诱导用户点击执行一些好评类的操作
clickJacking
CSRF
采用验证码,人工交互的方式进行验证,主流方案
refer-check 防御,可以防止一些CSRF攻击,不过可以伪造refer,并且HTTPS天生不携带refer
利用本地浏览器已经存在的登陆状态进行操作,解析目标页面,发起评论等请求更改差评为好评等;严重可能在用户不知情下消费
Cross Site Request Forgery 跨站请求伪造
SQL注入
将可变参数以参数的形式,而不是字符串拼接的形式传入
预防方法,使用数据库提供的参数化查询接口
如果SQL本身只是进行变量拼接,而不进行类型校验,可能导致SQL注入,比如‘1’ or ‘1’=‘1’ 会导致一个where条件永远为true
OS命令注入,一些执行可能被执行的git命令,需要 自定义地址时,可能被&&后执行高权限的操作,导致安全问题,比如下载木马
请求劫持
http劫持,和isp投诉,升级https
DNS劫持,DNS访问的结果被篡改
散列表