0基础学渗透-WebGoat靶场(完)

骚骑   ·   发表于 2020-03-31 10:22:05   ·   技术文章

WebGoat靶场实践(完)

0x00:假装有开头的完结篇

0x01:承接上篇,继续闯关

第八关Request Forgeries

开始前先简单介绍下csrf

什么是CSRF?

简单来说呢,csrf漏洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个网站,都会默认你已经登录的状态。而在这个期间,攻击者发送了构造好的csrf脚本或包含csrf脚本的链接,可能会执行一些用户不想做的功能(比如是添加账号等)

拓展一下,CSRF和SSRF区别

CSRF为跨站请求伪造,SSRF为服务器请求伪造,CSRF的核心是让客户端的浏览器去访问,SSRF核心是让服务器去访问

CSRF和xss的区别

csrf伪造请求,xss为跨站脚本攻击,一个为伪造cookie等验证信息,一个则是使用一个脚本攻击。
XSS 核心是操作目标网站的HTML代码 窃取Cookie
CSRF 核心是在非目标网站的HTML代码做手脚 让受害者浏览器偷偷的去访问目标网站

步入正轨**

lesson1-2简单的liy介绍了下csrf以及最简单的利用

lesson3,要求外部触发表单然后会返回一个数值flag,比较简单利用burp就可以实现
抓取表单数据包,并生成csrf poc

本地创建个html文件打开,并提交表单

输入flag过关

lesson4,和lesson3差不多,这次是编写好消息后抓包,建立个html

打开发送,发现错误

更改下值,将第二个框改为数字,在发送过关

lesson5和lesson6进一步讲解了csrf以及防御

lesson7和之前一样,利用burp抓包生成poc然后生成html

输入flg,过关

lesson8,先创建个csrf-用户

然后切换用户登点击,过关

lesson8的大概思路,其实是在说用户在访问的时候跳转了攻击者的csrf,利用了攻击者账户登录,用户的活动信息就被暴露了,和xss不一样的是csrf是具有跨源性的

lesson9讲了csrf的影响和防范

第九关Vulnerable Components - A9

lesson1-4,主要在介绍组件

lesson5,用小测的形式表达了一个概念,那就是相同源码,但是不同组件可能会造成同的影响

同是webgoat源码,jquery-ui:1.10.4没有防范xss

jquery-ui:1.12.0,不易收到攻击

lesson6-10进一步讲了下有关开源组件安全问题,lesso11讲了有关开源组件风险的例子,其中最主要的是Xstream,也是接下来的练习

先简单的了解下什么是XStream,XStream是一个简单的基于Java库,Java对象序列化到XML,反之亦然(即:可以轻易的将Java对象和xml文档相互转换)。

lesson12,Xstream组件漏洞,我们用Luyten对WebGoat反编译,然后发现xstream是1.47版本的

看了下lesson11所给的cve,知道了之前爆的漏洞(也测试了1.46,但是这里没有写),我们分析下1.47

可以看出当处理的Class为java.beans.EventHandler时,ReflectionConverter将认为不能处理,所以在这里1.47是安全的,那我们分析webgoat的源码看看吧

简单的理解就是,将用户输入的XML并将该其反序列化为对象

我们再看下contact.java

回到题目,只有一个name,构造xml,过关

lesson13,对整饥节内容做了个总结,主要内容就是,开源组件漏洞不可忽视

第十关Client side

Bypass front-end restrictions

lesson1,简单介绍下了前端绕过的常用方法(本人常用burp还有hackbar)

lesson2,简单的前端绕过,通过右击查看元素,修改前端代码进行绕过

过关

lesson3,大意就是说,在发送前会有前端先验证下,所以我们需要用到工具了
正则限制了,为了验证我们所有后面都加个“.”

用burp抓包,然后进行修改

过关

Client side filtering

lesson1,大概意思就是通过绕过前端验证漏洞进行越权

lesson,让我们找ceo工资(两个方法)

方法一(很笨),查看下拉选项元素后发现有个id,那我们改一下试试

过关,但是这种就得一个一个的测试,很笨

方法二,同样查看元素,然后我们发现有隐藏的table(也可以取消隐藏),直接找到ceo

lesson3,题目要求让我们免费购物(支付漏洞),然后查看元素发现

随便输入一个抓包看看

抓到两个数据包,我们重放包看一下返回值

更改url,获取所有优惠code,输入过关

HTML tampering

lesson1,简单的介绍了下前端篡改的概念

lesson2,篡改前端以达到0元购
type更改为text,然后修改价格(这个是隐藏的input)

提交过关

0x02:写在最后的话

连续六篇的WebGoat到这里就结束了,关于他的CTF题我是做了的,但是只有一个找回密码有点意思(我才不会说我没写笔记,懒得在做了),十分感谢70老师的鼓励,感谢掌控安全带我零基础入门安全(零基础=真·啥也不会),接下来我应该还会有一篇关于vluhub的连载(嗯…不出意外的话)。 by:掌控安全一骚骑

用户名金币积分时间理由
admin 100.00 0 2020-04-02 14:02:06 支持!记得继续投稿分享!

打赏我,让我更有动力~

0 条回复   |  直到 2020-3-31 | 1555 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.