• 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
    
    • 1

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

    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

  • 相关阅读:
    python基本知识-第一周
    大学生个人网页模板 简单网页制作作业成品 极简风格个人介绍HTML网页设计代码下载
    Gmail邮箱注册情况及最新动态
    (自我介绍范文)java面试自我介绍
    关于pycharm中句号变成点的问题
    js 制作qq、微信 的表情
    【今日话题】如何看待Unity收费一事,对标中小公司的从业者的该如何做
    SQL之流程控制函数
    Zookeeper源码学习
    智能电力仪表采集在某厂房二期电力监控系统的设计和应用
  • 原文地址:https://blog.csdn.net/seanyang_/article/details/134277999