Web 安全

https://www.jianshu.com/p/303206ae2471

安全:Web 安全学习笔记

  • 背景
  • 最简单的 Web 物理架构
  • 攻击方式总览
  • Web 软件安全攻击防护
    • 一、浏览器安全攻击
    • 二、服务器安全攻击
    • 三、数据库安全攻击
    • 四、 络安全攻击

背景


最简单的 Web 物理架构


Web 软件安全攻击防护


一、浏览器安全攻击

Cookie 假冒

定义

非期望的修改隐藏变量

场景

订单的折扣计算完全依赖客户端的某个变量,这个变量是从服务器生成的,所有逻辑都在客户端计算,服务器只是接受最后的计算结果。如果有程序恶意的修改了变量,会绕过某些业务逻辑

攻击方式

  • 注入的 Javascript 代码
  • 使用浏览器调试工具

保护措施

  • 防止 Javascript 注入
  • 关键的功能不要依靠客户端控制,要采用服务器控制

跨站脚本攻击

定义

某些可能输入会导致服务器堆栈溢出,这直接致使服务器不可用。

场景

程序提供了某项计算密集型的功能,此功能没有限制用户输入,用户在有意或无意之间输入了一个非法的值,导致了缓冲区溢出。

攻击方式

  • 非法输入

保护措施

  • 在服务器端验证和过滤恶意输入
  • 采用防伪式编程

认证逃避

定义

某些 URL 没有出现在主页导航界面,系统只对导航页面进行了认证和授权管理,这些没有出现在导航中的 URL 可能被恶意用户给分析出来,直接进行访问。

场景

用户管理分为三个页面:List.aspx、New.aspx,程序只对 List.aspx 进行认证和授权了,某些用户直接访问 New.aspx 执行添加操作。

攻击方式

  • 直接地址访问

保护措施

  • 梳理 站的整体结构,对所有页面进行认证和授权管理

非法输入

定义

对于和后台数据库产生交互的 页,如果没有对用户输入数据的合法性进行全面的判断,就会使应用程序存在安全隐患。用户可以在可以提交正常数据的URL或者表单输入框中提交一段精心构造的数据库查询代码,使后台应用执行攻击着的SQL代码,攻击者根据程序返回的结果,获得某些他想得知的敏感数据,如管理员密码,保密商业资料等

场景

服务器程序使用字符串拼接的方式来构造 SQL 语句,这就会导致 SQL 注入攻击的可能

攻击方式

  • 恶意的提交 SQL 片段

保护措施

  • 在服务器端验证和过滤恶意输入
  • 不要拼凑 SQL 参数,采用 DbParameter 设置参数
  • 最小化 SQL Server 访问账户的权限

异常敏感信息泄露

定义

用户恶意的上传外挂、木马和其它程序等

场景

你做了一个上传功能,结果对上传的文件没有做好足够的控制,比如:某些恶意的用户会上传一些恶意的脚本,然后执行这些脚本

攻击方式

  • 上传恶意文件

保护措施

  • 在服务器端验证和过滤恶意输入,如:后缀名限制
  • 对上传后的文件进行扫描和杀毒

抵赖

Web 安全

定义

某些用户由于某些原因,不愿意承认自己执行过某些操作,当然,某些操作可能是他们没有意识的情况下执行的

场景

用户一不小心执行的删除操作,然后立即发现自己操作错误了,然后他打电话给售后,说系统有问题

攻击方式

  • 界面引导不够友好,容易导致误操作,为了推卸责任,进行抵赖
  • 用户恶意的执行操作,然后抵赖

保护措施

  • 提高界面的易用性
  • 关键操作的提醒要足够明显
  • 所有操作要留下操作日志

三、数据库安全攻击

连接字符串暴露

定义

数据库连接字符串中包含用户名和密码,这些信息以明文的形式存储在配置文件中,运维和开发人员都能看得到,随着团队人员的流动,这些敏感信息也会暴露

场景

直接将连接字符串配置在 Web.Config 中,而这个文件没有被加密

攻击方式

  • 未加密连接字符串
  • 未加密配置文件

保护措施

  • 加密连接字符串
  • 加密配置文件

存储数据泄露和篡改

定义

某些敏感信息最终需要被存储在数据库中,如果这些信息被存储为明文,会有很多人员可以看到这些信息,极端情况下,某些黑客攻陷了服务器,也可以看到这些数据

场景

为加密密码、关键财务信息,税务局来查账了

攻击方式

  • 未加密敏感数据
  • 加密方法过于简单

保护措施

  • 加密敏感数据
  • 对某些数据采用不可逆加密,如:密码
  • 对某些数据采用可逆加密,如:财务数据

四、 络安全攻击

拒绝服务攻击

定义

恶意用户试图攻击服务器、 络和系统,最终的目的是让系统不可用,停止对外服务

场景

恶意用户在尝试并发的无限制的向服务器发送请求,试图让服务器的负载达到最大,最终让系统停止对外服务

攻击方式

  • 攻击 络
  • 攻击服务器
  • 攻击系统

保护措施

  • 在程序级别,识别并拦截恶意的请求
  • 购买第三方安全软件

传输数组泄露、篡改

定义

恶意的代理服务器或路由器拦截用户的请求,读取或修改敏感数据

场景

您在咖啡馆发现了一个免费的 WIFI,然后偷偷的接入了,您还暗自高兴,当您使用这个免费的 WIFI 进行 上冲浪的时候,您的各种信息都会被 WIFI 给拦截,如果是恶意的用户,结果可想而知

攻击方式

  • 绑架路由器
  • 免费 WIFI 骗局
  • 为加密的传输协议
  • 未加密的传输数据

保护措施

  • 加强客户端路由的安全管理
  • 慎重的选择代理服务器
  • 使用安全的传输协议,如:SSL

 

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据库组成31314 人正在系统学习中 相关资源:淘金币抵钱怎么用|淘金币自动领取工具v1.3绿色版.zip_淘金币自动…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月23日
下一篇 2019年5月23日

相关推荐