1. xss 攻击
- 跨站脚本攻击
1.1 反射性攻击
- url参数直接注入(地址栏运行脚本)
1.2 影响
- 利用虚假输入表单骗取用户个人信息
- 利用脚本窃取用户的cookie值,被害者在不知情的情况下,帮助攻击者发送恶意请求
- 显示伪造的文章或图片
1.3 存储型攻击
- 存储到DB读取时注入
1.4 防御
- ctx.set(‘X-XSS-Protect’,‘0’)
- csp内容安全策略 ;白名单法:xss库,找到允许的代码;黑名单法:script和<去掉,防御替换掉这些
- httpOnly cookie,将cookie信息设置为只读
response.addHeader(“set-Cookie”,“uid=112;path=/;HttpOnly”)
2. csrf 攻击
- 跨站请求伪造
- 用户登录站点A,并再本地记录了cookie,用于被引入一个其他网站,其他网站拿去站点A的cookie,伪造请求
2.1 影响
- 利用用户登录状态
- 用户不知情
- 完成业务请求
- 盗取用户资金
- 冒充用户发帖背锅
- 损害网站声誉
2.2 防御
- 验证码
- cookie值进行hash
3. 点击劫持- clickjacking
- 视觉欺骗的攻击手段,攻击者需要将攻击网站通过iframe进行嵌套自己的网站中,并把iframe设置为透明,在页面透出一个按钮引诱用户点击
3.1 防御
- X-FRAME_OPTIONS是一个http响应头,三个可选值,DENY不允许有iframe,SAMEORIGIN统一域名下可以用iframe,ALLOW-FROM页面指定来源的iframe中展示
- js方式:通过iframe方式加载页面时,直接不展示所有内容
4. SQL注入
- ‘1’ or ‘1’ = ‘1’
- 网站可能会判断密码正确
4. 1防御
- 对参数进行转码
- 用户提供最低权限
- 限制变量类型
- 数据库的特殊字符进行转义
5. OS命令
- 掺入参数删除所有内容命令
6. 请求劫持
- HTTP劫持:需要升级到HTTPS
- DNS劫持:修改DNS解析结果
7. DDOS
- SYN Flood: tcp握手,握手两次不予理会,多次握手
- HTTP flood:
- 备份网站 、http请求拦截、带宽扩容