WebGoat通关教程

article/2025/11/5 2:50:21

这里我们用docker镜像一键搭建即可

用docker命令开启webgoat

docker run -d -p 8081:8080 -p 9090:9090 -e TZ=Europe/Amsterdam webgoat/goatandwolf

打开192.168.109.131:8081/WebGoat和192.168.109.131:9090/WebWolf能打开即可

192.168.109.131是本地IP

直接注册一个账号,登录即可,两个页面账号是相同的

我们先设置下抓包配置

然后这两个包会一直发送,我们把它屏蔽掉

HTTP Basecs3

我们输入POST和数字,抓包

我们发现我们输入的数字是magic_answer,而magic_num估计是答案了,我们把数字123修改成17放包即可

HTTP Proxies4

我们检查元素在控制台中输入webgoat.customjs.phoneHome()会看到一串数字,输入进去即可,456046147

把POST修改成GET、添加x-request-intercepted:true,再把最下面一行删除即可

HTTP Proxies6

 

打开检查元素再go查看网络中的参数看到了一串数字输入进去即可

CIA Triad5

答案是3、1、4、2

把这串base64位解密即可获取账号密码

Crypoto Basics4


直接拿去破解即可

SQL Injection(intro)2

我们搜索Bob的first_name即可搜索到Bob所在的部门了

select department from employees where first_name='Bob';

SQL Injection(intro)3

我们从上一关看到了Tobi的first_name,使用直接构造语句修改即可

update employees set department='Sales' where first_name='Tobi';

SQL Injection(intro)4

alter table employees add column phone varchar(20);

SQL Injection(intro)5

grant alter table to UnauthorizedUser

SQL Injection(intro)9

‘、or、’1’=’1

闭合前面,再让后面的语句构成or ‘1’=’1’即可

SQL Injection(intro)10

根据上面的sql语句构造下,由于没有单引号包裹,使用不用单引号闭合,直接给出or 1=1即可

SQL Injection(intro)11

根据sql语句,可以看到用单引号包裹了,这里闭合掉再加上我们的’or 1=1 -- -

后面再注释掉即可

SQL Injection(intro)12

我们要修改金额,直接闭合然后构造语句再把后面注释掉,从而让我们的金额成为最多

'; update employees set salary=9999999 where last_name='Smith';-- -

SQL Injection(intro)13

直接构造删除表语句即可

SQLInjection(advanced)3

先闭合or 1=1遍历再查询dave的密码

'or 1=1 union select 1,'2','3','4','5',password, 7 from user_system_data where user_name='dave'-- 

SQLInjection(advanced)5

账号tom 密码thisisasecretfortomonly

SQLInjection(advanced)6

答案4、3、2、3、4

SQL Injection (mitigation)6

代码块

try{Connection ct = null;ct=DriverManager.getConnection(DBURL,DBUSER,DBPW);PreparedStatement ps=ct.prepareStatement("select * from users where name=?");ps.setString(1,"1");ResultSet rs=ps.executeQuery();    } catch(Exception e){System.out.println("123");}

SQL Injection (mitigation)10

爆破可知104.130.219.202

Broken Authentication

Authentication Bypasses

抓包把这两个数字修改成4,3即可

JWT tokens3

先点击垃圾桶,然后抓包,会看到access_token的值我们用base64解密下

修改成alg位none、admin为true再加密替换即可

ewogICJhbGciOiAibm9uZSIKfQewogICJpYXQiOiAxNTg0MTY2NTI0LAogICJhZG1pbiI6ICJ0cnVlIiwKICAidXNlciI6ICJUb20iCn0ewogICJhbGciOiAibm9uZSIKfQ.ewogICJpYXQiOiAxNTg0MTY2NTI0LAogICJhZG1pbiI6ICJ0cnVlIiwKICAidXNlciI6ICJUb20iCn0.

JWT tokens8

先点击delete抓包,然后把token拿到https://jwt.io/#debugger那里修改

把kid修改成' union select 'YXhpbg==' from jwt_keys where id='webgoat_key

把username修改成Tom再把payload修改成axin再把左边的复制给burpsuite最后放包即可

Password reset4

这里直接用爆破得出是green

Password reset5

看两个即可

Insecure Login2

直接用burpsuite抓包即可

我们抓包把最下面换成

<?xml version="1.0"?><!DOCTYPE my [<!ENTITY root SYSTEM "file:///">]><comment><text>&root;</text></comment>

即可

内容还是修改上一关一样,Content-Type修改成application/xml即可

Insecure Direct Object References2

直接用tom和cat登录即可

Insecure Direct Object References3

检查元素中有个profile包查看响应会看到一些属性没有的就是role、userId了

输入role,userId即可

Insecure Direct Object References4

上一关包里已经说了有个Id为2342384的用户了

输入WebGoat/IDOR/profile/2342384即可

Insecure Direct Object References5

把包7BuserId修改成2342388即可

Missing Function Level Access Control2

找到隐藏的信息即可

Missing Function Level Access Control3

根据上一关知道的users路径我们访问一下再把content-type修改成 application/json即可获取hash来通关下一关XrEegsBjm6AGpHjw+HOvSVXifKbsyzqz63Nx9TTDrzQ=

Cross Site Scripting7

当我们点击UpdateCart的时候会输出我们的卡号,直接输入我们的xss语句即可

<script>alert(/xss/);</script>

Cross Site Scripting10

输入start.mvc#test/即可

Cross Site Scripting11

根据上一题的构造url

http://192.168.109.131:8081/WebGoat/start.mvc#test/webgoat.customjs.phoneHome()访问

可以看到一条语句,我们检查元素在控制台中输入webgoat.customjs.phoneHome()看到回显就是答案了提交即可

Cross Site Scripting12

 

答案是4、3、1、2、4

Cross-Site Request Forgeries3

先提交数据,抓包,生成poc,用浏览器测试,复制到url中,点击即可

Cross-Site Request Forgeries4

方法和上一关一模一样

Cross-Site Request Forgeries4

自己在本地搭建个html访问即可

<form name="attack" enctype="text/plain" action="http://192.168.109.131:8081/WebGoat/csrf/feedback/message" METHOD="POST"><input type="hidden" name='{"name": "Testf", "email": "teddst1233@163.com", "subject": "service", "message":"' value='dsaffd"}'></form><script>document.attack.submit();</script>

Cross-Site Request Forgeries8

这一题按照题目要求,注册个csrf-开头的用户,比如我的用户名为tntaxin,然后我再注册一个csrf-tntaxin,然后登录csrf-tntaxin访问这道题目,点击solved就过了,当然这题的真实目的是希望你构建一个csrf 恶意链接,然后访问这个链接就会自动登录csrf-tntaxin这个账户,这样受害者的访问记录你就都知道了。

Server-Side Request Forgery2

抓包把image改成images%2Fjerry.png即可

Server-Side Request Forgery3

同样抓包,就是把url换成http://ifconfig.pro即可

Bypass front-end restrictions2

把参数简单修改下即可

Bypass front-end restrictions3

简单抓包加些字母,绕过前端即可

Client side filtering2

检查元素发现有个Bartholomew用户的信息,看到了工资是450000,输入即可

Client side filtering3

点击Buy,抓包发送会看到code,正确的Code是get_it_for_free输入即可

HTML tampering2

我们把数字增多,以最低的价格买最多的家具


Admin lost password2

这个是要爆破的,密码是:!!webgoat_admin_1234!!

再把flag提交上去

Without password1

用任意密码通过即可

1' or 1=1 -- -

Without account1

我们直接评价抓包,把请求改成HEAD,就看到了flag,我们复制提交上去即可

 

 

 

 


http://chatgpt.dhexx.cn/article/sMvxnLwS.shtml

相关文章

在Ubuntu环境下使用docker配置webgoat环境

1.安装Docker环境 sudo apt install docker.io 2.配置Docker加速 打开配置文件 vim /etc/docker/daemon.json添加mirrors信息 {"registry-mirrors":["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]}3.重启docker system…

WebGoat General Crypto Basics

目录 第2页 第3页 第4页 第6页 第2页 这一页是讲base64编码和Basic Authentication的 简单来说Basic Authentication中使用了base64编码&#xff0c;以本页的题目举例&#xff0c;如果有个HTTP头长这样 Authorization: Basic ZmFuY3llbGU6c2VjcmV0 那这个网站就是用了Basi…

docker安装webgoat

docker安装webgoat 一般来说 无需docker&#xff0c;在 https://github.com/WebGoat/WebGoat/releases中&#xff0c;下载最新的v8.2.2.jar,然后java -jar webgoat-server-8.2.2.jar然后反问http://127.0.0.1/WebGoat即可 但是&#xff0c;由于本人windows主机(java10.0.2)和ka…

WebGoat-8.2.2版靶机学习总结

摘要&#xff1a;本文档介绍了WebGoat靶机平台在Windows10系统下的使用。其操作过程均在一台主机上完成。该平台涉及的训练项目有http代理、数据库注入、身份校验缺陷、XSS、访问控制缺陷、通信拦截、序列化问题、CSRF、问题组件等内容&#xff0c;帮助学习者学习网络攻防基础&…

WebGoat安装

WebGoat是运行在Java虚拟机的WEB漏洞实验靶场,可以提供包括跨站点脚本攻击(XSS),访问控制,线程安全,操作隐藏字段,操纵参数,弱会话cookie,SQL盲注,数字型SQL注入,字符串型SQL注入,web服务、Open Authentication失效,危险的HTML注释等多个漏洞练习. 使用WebGoat的方式有很多,我…

WebGoat v8.0打靶笔记

目录 一、环境的配置 &#xff08;1&#xff09;安装docker &#xff08;2&#xff09;WebGoat获取 &#xff08;3&#xff09;burp suite的配置 二、Introduction 三、General &#xff08;1&#xff09;HTTP Basics &#xff08;2&#xff09;HTTP Proxies &#…

安装WebGoat步骤

安装Webgoat步骤 安装目的&#xff1a;了解并深入目前安全行业的OWASP ten 10漏洞 何为Webgoat? Webgoat内置OWASP十大漏洞 安装过程 下载webgoat架包 地址 创建一个文件夹&#xff0c;将上面框出的架包复制到文件夹里 检测JAVA环境 使用之前得先把Java的版本升级一下…

WebGoat部分题目

一、文件上传漏洞 1、跨目录脚本执行 上传的脚本文件在网站存放上传文件的目录下被限制执行&#xff0c;于是我们把上传的脚本文件放到根目录去执行。 靶场情况&#xff1a; 如上图所示&#xff0c;假设的根目录为C:\Users\Administrator/.webgoat-2023.4/PathTraversal &am…

linux部署webgoat

文章目录 程序包准备上传部署 程序包准备 github上下载程序包&#xff0c;如果太慢可以点击 下载webgoat-server-8.2.2 .jar 上传部署 将包上传到服务器上&#xff0c;需要说明该包依赖java环境且对java版本要求较高&#xff0c;我们这里是用java17进行部署&#xff0c;需要…

WebGoat靶场搭建及通关记录(一)

文章目录 前言一、搭建靶场二、通关攻略1.GeneralHTTP BasicsHTTP Proxies 2.Injection FlawsSQL Injection (advanced)SQL InjectionSQL Injection (mitigation)XXE 3.Authentication FlawsAuthentication BypassesJWT tokens 总结 前言 搭建WebGoat靶场&#xff0c;以前没玩…

WebGoat安装配置

WebGoat安装配置 WebGoat是由OWASP维护的故意不安全的Web应用程序&#xff0c;旨在教授Web应用程序安全性课程。该程序演示了常见的服务器端应用程序缺陷。 这些练习旨在供人们学习应用程序安全性和渗透测试技术。 要从源码安装并运行WebGoat需要运用到许多工具&#xff0c;并…

webgoat

Webgoat挑战刷关&#xff1a; 第一关&#xff1a; 提示&#xff1a;Admin管理员丢失密码 一开始想到爆破&#xff0c;后面发现太蠢了有点。。。万一人家的密码设置的稍微有点复杂&#xff0c;那我这老年机还不跑废了啊。 然后我想着用sql注入的万能密码&#xff1a; 发现也给…

WebGoat通关攻略

目录 前言一、环境配置1.Docker配置2.WebGoat获取3.WebGoat连接 二、通关攻略&#xff08;建设中&#xff09;1.Introduction1)WebGoat2)WebWolf 2.General1)HTTP Basics2)HTTP Proxies3)Developer Tools4)CIA Triad5)Crypto Basics 3.Injection1)SQL Injection(intro)2)SQL In…

webgoat全关教程手册

Webgoat&Webwolf owaspbwa里面的两个服务 搭建 先要安装jdk、Webgoat和Webwolf Webgoat和Webwolf jdk1.8不支持了&#xff0c;需要安装jdk11 去git上下载Webgoat和Webwolf https://github.com/WebGoat/WebGoat/releases/tag/v8.0.0.M26 去oracle官网下载JDK https:/…

Webgoat学习笔记

0x00 安装 WebGoat的版本区别 WebGoat是一个渗透破解的习题教程,分为简单版和开发版,GitHub地址. 简单版安装 简单版是个JAVA的Jar包,只需要有Java环境,然后在命令行里执行 1 2 3 <code> #!bash java -jar webgoat-container-7.0.1-war- exec .jar < /code > 然…

6.4 Web安全漏洞学习平台:WebGoat的使用

目录 一、预备知识 1、WebGoat介绍 2、JDK 二、实验环境 三、实验步骤 1、JDK安装 2、JDK环境配置 3、WebGoat下载 6、以字符串型SQL注入实验为例进行简单的讲解 一、预备知识 1、WebGoat介绍 WebGoat是一个用来演示Web浏览器中典型安全漏洞的应用程序&#xff0c;其…

【详解】webgoat Web渗透测试平台Injection单元 攻略

目录 一、什么是webgoat&#xff1f; 二、Injection 2.1 SQL Injection (intro) 2.1.1 查询Bob的岗位 2.1.2 更改Tobi的部门 2.1.3 增加一个phone部门 2.1.4 授权 2.1.5 Try It! String SQL injection 2.1.6 查询所有员工的信息 2.1.7 修改员工的薪水 2.1.8 删库跑路 …

【2022】WebGoat的安装与测试

WebGoat的安装 Welcome Here&#xff01; 谈一谈有关WebGoat的搭建 1.WebGoat环境搭建 &#xff08;1&#xff09;下载安装webscarab 首先我们先查看自己是否有可以运行.jar文件的jdk(jdk1.8)&#xff0c;可在cmd.exe中输入java -version&#xff0c;接着去sourceforge下载…

WebGoat 8.1 靶场 刷题通关教程全攻略 - (A1) Injection

WebGoat 8.1 靶场 刷题通关教程全攻略 - A1 Injection (A1) InjectionSQL Injection (intro)2. It is your turn!3. It is your turn!4. Data Definition Language (DDL)5. Data Control Language (DCL)9. Try It! String SQL injection10. Try It! Numeric SQL injection11. I…

eclipse配置Android环境

eclipse 配置Android 环境 1. 配置jdk环境变量&#xff08;若已配置默认忽略&#xff09;2.下载安装Android SDK3.安装ADT插件4.配置AVD驱动5.下面创建一个新项目&#xff0c;测试一下是否安装成功6.导入一个已有的安卓项目7. 问题解决 1. 配置jdk环境变量&#xff08;若已配置…