WebGoat代码审计-01-基础General
Drunkbaby Lv6

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
2
if ("POST".equalsIgnoreCase(answer) && magic_answer.equals(magic_num)) {  
return success(this).build();

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编码……………………

 评论