freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

webgoat通关过程系列(四)
黄石的黄石公园 2023-12-28 14:44:45 126274

A10 Server-side Request Forgery

1. Cross-Site Request Forgeries

  • 1-3, 这里有个submit query按钮,直接点击会提示来自相同host,我们改下请求的host就可以拿到flag,
    这是最简单的方法,但这里应该不是这个目的。xsrf通常是同一浏览器的不同网站之间有恶意行为。所以我们要自己写一个html文件来模拟外站,复制sub query那个form

<html>
<body>
<form accept-charset="UNKNOWN" id="basic-csrf-get" method="POST" name="form1" 
target="_blank" successcallback="" 
action="http://127.0.0.1:8081/WebGoat/csrf/basic-get-flag">
     <input name="csrf" type="hidden" value="false">
      <input type="submit" name="submit">

    </form>
</body>
</html>

然后在同一个浏览器打开,点击提交按钮
image

  • 1-4, 这关同上,也是改host,也可以构造html,然后填表提交

  • 1-7, 这关需要在外站用json提交数据,因为json提交会有cros检验限制,所以这关出了修改host外,还需将Content-Type改为 text/plain
    image

  • 1-8, 这关只需新注册个用户,用户名为当前用户名前加csrf-,然后在同一浏览器登录。再点击solved即可

2. Server-Side Request Forgery

  • 2-2,这关修改请求获取不同的服务器资源,直接修改图片名称即可
    image

  • 2-3, 这关也是直接修改请求,将请求改为一个地址,这样返回的就是地址的内容了,地址是个外站
    image

client side

1.Bypass front-end restrictions

一共两关,都特别简单,页面以正则的方式限制了输入的内容,我们抓包绕过前端,然后直接修改就可以

2. Client side filtering

  • 2-2,这里是想获取Neville Bartholomew的薪水,页面没展示,但是看源码是可以直接看到的
    image

  • 2-3, 这关是需要我们找到checkout code,从源码给的提示我们可以看到checkout code有webgoat, owasp, owasp-webgoat
    image

我们分别填入去试试,发现有个请求时返回不同code的折扣的
image

我们修改这个请求,把后面的code去掉,发现返回的是所有的code列表。可以看到有我们想要的。
image

3. HTML tampering

  • 3-2,这个直接抓包改数字就可以,没什么好说的

challenges

1. Admin lost password

这关要求是要找到admin的密码登录。第一个肯定想到的是sql注入,但是试了几下都不行,然后看了前端代码也没找到什么线索。题目也提示了爆破是不行的。这就没辙了。后来网上看了答案,简直让人震惊。密码竟然藏在那个图片里,下载logo,然后记事本打开就可以看到,我想现实中应该没有人会这么干嘛,不知道这题的意义何在 。
image

2.Without password

这关可以使用sql注入
image

3. Admin password reset

这关目标和以前的重置密码一样,但是原来的方法不行了,原来修改host能直接拦截邮件请求。这里不行。直接说结果,网上看的答案,这里有个git源码泄露的漏洞,请求WebGoat/challenge/7/.git就能下载到.git文件,然后就能看到生成token的源码,
image
从源码可以看出这里随机生成设置了一个种子,这个种子是固定的。那这里就会有个问题,当设置相同的种子后,random生成的随机序列是一样的。也就是伪随机,所以这里我们也就可以生成admin的token。

4. Without account

这关只要把GET改成HEAD就可以了,后端使用了spring boot的@GetMapping注解,但这个注解并有限制head请求
image

# web安全 # 数据安全 # 内网渗透 # 漏洞分析 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 黄石的黄石公园 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
webgoat通过笔记
黄石的黄石公园 LV.3
这家伙太懒了,还未填写个人描述!
  • 4 文章数
  • 2 关注者
webgoat通关过程系列(三)
2023-12-28
webgoat通关过程系列(二)
2023-12-28
webgoat通关过程系列(一)
2023-12-17
文章目录