安全测试环境搭建及闯关提升过程

405 篇文章 4 订阅
2 篇文章 0 订阅

在这里插入图片描述

一、OWASP果汁店介绍

OWASP果汁店是OWASP组织提供的官方提升安全技术的示例网站:

源码:https://github.com/bkimminich/juice-shop#docker-container

网站的框架结构:
框架结构.png

我帮大家整理一些有意思的例子,提升大家的安全测试水平。

二、搭建示例网站

使用docker

docker run --rm -p 3000:3000 bkimminich/juice-shop

完成的效果 如下图:
示例网站首页.png

三、闯关开始

基本按简单到难的方式,涉及的技术大家自己脑补自学。

第一关:找到隐藏的记分板 类型:代码分析

1、点击搜索,发现url为http://IP/#/search,现使用chrome的F12找到main-es2018.js,在source,打开文件,使用pretty print查看内容。

开发者工具中找到js文件.png

2、搜索search这个关键词,这是个模块的路由。看是否有隐藏的路由。我们可以找到有score-board,administation等。
找到js中开发写的路由url.png

3、访问这个地址:http://IP/#/score-board,如下图,找到隐藏的记分板,如果你 成功,网站会有恭喜的成功了一个挑战!!
记分板.png

第二关:登陆管理员账户 类型:sql注入

1、点击帐户,进入登陆页面,在用户名中输入注入 的用例 ’ or 0=0 --(可参考我写的安全用例https://www.jianshu.com/p/658f10a66acc),密码随便输入,点击登陆。

在这里插入图片描述

2、登陆成功的效果。
截屏2021-07-23 下午3.52.26.png

第三关:是否有Xss注入的漏洞 类型:Xss攻击

在搜索框中输入xss注入用例(参考我写的安全用例https://www.jianshu.com/p/658f10a66acc

如果出现弹出框,就表示这个脚本运行了。如果换成其他攻击脚本也会执行。所有有这方面的漏洞。
image.png

第四关:给商店一个毁灭性的零星反馈 类型:输入验证不当

有两种方法实现:

第一种:使用前端技术:修改disabled属性,提交按钮可提交(掌握这个技术可以随意修改任何属性)

1、进入客户反馈页面,输入反馈内容及公式验证结果,评价等级不选时,提交按钮是灰色的。使用F12在element,找到提交按钮的属性。(可通过按钮附近右键-检查定位按钮属性上下文)
找到提交按钮的属性.png

2、删除button的属性:disabled=“true”,mat-button-disabled,右键选择edit as html,删除后如下图:
编辑属性.png

3、随意点击白色的部分让删除的属性生效,这时看到提交按钮可以点击了。
提交按钮可编辑.png

4、点击提交,在network中找到发送成功并且rating:0评价是0.
提交成功.png

第二种:通过接口技术,修改评星为0,重发请求

1、使用fiddler 抓包,

2、找到提交评论的请求feedbacks,

3、将此请求拖拽到composer中,将post数据中rating的值改为0,再excute发送。
在这里插入图片描述

第五关:登陆管理员页面 类型:失效的访问控制

1、在第一关通过查看前端js得到一些路由-url的路径

查看js

2、直接访问的效果(http://IP:8001/#/administation
不允许进入

3、思考:访问管理员权限下的界面是否需要验证管理员的身份。于是先使用上面sql注入闯关的登陆管理员,再访问管理员页面地址http://IP:8001/#/administation,于是成功显示了只有管理员拥有的功能,可以查看所有注册的用户及客户反馈。
image.png

第六关:找到猫的照片并显示 类型:输入验证不当/恶作剧

1、在左侧边栏中进入【照片墙】,可看如下图:第一张图片显示不出来。
image.png

2、连接查看其他图片,并使用F12进入元素界面查看图片的原地址,并进行访问。
image.png

如果要访问直接使用网站地址+相对地址。

例如:http://IP:8001/assets/public/images/uploads/favorite-hiking-place.png

当我们访问第一个图片原地 址时:http://IP:8001/assets/public/images/uploads/😼-#zatschi-#whoneedsfourlegs-1572600969477.jpg 是 访问不到的。

我们发现这个地址有问题,因为所有地址就是url不能有特殊字符和汉字,这些都要转码才可以。我记得因为http协议是美国人发明的,所以不支持汉语,哈哈,这些不支持的需要进行url转码。

3、搜索网上url转码:"#"的转码为%23,因此这个地址就变成了http://IP:8001/assets/public/images/uploads/😼-%23zatschi-%23whoneedsfourlegs-1572600969477.jpg
image.png

4、在前端页面我们把这个地址修改正确就行了。

chrome-F12-元素,在未显示的图片右键-检查,在高亮的位置找到图片的链接,右键编辑as html,修改#为%23,再点击其他地方保存生效,左侧图片显示出来了

在这里插入图片描述

第七关 让你富有的订单,商品数量 为负数 类型:输入验证不当

1、抓到添加购物车的请求(fiddler)

2、修改数量为-100,重发(将请求拖拽到composer,修改数量为-100,excute提交)

image.png

3、成功后刷新购物车的响应如下:
image.png

4、在页面中刷新显示效果,可以接着支付,钱不会花掉,反到会增加。

在这里插入图片描述

image.png

image.png

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

在这里我向大家推荐一个自动化学习交流群。交流学习群号:914172719 里面会分享一些资深架构师录制的测试有关视频录像…

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值