juice shop安全测试

本期内容
1.了解什么是安全测试
2.哪一些是安全问题
3.测试的用例(持续跟新)

前言
安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。它一般是在产品开发基本完成到发布阶段才会去做的一件事情,这是一个普遍现象,但其实安全应该提前到更早,在设计阶段就应该把安全考虑进去,在设计的时候就验证产品的安全等级是什么样子,在最终实现的过程中再去一步步检验安全是不是达到了设计的标准。

正在努力

  • 一.安全测试
    • 安全测试的目的是:
    • 安全测试的常用方法有以下几种:
      • (1)静态代码检查
      • (2)动态渗透测试
      • (3)扫描程序中的数据
        • 从用户认证、网络、数据库和Web 四个角度进行安全性测试,需要注意以下几个方面:
          • (1)用户认证安全性测试
          • (2)网络安全性测试
          • (3)数据库安全性测试
          • (4)Web 安全性测试
  • 二.安全性的问题 直接上图
  • 三测试用例
    • 1.首先打开测试网站
    • 2.用例
      • 1.打开网站 在搜索框中输入以下代码 如果有弹出框就是有漏洞的存在
      • 2.获取 我的订单 显示订单跟踪订单看到交付状态 尝试用xss攻击
        • 1.用管理员登录
        • 2.添加商品到购物车 并结算
        • 3.查看订单
      • 3.找到商品 并且修改商品名称
        • 1.老样子 再添加购物车的时候用postman 获取网页
      • 4.修改用户注册是邮箱
        • 1.在注册的时候进行postman抓包 把获取到的网页里的body
      • 5.修改用户投诉的内容
      • 6.攻击账户
      • 7、送货 ---高级成员
      • 8.强制重定向到你不应该重定向到的页面

一.安全测试

安全测试的目的是:

提升IT产品的安全质量;
尽量在发布前找到安全问题予以修补降低成本 ;
度量安全。
验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使之不被非法入侵,不受各种因素的干扰。

安全测试的常用方法有以下几种:

(1)静态代码检查

静态代码检查主要是通过代码走读的方式对源代码的安全性进行测试,常用的代码检查方法有数据流、控制流、信息流等,通过这些测试方法与安全规则库进行匹配,进而发现潜在的安全漏洞。静态代码检查方法主要是在编码阶段进行测试,尽可能早地发现安全性问题。

(2)动态渗透测试

动态渗透测试法主要是借助工具或手工来模拟黑客的输入,对应用程序进行安全性测试,进而发现系统中的安全性问题。动态渗透测试一般在系统测试阶段进行,但覆盖率较低,因为在测试过程中很难覆盖到所有的可能性,只能是尽量提供更多的测试数据来达到较高的覆盖率。

(3)扫描程序中的数据

系统的安全性强调,在程序运行过程中数据必须是安全的,不能遭到破坏,否则会导致缓冲区溢出的攻击。数据扫描主要是对内存进行测试,尽量发现诸如缓冲区溢出之类的漏洞,这也是静态代码检查和动态渗透测试很难测试到的。

从用户认证、网络、数据库和Web 四个角度进行安全性测试,需要注意以下几个方面:

(1)用户认证安全性测试
  1. 系统中不同用户权限设置;
  2. 系统中用户是否出现冲突;
  3. 系统不应该因用户权限改变而造成混乱;
  4. 系统用户密码是否加密、是否可复制;
  5. 是否可以通过绝对途径登录系统;
  6. 用户退出后是否删除其登录时的相关信息;
  7. 是否可以使用退出键而不通过输入口令进入系统。
(2)网络安全性测试
  1. 防护措施是否正确装配完成,系统补丁是否正确;
  2. 非授权攻击,检查防护策略的正确性;
  3. 采用网络漏洞工具检查系统相关漏洞(常用的两款工具为NBSI 和IPhackerIP);
  4. 采集木马工具,检查木马情况;
  5. 采用各种防外挂工具检查程序外挂漏洞。
(3)数据库安全性测试
  1. 数据库是否具备备份和恢复的功能;
  2. 是否对数据进行加密;
  3. 是否有安全日志文件;
  4. 无关IP 禁止访问;
  5. 用户密码使用强口令;
  6. 不同用户赋予不同权限;
  7. 是否使用视图和存储过程;
(4)Web 安全性测试
  1. 部署与基础结构;
  2. 输入验证;
  3. 身份验证;
  4. 授权;
  5. 配置管理;
  6. 敏感数据;
  7. 会话管理;
  8. 加密;
  9. 参数操作;
  10. 异常管理;
  11. 审核和日志记录;

二.安全性的问题 直接上图

juice shop安全测试_第1张图片

三测试用例

跨站脚本
❖ cross-site scripting

1.首先打开测试网站

这里我选择的是链接: juice shop
因为是内部搭建的网站 可能会换端口 建议大家用docker自行搭建

2.用例

1.打开网站 在搜索框中输入以下代码 如果有弹出框就是有漏洞的存在

第一个是XSS攻击

 <iframe src="javascript:alert(`xss`)">

juice shop安全测试_第2张图片

第二个是使用音乐软件的外部播放 进行攻击
随便搜索一个播放器 博主选择的网易云
进入网易云 搜索音乐 点击生成外部链接
juice shop安全测试_第3张图片
点进去之后 下面会出现代码 复制下来 放到 咱们的搜索框里 回车执行
juice shop安全测试_第4张图片
juice shop安全测试_第5张图片

2.获取 我的订单 显示订单跟踪订单看到交付状态 尝试用xss攻击

1.用管理员登录

管理员登录 可以使用sql注入的方式
用户名 ‘ or 0=0 –
密码随意

2.添加商品到购物车 并结算

点击商品添加到购物并点击结算车 这里就不截图啦

3.查看订单

点击账户 选择订单和付款方式 然后点击查看历史订单 再点击后面的小车
juice shop安全测试_第6张图片
用postman获取查看订单的网页
如果有不会postman的博主有详细教程链接: postman
把get换成post
再在body里 id填入