博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web安全问题总结
阅读量:6166 次
发布时间:2019-06-21

本文共 1010 字,大约阅读时间需要 3 分钟。

主要问题

  1. SQL注入:即通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,从而获取不该获取的数据
  2. 跨站脚本攻击(也称为XSS):指利用网站漏洞从用户那里恶意盗取信息。用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。链接里可以获取网站的cookie并提交给攻击者网站,攻击者利用cookie就能够盗取用户信息。例如: 用户发表了评论alert(1),并不加处理的存储到服务器数据库,这样,当其他用户访问对应页面时,会自动在页面弹出弹窗1;
  3. 跨站请求伪造(CSRF/XSRF): 用户在登录工商银行网页的同时,同时打开了另一个不安全页面,里面有一行html代码<img src="http://www.examplebank.com/withdraw?account=Alice&amount=1000&for=Badman">【假的】去执行工商银行转账操作,用户在打开不安全页面的同时会自动执行转账操作,而用户本身并不知情。CSRF能成功是因为同一个浏览器会共享Cookies。

措施

  1. 使用https协议而不是http协议;
  2. 不要在客户端代码、cookie,localStorage,sessionStorage中存放敏感数据,cookie设置成httponly,不允许通过JavaScript访问cookie
  3. 在中间件或者前置nginx设置HTTP安全头部,比如Strict-Transport-Security,X-Frame-Options,X-XSS-Protection,X-Content-Type-Options,Content-Security-Policy等;
  4. SQL注入: 尽可能使用sequelize方法去查询数据库,少使用sequelize.query,如果必须写,对于sql语句参数化查询或预处理,对用户的输入内容进行转义;
  5. 不用eval;
  6. 使用非root用户启动应用程序;
  7. 限制同一个用户在规定时间内访问网站接口的次数,比如一秒一次;
  8. 限制密码输入错误次数;
  9. 对于一些重要敏感操作时服务端要检查Referer字段,同时在敏感操作多进行几次数据交互完成,而不是一次请求完成,也可以有效避免CSRF

转载于:https://www.cnblogs.com/zhaowinter/p/10815371.html

你可能感兴趣的文章
iOS:VFL语言
查看>>
让时间处理简单化 【第三方扩展类库org.apache.commons.lang.time】
查看>>
用scikit-learn学习DBSCAN聚类
查看>>
Linux设备模型(热插拔、mdev 与 firmware)【转】
查看>>
Android开发笔记第二篇(Android 手机概念)
查看>>
js隐藏与显示回到顶部按钮
查看>>
hdu4496 D-City(扭转和支票托收啊 )
查看>>
数据挖掘 | 数据理解和预处理
查看>>
关于大数据你必须了解的几个关键词!
查看>>
在Kali Linux中更改GRUB2背景的5种方式
查看>>
如何把Windows 10的“便笺”按钮从操作中心挪到开始菜单和桌面
查看>>
19 个必须知道的 Visual Studio 快捷键
查看>>
如何在Ubuntu命令行下管理浏览器书签
查看>>
《大数据分析原理与实践》一一2.1 大数据分析模型建立方法
查看>>
《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一2.7 测试套件和类型...
查看>>
8月18日云栖精选夜读:阿里视频云最强转码技术揭秘:窄带高清原理解析+用户接入指南...
查看>>
涨姿势:工业物联网与大数据融合的四个重点
查看>>
社会学视角下的大数据方法论及其困境
查看>>
《云计算:原理与范式》一1.7 平台即服务供应商
查看>>
百度成立“百度搜索公司”:固本拓新驱动生态裂变
查看>>