WebGoat代码审计-01-基础General

WebGoat代码审计-01-基础General
WebGoat代码审计-01-基础General
WebGoat 这节主要是针对 HTTP 请求的,基础的东西就不再赘述了。
- 搭建完毕靶场后,进入第一课之前的 General 界面。
0x01 前言,说一说为什么要用 WebGoat
WebGoat 作为代码审计入门较好,我不认为一上来就去硬学那些 ThinkPHP 框架 RCE 的代码审计、各种 RCE 代码审计与原理学习是一件好事儿,万丈高楼平地起,一步一步来。
0x02 HTTP Basics
比较简单,就少写一点废话了
1. HTTP Basics PageLesson2
靶场界面,如图所示:
输入数字,即可通过。

- 毕竟做题是次要的,主要的是源码审计
打开IDEA,找到HTTP Basics模块,开始代码审计。
代码层面完全毫无安全性难度,挂张图,接着下一道。

2. HTTP Basics PageLesson3
靶场界面,如图所示:
- 题目要求:先判断HTTP Basics发送HTTP请求是通过GET请求,还是POST请求;再输入数值。
- 呃,没什么头绪,就先按照它说的做吧。
Burpsuite简单抓包,发现界面采用的是POST请求方式。

莫名其妙的报错,抓包后分析,尝试将”magic_num”与”magic_answer”设置成一样的参数,看一看回显如何。


成功通过~
老样子,代码审计

我们看到这段主要的判断函数,把它单独拉出来
1 | if ("POST".equalsIgnoreCase(answer) && magic_answer.equals(magic_num)) { |
easy~ 继续冲
0x03 HTTP Proxies
1. HTTP Proxies PageLesson6
WebGoat花这么多的篇幅介绍了ZAP这一个渗透工具,个人觉得和Burpsuite差不多吧,所以就没装,直接看题。
靶场界面,如图所示:

题目里面就是教了一下基础的抓包,把POST修改成GET、添加x-request-intercepted:true,再把最下面一行删除即可~ easy

修改之后的截图

0x03 Developer Tools
1.Developer Tools PageLesson4
本质就是f12,打开开发者工具
简单放几张图吧,没什么难度。

猜想这里的代码逻辑是产生随机数,然后判断

2.Developer Tools PageLesson6

0x05 Crypto Basics
本章简单介绍了一些加密/解密方式。
base64加密,URL编码,HTML编码,UU编码,XOR编码……………………
- 本文标题:WebGoat代码审计-01-基础General
- 创建时间:2022-03-14 14:06:33
- 本文链接:2022/03/14/WebGoat代码审计-01-基础General/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论
.valine-container {
#vcomments {
.vwrap {
border 0.1rem solid var(--text-color-4)
.vheader {
.vinput {
color var(--text-color-3)
border-color var(--text-color-4)
&:focus {
border-bottom 0.1rem dashed var(--primary-color) !important
}
}
}
.vedit {
.veditor {
color var(--text-color-3)
}
.vctrl {
.vicon {
fill var(--text-color-3)
&.actived {
fill var(--primary-color)
}
}
}
}
button.vsubmit {
color var(--text-color-3) !important
background transparent !important
border 0.1rem solid var(--text-color-3) !important
&:hover {
color var(--primary-color) !important
border 0.1rem solid var(--primary-color) !important
}
}
}
.vcount {
color var(--text-color-3)
.vnum {
color var(--text-color-2)
}
}
.vcard {
.vnick {
.author {
margin-left 0.15rem
padding 0.15rem
color #fff
font-weight 450
font-size 0.9rem
background -webkit-linear-gradient(45deg, #e3565e, #ee854b, #f6c258, #90c68a, #5fb3b3, #6699cc, #c594c5)
background linear-gradient(45deg, #e3565e, #ee854b, #f6c258, #90c68a, #5fb3b3, #6699cc, #c594c5)
border-radius 0.15rem
}
}
.vhead {
.vnick {
color var(--primary-color)
}
.vsys {
color var(--text-color-3)
background var(--background-color-2) !important
}
}
.vcontent {
P {
color var(--text-color-3)
code {
color var(--code-foreground)
background var(--code-background)
}
}
}
.vh {
border-bottom-color var(--border-color)
}
.vquote {
border-left-color var(--border-color)
}
}
.vcopy {
color var(--text-color-4)
}
.vpage {
.vmore {
color var(--text-color-2)
border 0.1rem solid var(--border-color)
}
}
}
}