Client side

Bypass front-end restrictions

2

在大多数浏览器中,客户端对网页的HTML部分具有完全或几乎完全的控制权。

需要发送一个可以绕过页面上所有五个字段限制的请求。

那直接改开发者工具改前端源码吧。

  • 修改option的value
  • 修改radio的value
  • 为checkbox增加一个其他value
  • 修改input的maxlength属性值
  • 移除input的readonly属性

3

前端通常有一些验证机制可以防止用户将更改后的字段值发送到服务器。大多数流行的浏览器(如Chrome)都不允许在运行时编辑脚本。但是可以用其他方式规避前端验证。

修改数据,发送一个能使得所有字段都不匹配上方正则表达式的请求。

直接改正常请求的数据,用工具重发了。

注意,页面有个隐藏字段 error也要改。

Client side filtering

2

向客户端发送的信息过多,会造成严重的访问控制问题。

您以Moe Stooge的身份登录,Goat Hills Financial的CSO。除了首席执行官内维尔·巴塞洛缪,你可以访问公司信息中的每一个人。检查页面的内容,查找Neville Bartholomew的薪水信息。

随便选择一个人的信息查询,搜索页面的HTML源码,直接发现多了Neville Bartholomew的信息。

查看发送的请求,也可以看到返回了过多的用户信息。

3

猜测出验证码,绕过支付。

Checkout code写在网页HTML注释里了。

对吗?骗人的,哈哈。

看源码是 get_it_for_free,难道根据请求地址(/WebGoat/clientSideFiltering/getItForFree)猜?反正我猜不出来。

HTML tampering

2

修改页面HTML数据,以更低的价格购买电视。

有个隐藏属性,改了就行。