WebGoat Client side -- HTML tampering
目录
一、习题通关
第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相关推荐
- 【WebGoat习题解析】AJAX Security-Insecure Client Storage
绕过前端验证可以通过两种办法:一是利用开发者工具进行debug:二是利用burpsuite直接抓取.本题解决思路如下: STAGE 1: For this exercise, your mission ...
- 再战WebGoat之代码审计
声明 好好学习,天天向上 回想首次接触webgoat已是两年前,当时可能连漏洞原理都不是很明白就开始上手靶场了,也是搜了很多文章,还用的word的方式写的草稿,惭愧惭愧.webgoat一直是我心中高质 ...
- [NOTE] WebGoat v8.2.2学习笔记
[NOTE] WebGoat v8.2.2学习笔记 文章目录 [NOTE] WebGoat v8.2.2学习笔记 前言 CIA 常见编码形式 OpenSSL使用 docker安全 SQL安全 SQLi ...
- webgoat全关教程手册
Webgoat&Webwolf owaspbwa里面的两个服务 搭建 先要安装jdk.Webgoat和Webwolf Webgoat和Webwolf jdk1.8不支持了,需要安装jdk11 ...
- WebGoat——不安全的通信、配置、存储
一.Insure Communication不安全的通信--Insecure Login不安全的登录 1.题目: For this lesson you need to have a server c ...
- Webgoat学习笔记
0x00 安装 WebGoat的版本区别 WebGoat是一个渗透破解的习题教程,分为简单版和开发版,GitHub地址. 简单版安装 简单版是个JAVA的Jar包,只需要有Java环境,然后在命令行里 ...
- WebGoat通关教程
这里我们用docker镜像一键搭建即可 用docker命令开启webgoat docker run -d -p 8081:8080 -p 9090:9090 -e TZ=Europe/Amsterda ...
- owaspbwa之WebGoat
简介 下载:https://sourceforge.net/projects/owaspbwa/files/ GitHub: https://github.com/chuckfw/owaspbwa/w ...
- etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease
1. Client 定义 Client 定义如下: type Client struct {ClusterKVLeaseWatcherAuthMaintenance// 认证的用户名Username ...
- 【运维学习笔记】在 vSphere Client上创建新的虚拟机
具体步骤如下: 1. 创建新的虚拟机 打开vSphere Client(可以是客户端也可以是网页端) 如果是网页端仅能使用火狐浏览器或者谷歌浏览器打开,输入网址:192.168.22.22,进入如下界 ...
最新文章
- 狂宴终有尽时,留一份清醒一份醉 比特币现金BCH凸显投资价值
- P4173-残缺的字符串【FFT】
- 【Git、GitHub、GitLab】五 git中裸仓库.git下的内容
- .net如何引用该命名空间
- 12名高校教师被降级!打破职称终身制,山东在行动!
- Java单机部署,Nacos docker单机模式部署实现过程详解
- 【AI视野·今日NLP 自然语言处理论文速览 第七期】Tue, 15 Jun 2021
- python3中round的用法_Python 3标准库用法--reversed、round、set
- Postman中json内字符串转义问题
- 藏红花怎么推广?百度下拉词|抖音下拉词框|信息流推广-三剑合璧
- jdbc 4.0连接mysql_使用JDBC连接操作数据库
- 抖音数据统计_【数据】2018抖音大数据报告(完整版)
- vue:antV G2在vue中的使用(阿里图表,类似echarts)
- 当今主流软件产品家族及其开发语言
- python画菱形的代码_python绘制菱形
- strtok用法详解
- linux下查看eml类型文件
- Redis常用的五种数据类型
- 关于springboot整合log4j2的史上最全配置解释
- 如何判断一个结构体的大小
热门文章
- 计算机主机安装威联通,我的智能网络进化 篇十二:威联通TS-453Bmini NAS加装内存,轻松玩转虚拟机安装win10系统...
- 该死的强迫症,教你stm32怎么把杜邦线弄整齐
- VBA 字典使用小结:关键字循环
- 防止电脑自动锁屏(Windows系统)
- 【ArcGIS风暴】ArcGIS10.6栅格计算器(Raster Calculator)用法详解
- vue中局部过滤器和全局过滤器的使用
- tableau连接Mysql出现的密码验证 cannot be loaded
- linux的的符号,linux特殊符号
- 7个人生工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则
- 51单片机基本工作引脚