webgoat-client side 客户端问题

client side 客户端

Bypass front-end restrictions绕过客户端验证

01

用户对 Web 应用程序的前端有很大程度的控制权。 它们可以更改 HTML 代码,有时也可以更改脚本。这就是为什么 需要特定输入格式的应用也应在服务器端进行验证,而不是只在前端做限制。

目标

  • 了解html
  • 在发送请求前篡改请求
  • 篡改field restrictions and 绕过客户端验证

0x02

Field Restrictions
In most browsers, the client has complete or almost complete control over the HTML part of the webpage. They can alter values or restrictions to fit their preference.
客户端可以修改value或者限制

Task
Send a request that bypasses restrictions of all four of these fields. 发送请求绕过四个域的限制。
在这里插入图片描述

先提交请求,burpsuite拦截后,修改每个字段的值,发送请求即可。
在这里插入图片描述

0x03

Validation

为了防止用户修改域值,开发人员会设置一些限制机制,流行的浏览器如Chrome不允许在运行时编辑脚本,我们可以采用一些方法绕过验证。

Task
Send a request that does not fit the regular expression above the field in all fields.
burp抓包 绕过前端正则即可,注意需要绕过所有域的限制,这个题需要了解正则。

field1=a1bc&field2=12a3&field3=ab1?c+12aa3+ABC&field4=sev1en&field5=011101&field6=902120-1111&field7=3101-604-4882&error=0

在这里插入图片描述
总结:本节说明,在前端做限制和验证都是不靠谱的,攻击者可以利用各种工具绕过前端。

client side filtering 客户端校验

只向客户发送他们应该发送的信息始终是一种很好的做法 以访问。在本课中,向客户端发送了太多信息,从而产生了 严重的访问控制问题
your mission is to exploit the extraneous information returned by the server to discover information to which you should not have access.
本节任务是挖掘服务端返回的,本不应该被访问到的,无关的信息

0x02

假设你是CSO,可以获取公司除了CEO的所有人的信息,但你不应该获取CEO的信息。检查页面内容,看看你能获得什么额外信息。
要求找到CEO的工资。
在这里插入图片描述
筛选查看接口返回,接口响应返回了所有用户的salary,所以直接输入提交
在这里插入图片描述

0x03

当知道code后,不需要付钱就可以购买。
在这里插入图片描述

随便输入一个code,单击提交,发现调用了一个接口来校验这个code对不对,而直接请求这个接口/WebGoat/clientSideFiltering/challenge-store/coupons,返回了所有code。
在这里插入图片描述
在这里插入图片描述
使用code请求
在这里插入图片描述
总结:本题的启示是,不要将不该显示的信息,返回给用户。

HTML 篡改

Concept
Browsers generally offer many options of editing the displayed content. Developers therefore must be aware that the values sent by the user may have been tampered with.开发者必须知道,用户提交的值是会被篡改的。

Goals
了解HTML页面。
The user will be able to exploit editing front end of website

0x02

题目要求低价购买电视,页面无法直接修改值,只能抓包后修改。
在这里插入图片描述

抓包,修改数量后提交,同样价格买了10台。
在这里插入图片描述

03防御

在这个简单示例中,价格是在客户端计算并发送到服务器的。服务器 接受给定的输入,并且没有再次计算价格。在这种情况下,缓解措施之一是查找 数据库中电视的价格,然后再次计算总价。

在实际应用程序中,永远不应依赖客户端验证。验证所有客户端发送的输入是很重要的。永远记住:永远不要相信客户端发送的输入。

引用
https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值