OSCE3之路 - OSWE | WEB300

在2022年1月我拿到了OSCE3,OSWE是我在21年4月拿到的,本篇我们来介绍WEB300-OSWE,它是关于OffSec关于Exploit Development的第一个认证。

本文同时提供以下语言的版本: English.
本文部分信息已过时,请以官方信息为准。

对于一些更加基础的信息,如报名问题、网络问题,请参阅OSCP篇

OffSec的所有认证都没有前置要求,如果不想考OSCP直接考OSWE,完全是可以的

基本信息

有关WEB300-OSWE证书的官方最新信息位于这里:https://www.offensive-security.com/awae-oswe

报名方式和费用

对于个人用户,目前Offensive Security(后称OffSec)提供了2种购买方式

  • Packages

  • Subscriptions - 订阅制

####Packages

目前来说OSWE是Packages购买方式300系列中最贵的,均价高150美元

  • 课程 + 60天Lab + 1次OSWE考试 1449美元
  • 课程 + 90天Lab + 1次OSWE考试 1649美元
  • 重考费:249美元
  • 30天Lab延长:359美元
  • 60天Lab延长:599美元
  • 90天Lab延长:799美元

Subscriptions

Learn One套餐(2499美元): WEB300-OSWE课程 + 2次OSWE考试机会 + PEN210-OSWP课程 + 1次OSWP考试机会 + 365天Lab + PEN100课程 + KLCP课程 + 1次KLCP考试机会 + PG Practice会员

Learn Unlimited套餐(5499美元): OffSec所有课程 + 365天Lab + 无限次考试机会(受冷静期约束) + PG Practice会员

个人建议

可以发现300系列的套餐没有30天套餐,建议学习时间比较充沛的可以选择60天Lab,如果平时事情比较忙,可以考虑90天的Lab,由于我空闲时间比较充足,我的OSEP和OSED都是选择的60天套餐以节约时间,由于我的主要学习方向是Web安全,因此OSWE则是选择了更便宜的30天套餐(此套餐已经退役,并且大概率不会再出)

如何报名参加OffSec的认证与课程请阅读PEN200-OSCP篇

300系列横向比较

OSWE是300系列中存在时间最长的认证,相较于PEN系列注重于黑盒,OSWE则注重的是Web安全方向的白盒审计,虽然由于我主攻方向是Web方向,OSWE是我最轻松拿下的证书,但是综合比较而言,我认为在思维难度上,OSWE应该是300系列最高的,虽然OSED也是半白盒开发exploit,也许是因为推出时间较短,还没有进化出思维难度比较高的题目

如何预习

首先建议大家打好编程语言的基础

  • PHP
  • Java Web
  • NodeJS
  • ASP.Net(C#)
  • Python

除了语言之外,根据官方的PREREQUISITES,还需要以下能力

  • 熟悉Linux
  • 熟悉Web代理
  • 基本了解Web应用的攻击向量、理论和实践

可以发现,对于Web开发转安全或者曾经在CTF中担任Web手的同学,OSWE应该是OffSec系列认证中最容易的

但是由于OSWE着重于白盒审计,和CTF的Web侧重点还是有些差别的

基础打扎实之后,推荐一下Web安全的教程,内容非常全面,如果时间有限的话,可以参考课程大纲有针对性地预习

https://portswigger.net/web-security/all-materials

WEB-300的课程大纲:awae-syllabus.pdf (offensive-security.com)

稍微详细地看的话,可以发现大多以真实例子进行讲解,WEB300和EXP301都是研究Exploit Development(EXP开发)的,因此都采用实例进行讲解,因此我认为掌握好了上面的编程基础知识和Web漏洞基础知识,就可以正式开启课程了

之前提供了OSCP like靶机清单的列表也提供了OSWE like的清单,我没有去练过,如果大家预习时间比较多,可以考虑去练习一下

https://docs.google.com/spreadsheets/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8/edit#gid=1839402159

关于课程

课程中的几个重要资源如下

  • 教材 PDF版本和视频版本,建议阅读PDF,效率更高,看不懂的地方看视频操作即可
  • Lab 提供了最贴近考试的各种靶机环境,由于WEB300的教材以实例讲解,Lab中也提供了教材的配套靶机,除此之外还有几个供学生练习的Challenge,Challenge以白盒为主,有少量黑盒题,但是考试只考查白盒
  • 300系列的学生靶机为每个学生独享,与OSCP的所有学生共享不同
  • 学生论坛 里面提供了各种Lab机器的提示以及讨论,并且在官方管理员的控制下不会有答案泄漏
  • 官方Discord频道 相比论坛为学生们提供了更便捷的实时讨论,学生注册后,在https://portal.offensive-security.com/中可以获取到邀请链接

WEB300-OSWE课程的学习方式比较单调,我的学习方法就是边看PDF边练习,把教材里的实例都练习完之后,基本就掌握得差不多了,这可能是因为我有在CTF做Web题的经验导致的,此课程对我来说并没有很高的难度

随后开始刷Web题目,对于没有Web安全经验的同学来说可能会有些难度,可以去官方discord提问,同学都比较热情。只要是教材教到的漏洞都有可能考查,包括有些同学觉得不会出的CSRF这种客户端攻击或者碰撞攻击,事实上在Exam如果没有考到也只是个人没有考到,越是觉得不会考的反倒喜欢考

对于WEB300-OSWE和EXP301-OSED,我都强烈建议边学习边总结思维导图,这对于巩固学习以及在考试中思考攻击路径都极有帮助

关于考试

官方的考试指引:OSWE Exam Guide – Offensive Security Support Portal (offensive-security.com)

300系列的考试时长均为48小时

考试考查的是手工白盒审计,因此各种自动化工具就不要想着使用了,每道题目会提供2台机器,2台机器除了密码不一样完全一样,一台用于给学生获取源代码并分析,另一台用来获取Proof

每道题目分为两个考查阶段,第一阶段为Bypass Login,也就是利用Web攻击登录到网站后台,此为第一阶段,第二阶段则为RCE,就是要通过Web服务拿到主机的Shell,不需要提权,拿到Shell后就能拿到这个机器的满分

考试的满分是100分,85分通过,总共2台机器,第一阶段35分,第二阶段15分,这意味着2台机器的Bypass Login都必须成功,RCE倒是只需要完成其中一台即可,我当时由于考试空余时间比较多,拿到满分+写完报告花的时间还不到20小时,因此就全部搞定了

拿到所有Proof后还要编写一个Exploit,用于自动化完成攻击,建议使用Python3

考察范围就是教材教到过的所有漏洞类型或组合利用,不要问别人考试考了什么漏洞,每个人考察到的都是不同的

相比于教材都是使用真实案例做例子,考试则全部使用OffSec自行开发的题目,涉及到的代码语言每个人考到的都不同

写在最后

如果你想要了解的信息文章中没有提到,欢迎发邮件给我一起交流,也欢迎加个好友,通过邮件发送联系方式给我即可

4xpl0r3r@gmail.com

OSWE Certification

作者

4xpl0r3r

发布于

2022-02-15

更新于

2023-07-21

许可协议

评论