安全测试-测试流程和常见漏洞

安全测试流程

  1. 需求评审
  2. 静态代码扫描
  3. 测试用例
  4. 功能测试
  5. 安全评审
  6. 代码,依赖安全扫描
  7. 安全测试用例
  8. 安全测试执行
  9. 测试结果分析

安全测试用例设计关注维度:

代码层面

  • 静态代码扫描
  • 三方组件扫描

业务逻辑

  • 敏感信息
  • 加密传输
  • 加密存储

常见漏洞

  1. SQL注入
  2. XSS
  3. CSRF
  4. 越权
  5. 上传下载

SQL注入

SQL注入就猜测SQL语句,在前端输入字段,拼接成的SQL可以一直执行。
如下图是DVWA模拟的SQL注入,后端如果没有对SQL进行限制,将会查出数据库中的信息。
在这里插入图片描述
源码如下:

$query  = "SELECT first_name, last_name FROM users WHERE user_id = '$id';";

预防措施:

  1. 存储过程预编译
  2. 后端代码使用数据实例,如ORM模型(Object-Relational Mapping(ORM)模型是一种以对象的方式映射和处理关系数据的编程技术,它可以为开发人员提供一种更加便捷和高效的方式来实现对数据库的存取操作,可大幅减少访问数据库所需要要编码的量。通常来说,ORM实质上是数据访问层,可以作为访问关系数据库的中继,将实际的SQL语句转换成程序语言的方法调用,从而使得数据库的存取工作更加简单、易用。此外,ORM还可以提供对象和数据库间的对映关系,使得开发人员可以在面向对象和面向数据库之间进行切换,而不需要重写整个程序。)

XSS漏洞

什么是XSS漏洞

XSS(跨站脚本攻击)是指攻击者在Web应用程序中注入恶意代码,如JavaScript,恶意代码执行时,会获取Web浏览器的访问者的敏感信息,如Cookie,会话变量等。

XSS漏洞分类

  1. 存储型
  2. 反射型
  3. DOM型XSS

反射型XSS

反射型XSS流程

攻击者把带有XSS脚本的链接发送给目标用户,当目标用户点击该链接的时候,会访问自己需要访问的服务器,浏览器会执行攻击者的脚本,窃取用户的信息,发送给攻击者搭建恶意服务器,攻击者从恶意服务器中获取相关的信息。
在这里插入图片描述

反射型XSS实例

下图是使用DVWA模拟反射型xss攻击
在这里插入图片描述

在这里插入图片描述

存储型XSS

存储型XSS流程

相比于反射型xss,存储型xss是是把脚本嵌套在目标网页上,当用户访问该脚本时,它会自动触发脚本,窃取用户的信息。
在这里插入图片描述

反射型XSS实例

下图是使用DVWA模拟存储型xss攻击
在这里插入图片描述
在这里插入图片描述
所以看出来无论是存储型还是反射型xss攻击,都是访问网页时执行恶意代码嵌套,窃取用户信息。

XSS预防措施

对用户的输入(和URL参数)进行过滤,对输出进行html编码,防止恶意代码执行。

CSRF

什么是CSRF

跨站请求伪造(英语:Cross-site request forgery),通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前
已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指
定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
整体流程为:

  1. 登录受信任的网站,并在本地生成cookie
  2. 在不退出网站的情况下,访问危险的站点

CSRF流程

用户在访问目标网站时,同时访问了恶意网站。恶意网站会窃取用户的鉴权信息,对目标网站发现请求,产生违法操作。
在这里插入图片描述
假如一家银行用以运行转账操作的URL地址如下:http://www.examplebank.com/withdraw?account=AccoutName&amount=1000&for=PayeeName
那么,一个恶意攻击者可以在另一个网站上放置如下代码:

<img src="http://www.examplebank.com/withdraw?account=Alice&amount=1000&for=Badman">

如果有账户名为Alice的用户访问了恶意站点,而她之前刚访问过银行不久,登录信息尚未过期,那么她就会损失1000资金。

CSRF解决措施

  1. 验证http referer中记录的请求来源地址是否是合法用户地址(即最开始登录的来源地址)。
  2. 通过token方式进行CSRF防护,在服务器端对比POST提交参数的token与Session中绑定的token是否一致,以验证
    CSRF攻击
  3. 尽量使用POST
  4. 将Cookie设置为httponly
  5. 重要功能点使用动态验证码进行CSRF防护

其他漏洞

文件上传下载漏洞

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。常见场景是 web 服务器允许用户上传图片或者普通文本文件保存,而用户绕过上传机制上传恶意代码并执行从而控制服务器。

敏感信息泄露

DDos攻击

DDoS 攻击,英文全称是 Distributed Denial of Service,谷歌翻译过来就是“分布式拒绝服务”。一般来说是指攻击者对目标网站在较短的时间内发起大量请求,大规模消耗目标网站的主机资源,让它无法正常服务。在线游戏、互联网金融等领域是 DDoS 攻击的高发行业。

未鉴权、访问控制漏洞

大多数Web应用程序的功能在UI页面显示之前,会验证功能级别的访问权限。但是,应用程序需要在每个功能被访问时在服务器端执行相同的访问控制检查。如果请求没有被验证,攻击者能够伪造请求从而在未经适当授权时访问功能。

使用含有已知漏洞组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值