WEB安全入门指南

admin 2023年12月17日01:05:19评论27 views字数 2870阅读9分34秒阅读模式

01

如何学习WEB

WEB分为三类,分别是CTF、BugHunter、RedTeam

1-1 CTF中的WEB

CTF中的WEB题目类型:

* 解题模式

* AWD

* AWD+ = 解题模式 + AWD

* 内网渗透

● CTF中的WEB—解题模式学习

1.技能栈:

* 编程基础:PHP,Java, Python

* 漏洞类型:SSTI(服务端模板注入)、XSS(跨站脚本攻击)、SQLI(SQL 注入)、XXE(XML 外部实体)、Unserialize(反序列化攻击)、nday 利用等等

2.如何补全技能栈:

①无论是什么语言,你都可以用 runoob 这个网站来速刷一遍基础概念!

②之后结合漏洞靶场(这里说的是漏洞代码片段案例,去学习漏洞类型对应的代码,就比如 DVWA)

③掌握了上述基础之后,你就可以去学习 ThinkPHP 这种 Web应用框架,并且去调试往年出现的漏洞。

3.当然经过了上述步骤对于CTF来说完全不够!这里再介绍三个刷题网站!

①攻防世界

WEB安全入门指南

②CTFHub

WEB安全入门指南

③BUUCTF

WEB安全入门指南

● CTF中的WEB—AWD模式学习

AWD技能栈:

1.防御技巧:

* 快速分析日志/流量,找出攻击流量复现对应的漏洞

* 备份数据+修改默认口令:数据库+网站源码

* 部署简单的 WAF + 文件监控 (如果允许的话)

* 应对不死马的处理方式

2.攻击技巧:

* 审计源代码发现漏洞

* 成功利用漏洞之后写计划任务

* 使用D盾扫描源代码发现隐藏的后门

* 自动化进行批量攻击的脚本/框架

3.参考资源:

CTF AWD模式攻防Note :https://zer0yu.github.io/2018/05/24/ctf-awd-note/

● CTF WEB参考资料

刷题的过程中可以看的一些资料:

1.CTF Wiki:Web 简介 -CTF Wiki (ctf-wiki.org)

2.SCU-CTF-Web:Web学习路线- SCU-CTF HomePage (scuctf.com)

3.当然你也可以看一些书:

■从0到1:CTFer成长之路

WEB安全入门指南

■CTF特训营:技术详解、解题方法与竞赛技巧

WEB安全入门指南

4.RSS订阅https://github.com/zer0yu/CyberSecurityRSS

WEB安全入门指南

1-2 BugHunter中的WEB

●BugHunter—web漏洞挖掘学习

1.基础:

* 网络基础知识:TCP/IP网络,HTTP协议,DNS协议

* 操作系统基础:Windows 的 bat 脚本是什么?Linux Bash是什么?macOS 选修

此时可以下载一个Kali Linux 从练习熟练使用这个系统开始

* 需要熟练使用的工具:BurpSuite,Metasploit , SqlMap , Nmap etc.

2.怎么学:

①选择一个目标:例如从HackerOne 上进行选择

②开始Recon(信息收集),这里面有很多方法论,最基础的就是进行子域名收集+端口扫描(subfinder)

③开始Hack!去在目标上寻找 SQLi 或者 XSS 等漏洞

3.初学资源:

①BUG HUNTING METHODOLOGY FOR BEGINNERS

https://infosecwriteups.com/bug-hunting-methodology-for-beginners-20b56f5e7d19

②Bug Bounty 101

https://github.com/1hack0/bug-bounty-101

③sasn如何成为一个漏洞赏金猎人 https://xz.aliyun.com/t/2701

④书籍:

■《白帽子讲Web安全》

WEB安全入门指南

■《Web 漏洞搜索》

WEB安全入门指南

1-3 RedTeam中的WEB

●RedTeam——红队攻防学习

1.红队是什么?

在红队中,你来仿真、模拟或以其他方式扮演某个、某组入侵者或理论上的假想敌。区别于传统的渗透测试,更偏向于实战,面对的场景也更加复杂技术繁多,以目的为导向,需要有能够解决突发问题的能力。

2.红队技术栈

* 网络杀伤链

* MITRE ATT&CK 攻击矩阵

3.初学资料:

■《How to Hack Like a Pornstar》https://github.com/zer0yu/How-to-Hack-Like-a-Pornstar

■《以攻促防:企业蓝军建设思考》https://mp.weixin.qq.com/s/8iJs2ON66NY1Jdbt7c-BTA

■《要想加入红队,需要做好哪些准备?》https://xz.aliyun.com/t/4952

■《红队的踩“坑”之路》 https://xz.aliyun.com/t/7103

■书籍

WEB安全入门指南
WEB安全入门指南
WEB安全入门指南

1-4 WEB漏洞类型

WEB安全入门指南

02

WEB学习心得

●一定要有小的目标才能驱使你坚持学下去:

1.目标:

* 渗透测试项目

* CTF 中某种类型的题目

2.例子:

设定一个具体的目标,比如挖掘PHP反序列化漏洞。

针对该目标搜集必要的信息(PHP教程,漏洞说明,漏洞案例,自动解决方案)

给予前期的信息收集初期评估一下,我要学会挖掘PHP反序列化漏洞大概需要花费多长的时间,涉及的技能树有哪些,学习过程要划分为几个阶段, 每个阶段的产出大概是什么。

④如果设定的目标很大(比如你的终极目标是要造一个自动化挖掘PHP反序列化漏洞的工具出来),那么对于你学习过程划分的每个阶段都应该有一个最低技能要求,学到该技能要求之后就去尝试。尝试之后反思,反思之后继续学习,然后继续阶段性任务。

多做笔记,只有你能把一个问题表述清楚了,你才算是学会了。

●学会复盘很重要

复盘是必不可少的一个部分,正如每场CTF比赛过后都应该有赛题的复盘记录(Writeup)

1.项目整个完成过程的记录,包括失败的尝试和成功的尝试,以及思考的过程

2.有没有副产物和存疑的地方,比如过程中学到一些新的技巧点,或者是某一块代码看起来有点问题以后可能用得到,这些都记录下来

3.技能树是否存在不足,哪些地方不足,这些不足强化的优先级如何,对于优先级高的强化点放入后续的学习计划之中

4.对成功的场景进行抽象总结,对抽象出来的场景进行泛化成为一种漏洞思维模型,后续的遇到类似的模式直接套用即可

5.对涉及到的项目文档进行细节整理和补充,因为我们在做项目时通常是边做边写会写的比较乱,复盘整理的时候需要把他们重新整理,文档结构越规范越清晰越好

●学习中注意的问题

在复盘完成后,我们会有很多新的体会和认知,尤其是对自身技能树的不足有一定的认知,那么我们应该进行反思性的学习,针对不足的地方进行针对性加固学习,不过学习的时候一定要遵守以下几个原则:

1. 不要焦虑,你在经历过一个项目后你肯定会发现自己好菜啥都不会,很正常,你本来就很菜,因此不要焦虑,你能完成项目就说明你有产出,这个产出就是你进步的证明

2. 对技能树加固要有取舍,你发现一个综合的项目涉及到方方面面,你各个方面可能都不太会,这时候你要对技能树进行梳理,哪些是需要舍去的,哪些是需要加固到最低要求的,哪些是自己主要方向需要不断强化的

3. 设置学习的时长,不能一直陷入学习中,学习是学不完的,反思性学习可以认为是进行下一个项目前的准备期,这个时间不宜过长,般建议两星期左右。

END

原文始发于微信公众号(ipasslab):WEB安全入门指南

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月17日01:05:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   WEB安全入门指南http://cn-sec.com/archives/2294633.html

发表评论

匿名网友 填写信息