目录

一、习题通关

第2页

方法一、常规:burpsuite改包

方法二、烦躁:用开发者工具找找找

二、总结思考


一、习题通关

第2页

这一课其实非常简单,有两种方法可以解

方法一、常规:burpsuite改包

准备好burpsuite,网页上啥也不用改,点checkout按钮

burpsuite抓到的包有两个参数,QTY和Total

根据这题的意思,要以低价买东西,所以QTY可以不动也可以增加,把Total改成低于正常总价的值,比如0,发送之后即可通关

方法二、烦躁:用开发者工具找找找

信了本课名字的邪,才会想到用这种方法,HTML篡改,那就直接改HTML咯。

这个方法挺考验灵感的,因为最后发现要改的地方是个隐藏域。

鼠标停在checkout那行,点右键,点 检查(如果你用的也是chrome浏览器),可以看到这个名叫Total,type是HIDDEN的藏起来的input标签

把这个input标签的value改成比实际总价小的值,比如0,点checkout之后即可通关

注意:本关如果 查看网页源代码 是看不出来什么鬼的

其实。。。我也没啥灵感,我先看了java代码(WebGoat-8.1.0\webgoat-lessons\html-tampering\src\main\java\org\owasp\webgoat\html_tampering\HtmlTamperingTask.java),知道了通关条件是名叫Total的参数的值+1<名叫QTY的值*2999.99

然后又看了html代码(WebGoat-8.1.0\webgoat-lessons\html-tampering\src\main\resources\html\HtmlTampering.html),发现Total在一个隐藏的input标签中,并且在checkout附近

二、总结思考

官方给的总结特简单,浓缩起来就一句话:别相信客户端发来的数据。计算呀,验证呀,这些都应该放在服务器端。

我自己再加一点点感触:

一开始差点被这关花里胡哨的名字给骗了,其实冷静想想,有两种情况,要么就是客户端输入直接在客户端处理,完全不需要服务器处理;要么就是客户端输入需要在服务器端处理。第一种情况下,确实需要在网页上改东西;第二种情况,既然数据总是要传输的,就没有必要在客户端改,可以在传输过程中改,也就是用burpsuite等工具抓包改包。而买东西这种情况,我不相信不需要服务器处理,因此抓包改包行得通,而且对于动态网页,十有八九这种方法更方便。

WebGoat Client side -- HTML tampering相关推荐

  1. 【WebGoat习题解析】AJAX Security-Insecure Client Storage

    绕过前端验证可以通过两种办法:一是利用开发者工具进行debug:二是利用burpsuite直接抓取.本题解决思路如下: STAGE 1: For this exercise, your mission ...

  2. 再战WebGoat之代码审计

    声明 好好学习,天天向上 回想首次接触webgoat已是两年前,当时可能连漏洞原理都不是很明白就开始上手靶场了,也是搜了很多文章,还用的word的方式写的草稿,惭愧惭愧.webgoat一直是我心中高质 ...

  3. [NOTE] WebGoat v8.2.2学习笔记

    [NOTE] WebGoat v8.2.2学习笔记 文章目录 [NOTE] WebGoat v8.2.2学习笔记 前言 CIA 常见编码形式 OpenSSL使用 docker安全 SQL安全 SQLi ...

  4. webgoat全关教程手册

    Webgoat&Webwolf owaspbwa里面的两个服务 搭建 先要安装jdk.Webgoat和Webwolf Webgoat和Webwolf jdk1.8不支持了,需要安装jdk11 ...

  5. WebGoat——不安全的通信、配置、存储

    一.Insure Communication不安全的通信--Insecure Login不安全的登录 1.题目: For this lesson you need to have a server c ...

  6. Webgoat学习笔记

    0x00 安装 WebGoat的版本区别 WebGoat是一个渗透破解的习题教程,分为简单版和开发版,GitHub地址. 简单版安装 简单版是个JAVA的Jar包,只需要有Java环境,然后在命令行里 ...

  7. WebGoat通关教程

    这里我们用docker镜像一键搭建即可 用docker命令开启webgoat docker run -d -p 8081:8080 -p 9090:9090 -e TZ=Europe/Amsterda ...

  8. owaspbwa之WebGoat

    简介 下载:https://sourceforge.net/projects/owaspbwa/files/ GitHub: https://github.com/chuckfw/owaspbwa/w ...

  9. etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease

    1. Client 定义 Client 定义如下: type Client struct {ClusterKVLeaseWatcherAuthMaintenance// 认证的用户名Username ...

  10. 【运维学习笔记】在 vSphere Client上创建新的虚拟机

    具体步骤如下: 1. 创建新的虚拟机 打开vSphere Client(可以是客户端也可以是网页端) 如果是网页端仅能使用火狐浏览器或者谷歌浏览器打开,输入网址:192.168.22.22,进入如下界 ...

最新文章

  1. 狂宴终有尽时,留一份清醒一份醉 比特币现金BCH凸显投资价值
  2. P4173-残缺的字符串【FFT】
  3. 【Git、GitHub、GitLab】五 git中裸仓库.git下的内容
  4. .net如何引用该命名空间
  5. 12名高校教师被降级!打破职称终身制,山东在行动!
  6. Java单机部署,Nacos docker单机模式部署实现过程详解
  7. 【AI视野·今日NLP 自然语言处理论文速览 第七期】Tue, 15 Jun 2021
  8. python3中round的用法_Python 3标准库用法--reversed、round、set
  9. Postman中json内字符串转义问题
  10. 藏红花怎么推广?百度下拉词|抖音下拉词框|信息流推广-三剑合璧
  11. jdbc 4.0连接mysql_使用JDBC连接操作数据库
  12. 抖音数据统计_【数据】2018抖音大数据报告(完整版)
  13. vue:antV G2在vue中的使用(阿里图表,类似echarts)
  14. 当今主流软件产品家族及其开发语言
  15. python画菱形的代码_python绘制菱形
  16. strtok用法详解
  17. linux下查看eml类型文件
  18. Redis常用的五种数据类型
  19. 关于springboot整合log4j2的史上最全配置解释
  20. 如何判断一个结构体的大小

热门文章

  1. 计算机主机安装威联通,我的智能网络进化 篇十二:威联通TS-453Bmini NAS加装内存,轻松玩转虚拟机安装win10系统...
  2. 该死的强迫症,教你stm32怎么把杜邦线弄整齐
  3. VBA 字典使用小结:关键字循环
  4. 防止电脑自动锁屏(Windows系统)
  5. 【ArcGIS风暴】ArcGIS10.6栅格计算器(Raster Calculator)用法详解
  6. vue中局部过滤器和全局过滤器的使用
  7. tableau连接Mysql出现的密码验证 cannot be loaded
  8. linux的的符号,linux特殊符号
  9. 7个人生工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
  10. 51单片机基本工作引脚