利用Burp Suite对OWASP Juice Shop进行渗透测试

作者:超级管理员 更新时间:2017-10-31 16:58:36 来源:未知 点击:15642
  1.简介  OWASP的在线果汁商店(JuiceShop)项目,是一个很好的开源Web靶场。它包含了OWASP的10大漏洞[1],并且这个项目用到了很多流行的技术如HTML5,AngularJS,
   1. 简介
  OWASP 的 在线果汁商店 (Juice Shop) 项目, 是一个很好的开源Web 靶场。它包含了OWASP的10大 漏洞 [1], 并且这个项目用到了很多流行的 技术如 HTML5, AngularJS, Bootstrap, Node.Js, SQLite等等,应用架构如下图所示:
  
  本文将展示如何利用著名的Web 渗透工具Burp Suite 来进行 渗透测试。 Burp Suite的Web渗透功能异常强大,但也不乏一些槽点:
  易用性不是很好,初学者经常一头雾水,甚至开始连页面都无法正常加载。
  可用性有待改善,代理需要手工配置,这个比起Fiddler的代理自动设置就逊色多了。
  默认字体太小了,不修改默认字体大小估计非得上放大镜了。
  尽管有以上种种不足,鉴于其强大的功能,暂且先凑合着吧。
  个人认为,学习Burp Suite最好的方法就是用其来对靶场进行渗透测试(这里提醒一下,请勿在未授权情况下对Internet上的服务器进行渗透测试)。下面将通过具体的渗透步骤来讲解Burp Suite的方法,比如 Intruder模块。
   2. 实验环境
  本实验中利用了Ubuntu 16.04 LTS 作为测试环境。环境搭建布骤如下:
  1. 安装 Docker, 如下一条命令即可
  sudo apt-get installdocker-engine
  2. 安装 Juice Shop 靶场应用
  Juicy Shop 的源代码托管在github上:
  https://github.com/bkimminich/juice-shop
  最方便的方式是采用Docker安装
  首先把镜像端到本地来:
  docker pull bkimminich/juice-shop
  然后进行部署
  docker run -d -p 3000:3000bkimminich/juice-shop
  打开浏览器http://localhost:3000 , 如果到如下页面,则表示Juice Shop部署成功。
  
  3. 安装 Burp Suite。本文需要用到Professional 版本。可以从
  https://portswigger.net/burp
  申请一个试用版。
   3. 渗透测试
  3.1 注册一个测试用户
  点击Login,然后点击”Not yet a customer”
  注册完成后,登录进该用户即可。
  另外Juice Shop 隐藏了一个评分系统的链接
  http://localhost:3000/#/score-board
  每次完成任务后,Web界面上都会收到提示信息。另外,评分系统中也会更新状态。
  3.2XSS 攻击
  3.2.1 反射型XSS攻击 难度指数 ★
  我们首先看一下反射性XSS攻击这道题
  Performa reflected XSS attack with<script>alert("XSS1")</script>.
  这道题很简单,在搜索框中直接输入
  <script>alert("XSS1")</script>
  
  就直接弹出了对话框,过关!
   3.2.2 持续型XSS攻击 难度指数 ★★★
  接着我们来试试持续型XSS攻击这道题。
  这道题需要成功生成一个存储型的<script>alert(“XSS2″)</script> XSS攻击。
  这道题则需要费些心思了。在何处产生存储呢。我们回想起在注册用户的时侯,
  注册信息因该是存储下来的。我们再次访问注册页面,并将Proxy的 Intercept 设置成ON以便截获注册时发送的信息。如下图所示。
  
  这是我们将email地址篡改成 XSS 攻击
  <script>alert(\”XSS2\”)</script>
  后转发出去,我们就可以看到来自 Juice Shop的首肯。
  
  过关。
   3.3 SQL 注入攻击难度指数 ★★
  既然是Web 靶场,SQL 注入攻击时必不可少的一环。
  SQL注入这道题要求我们以SQL注入的方法登录管理员帐户。
  首先我们先在登录页面进行登录,来截取HTTP报文(登录时,不一定需要正确的用户密码名)。截获的HTTP 报文如下图所示。
 
  在看一下服务器返回的信息。
  服务器返回信息中,包含了一个字符串”Invalid email or password”。很明显,这表明登录不成功。下面则是SQL 注入的重点了。右键点击请求,选择 “Send toIntruder”,将该条 记录发送到”Intruder” 模块进行 自动化测试。然后点击 “Intruder”标签页进入 Intruder模块。然后点击”Positions” 子标签页。
  可以看到如下界面
  
  这里事实上就是定义自动化测试时对那些变量进行替换。我们这里仅对email变量进行攻击测试。配置如下
  1. 点击 Clear 按钮。
  2. 鼠标移到test@freebuf.com上点击”Add” 按钮。
  然后单击Payload子标签页。这里可以定义如何对变量进行替换。通常是采用字典(wordlist)来
  进行替换。Burp Suite 本身似乎并未提供一个现成的字典,幸好Fuzzdb 开源项目提供了一个很好的字典,包含了各种攻击可能用到的字典。可以采用如下git命令将其克隆到本地:
  git clone https://github.com/fuzzdb-project/fuzzdb
  克隆完成后,点击Load来加载 wordlist, 这里可以加载fuzzdb中/attack/sql-injection/detect/xplatform.txt 定义的wordlist。
  需要注意的一点是,一定要将”URL-encode these characters” 前面的勾去掉,即不对特殊字符做编码。最后设置如下图所示,注意红框标注的地方。
  配置完成后,点击右上角的”Start Attack”按钮开始攻击。数十秒后,攻击完成。
  查看结果页面,有些SQL注入攻击失败了,有些成功了。一个最简单的筛选办法就是查看Status列,一般成功的会返回200.
  
  相应的攻击向量为
  {"email":"' or1=1--","password":"123456"}
  攻击成功后可以再次看到来自Juice Shop的首肯。
  利用Burp Suite 对OWASP Juice Shop进行渗透测试
   4. 小结
  Juicy Shop 是一个包含了数十种漏洞的Web靶场,其架构设计非常有代表性。用来练习 Web 渗透和熟悉Burp Suite的使用再合适不过了。本文介绍了如何利用Burp Suite 提供的功能组件特别是Intruder模块来进行攻击。读者如果能够根据本文提供的例子,举一反三的操作,一定很快能熟悉如何利用BurpSuite 来进行Web 渗透。然而要想在Web渗透上达到一定的造诣,除了需要深入钻研HTTP协议,Web 应用的常见架构外,还需要练就天马行空般的 黑客思维。

【推荐】Appium直播课早鸟价限时优惠,APP自动化的首选利器>>

推荐阅读

热门内容

利用Burp Suite对OWASP J

  1.简介  OWASP的在线果汁商店...

经验分享 | 技术面试备忘录,饭可以乱吃

  这是关于技术面试要做和不要做的一个列...

快看!听说Android有四大法宝!

  哈喽,艾瑞巴蒂,小编又在一个新的周二...

实验排队功能实现(JAVA)

  pre-reade//将模块暴露出去...

让 Python 更加充分的使用 Sql

  我最近在涉及大量数据处理的项目中频繁...

2017年中国程序员调查分析:大数据就业

  在互联网行业,程序员一直是很受关注的...

美国人看待科技巨头:苹果、FB和Twit

  新浪科技讯北京时间10月30日早间消...

网易:将按照广电总局意见 对“大逃杀”类

  “大逃杀”类游戏的火爆,引起了相关部...

从四大公司财报看行业走向:云计算业务真的

  网易科技讯消息,据路透社报道,亚马逊...

物联网的应用会让黑客掌控一切吗?

  由于了解一些技术,密码和安全性,行业...

最新内容

外链和内链的区别在哪里?

  作为站长或者SEO人员,那么对于内链和外链就应该有个很强的认识,要区别这两者...

网站关键词的布局应该这么来做比较好

  作者Admin来源http://www.cfgse.com浏览4发布时间17...

求助大佬:

我编写以下代码:#define  N  8int main(){     cha...

C++ 在编译生成O文件时main被多次定义

../obj/bitcoind.o:在函数‘main’中:bitcoind.cp...

利用Burp Suite对OWASP Juice Shop进行渗透测试

  1.简介  OWASP的在线果汁商店(JuiceShop)项目,是一个很好的...

如何给相机设置对比度和饱和度

最近研究安卓相机,通过Camera.Parameter可以设置iso,场景,曝光...

VS2010新建IT++工程时报错,求指教

修复或重装VS2010没用,2013也试过了,还是这个问题vs很恶心,不会配置,...

调用realloc函数后除了第一个其他全部变为野指针

#include #define QUEUE_INIT_SI...

如何在service中动态申请权限

 android6.0版本有的权限需要运行时申请,我新建的一个service,需...

经验分享 | 技术面试备忘录,饭可以乱吃,话不能乱说!

  这是关于技术面试要做和不要做的一个列表,主要用于算法面试。其中一些可能只适用...

搭建MySQL高可用负载均衡集群

软件大小:1.28MB资源类型:不详授权方式:免费/开源资料   主要内容:  ...

刘涛为安全感代言 金立M7成职场进阶之选

    近日“中年危机”这一话题热度持续走高,30岁焦虑越来越多的出现在大家的日...

全面屏千元双摄 荣耀畅玩7X明日开售

    明天(11月1日)上午10:08,荣耀在10月刚刚发布的首款全面屏手机荣...

往byte数组拷贝二进制图像数据之后,数据出现问题,大神帮忙看一看

运行到拷贝数据这段时这是读到的图像代码大神帮忙分析分析  瞅瞅~学会使用数据断点...

锤子全面屏新机曝光 坐等老罗的回复

    中关村在线消息:昨天,锤子官方正式宣布新品发布的消息——11月7日19:...

求大神解答

同样的printf语句,中间什么也没做,最后输出结果大不一样。代码如下#incl...

让安全如影随形 金立M7安全芯片打败焦虑

    10月30日,微博上出现了一个关于“焦虑”的微电影,传播十分迅速,片中内...

新中产走向30岁式焦虑 金立M7用"芯"陪伴

    随着我国人均收入水平的持续提高,新中产阶级的队伍也日益壮大,在这其中,已...

一加创始人国外晒一加5T样张 不怕暗光

    中关村在线消息:继一加5T海报和上半身清晰照曝光后,今天一加创始人Car...

18:9全面屏已无悬念 一加5T就长这样了

    中关村在线消息:下月,一加5T就发布了。继上周外媒曝光一组一加5T的海报...