参考地址:https://www.freebuf.com/articles/web/221947.html

一、webgoat是什么?

WebGoat是OWASP维护的,用于进行WEB漏洞测试和学习的JAVA应用程序

owasp是开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个组织,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信赖软件。

二、我们能用webgoat做什么?

安全测试项测试,包括xss,sql注入,等

三、安装

1.访问链接https://github.com/WebGoat/WebGoat/releases

选择图上的server和wolfjar包下载

2.将文档存储到一个文件夹内,在文件夹路径中cmd打开命令页面

输入java -jar 包名

如果需要修改server的默认监听端口8080

java -jar webgoat-server-8.0.0.M14.jar --server.port=8000 --server.address=0.0.0.0

启动后访问路径http://127.0.0.1:8080/WebGoat/login

3.注册一个账号,然后登录

四、进入正题

1.introduction(介绍)

第一部分是测试的分类,第二部分是每个分类的具体介绍和课程,第三部分就是具体的内容

introduction下面分为两个部分

第一个webgoat介绍了webgoat的是什么,可以翻译看看

第二个webwolf是让启动webwolf后,使用webgoat的账号登录,里面包括了一些邮件文件等功能,联合webgoat使用,可以作为攻击接受点

第一部分的webgoat是介绍

第二部分是webwolf的题

红色的表示没有通过的。绿色的表示通关了。灰色是介绍和一些教程

第三关要求填写你当前账号的邮箱,发送后在webwolf中去找到邮件里面的字符串

点击send e_mail后检查邮箱,这里我获取了两次,有两封邮件

找到code

将code输入下方的输入框,即可通关

第四关是让去webwolf中找到uniq code 提示了在/landing分类下

在webwolf中找到该uniq输入即可通关

第二类.http协议的介绍

第二关:将输入的值返回到页面上就算通关

第三关:这一关会用到上一关的请求数,在上一关发送请求之前,f12按出控制台,查看network 。将post输入,问题是下一个问题,什么是magic number

将post输入后,点击提交按钮,查看控制台的请求发现,在请求中存在一个magic number的数字,再次填入该数字,再次提交,提交成功

第六关的代理不知道为什么我的burpsuite没办法抓取本地的,修改了占用的8080端口也不行,算了直接进入下面吧

第三类 sql injunction

sql injunction(advance)这个,这个!最难的放到前面感觉不太合适啊(#`O′)。算了先讲吧

第三关:获取dave的密码

首先,我们可以通过第一个查询框,查询出一些信息,比如说全部的人员信息,哎你可能要问了,我填入的名字都不对啊,我都不知道数据库有哪些成员,怎么查询嘛

我们可以猜测,这一句sql的查询大概是:select * from userdata where username='xx'

那么我们要想,我们目前的输入框就是xx这个,如何让xx发挥最大的作用呢,那就是利用sql查询语句的特点,我们可以构造如下的一sql语句:

select * from userdata where username='a' or '1'='1

那么我们需要在查询的框内填入a' or '1'='1    ,,'1是为了和后面的'拼接

a'让最开始的查询语句先闭合,然后再拼接一个查询语句 or '1' ='1,让其成为一个比之前的查询语句更多的查询语句

执行一下:

执行出来了!但是我们仔细看没用dave的信息,dave的信息从哪儿来呢,看上面的表,上面提供了一个表

表中提供了三个字段,其中包括了password,那么我们想,既然上面随便改改sql的查询都能顺利查出来,那么,再魔改一下也是可以理解的吧,于是开始使用联合查询union,查询出两个表吧!

Smith' union select 1,user_name,password, cookie,'5','6',7 from user_system_data --'

照例,先闭合,然后union上面的表,这里注意,由于本来这张表的字段有七个,为了能联合查询出来,上面的表只有三个字段,由于这张表的第一个字段是数字,用1填补就好了,从第五个字段开始,是字符串,需要引用起来,然后最后一个是0,好像也是数字,用7填补,然后--表示之后的都不执行,最后一个单引号闭合查询,也可以不用,毕竟已经用了--

试试吧!

yes!那么我们可以查看字段,dave的密码是dave,填到下面试试

完成!

第五关,有点意思,发现登陆没有什么注入的,用语句tom' --去尝试没有用,从注册可以得到一些注入信息

在注册界面,输入已经有的名字,点击注册报的是已经存在,输入没有的就是提示登录。那么我们可以将代码写成这样

tom ' and length(password)<19 --

该语句可以判断密码的长度,如果密码的长度为19则会提示已经存在,否则则会提示创建成功.依次尝试

尝试tom ' and length(password)=23 --  啊啊成功了

接下来再判断每一位的字母是什么

tom ' and substring(password,1,1)='t' --   t被试出来了,第一个字母是t

这里放一篇博主的文章,我因为代码能力有限懂个原理就行

https://bbs.ichunqiu.com/thread-53099-1-1.html

SQL INJUNCTION终于轻松一点的来了

第七关:字符串的注入

提示为字符串,那么需要用引号引起来,输入1' or '1' ='1

第八关:数字的注入

输入1 or 1=1 就ok

SQL INJUNCTION(MITIGATIO)

第八关:orderby查询

贴上大神地址,太多了,需要时间去验证(我的burpsuite无法拦截本地请求)

https://blog.csdn.net/weixin_30311605/article/details/98779527?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159548565419724843337404%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159548565419724843337404&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~rank_ctr_v4-7-98779527.ecpm_v1_rank_ctr_v4&utm_term=webgoat+sql%E6%B3%A8%E5%85%A5&spm=1018.2118.3001.4187

XXE

第三关需要将拦截到的请求修改成xml提交

第四关需要将拦截到的请求类型修改然后提交

第七关有空再完善吧,照例贴上地址,实在是拦截不到请求

https://www.freebuf.com/articles/web/221947.html

webgoat安全攻防靶场小白test相关推荐

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

    WebGoat 8.1 靶场 刷题通关教程全攻略 - A1 Injection (A1) Injection SQL Injection (intro) 2. It is your turn! 3. ...

  2. 攻防靶场|Vulnstack2靶场之CS实战

    作者: 不染 免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x00 简介 最近学点攻防,拿靶场练练手,大佬轻喷哈. 靶场简介: 红队实战系列,主要以真实企业环境为实例搭建 ...

  3. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(八)-RCE漏洞

    目录 前言: 1.RCE 漏洞简介 1.1.简介 1.2.危害 1.3.利用 1.3.1.漏洞挖掘 1.3.2.windows下管道符 1.3.3.linux下管道符 1.4.防范 2.相关配置 3. ...

  4. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十三)-任意文件下载漏洞(1)

    目录 前言: 一.任意文件下载 1.任意文件下载漏洞简介 1.1.简介 1.2.危害 1.3.利用 1.4.防范 2.项目配置 前言: 前面的博客记录了关于文件上传漏洞的基础知识,以及基本的漏洞出现点 ...

  5. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(六)-SQL注入数字型

    目录 前言: 一.SQL 注入漏洞简介 1.简介 2.危害 3.利用 4.防范 二.相关配置 三.编写"SQL 注入漏洞-数字型注入"后端代码 1.使用 springboot 框架 ...

  6. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(二)-docker安装与学习

    目录 前言: 一.docker安装 1.centos7使用yum安装 二.命令行创建 docker 容器测试 前言: 项目实训立项通过后的几天均在学习 docker 的相关知识,上一篇文章也简单记述了 ...

  7. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(七)-SQL注入字符型

    目录 前言: 一.简介 二.项目配置 三.代码编写 四.运行测试 前言: 前面完成了 SQL 注入漏洞的数字型输入,其实 SQL 注入漏洞还有很多其他类型的注入,例如:字符型注入.宽字节注入等,相应的 ...

  8. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十)-Java反序列化漏洞(2)

    目录 前言: 2.项目配置 3.编写"java 反序列化漏洞"后端代码 4.编写"java 反序列化漏洞"前端代码 5.运行测试 前言: 本篇文章在上一篇文章基 ...

  9. 山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(三)

    目录 前言 主页面的实现 新增用户 修改用户信息 删除用户 查询用户 前言 首先我要完成的是系统中的用户管理功能,实现对用户的增删改查,以及利用Element-Ui完成对应前端页面的搭建,这篇文章记录 ...

最新文章

  1. supervisor源码分析
  2. 又一个 Java 面试神器!
  3. Android新手系列教程(申明:来源于网络)
  4. halcon知识:图像纹理特征提取cooc_feature_matrix
  5. mysql pdo使用存储过程_PDO调用存储过程的问题
  6. 系统架构面临的三大挑战,看 Kubernetes 监控如何解决?
  7. docker安装、启动mongo
  8. 树莓派 st-link master使用ST-LINK V2下载STM32程序 支持F0 F1 F2 等
  9. Multidex实现简要分析
  10. python求1+2+3+....+100的和注意事项_python006(求1-2+3-4+5.....99的所有数的和)
  11. 用servlet路径访问一个html,java web中servlet、jsp、html 互相访问的路径问题
  12. Kotlin入门(7)循环语句的操作
  13. 莫代尔是什么?它有哪些优缺点?
  14. 使用锚标记返回网页顶部的方法
  15. TSOJ--2018 江苏省省赛
  16. 微软2008年7月「最有价值专家」(MVP)当选名单
  17. linux pgm格式图片,pgm文件扩展名,pgm文件怎么打开?
  18. 苹果手机微信提示音应该怎么更换?
  19. Vue.js如何获得兄弟元素,子元素,父元素(DOM操作)
  20. Matplotlib做图第一节

热门文章

  1. 用Javascript开发《三国志曹操传》-开源讲座(二)-人物行走的实现
  2. SAP ABC作业成本法
  3. PDF加密工具有哪些?有免费的吗?
  4. Hadoop权威指南(第3版) 修订版(带目录书签) 中文PDF--高清晰
  5. 计算机主板上的ide,主板上的IDE是什么?作用?
  6. 一文搞懂K8S高级特性
  7. EduCoder-程序设计技术R(第四部分循环结构程序设计2)- 第5关:C循环-寻找完数
  8. Android 时间转换
  9. 【大学物理·光学】光的偏振状态
  10. 国际电工委员会(IEC)介绍_标准知识