你需要特别关注以下模块所涵盖的知识点,因为它们在考试中出现的概率很高。
1、SQL 注入(SQL Injection)
●允许攻击者注入自定义的、潜在恶意的 SQL 代码,由底层数据库执行。
●可能导致数据泄露或目标服务器上的远程代码执行(RCE)。
2、目录遍历(Directory Traversals)
●绕过 Web 服务器的常规控制机制,访问运行服务器的进程用户可以访问的整个文件系统。
3、文件包含漏洞
●本地文件包含(LFI):允许攻击者在页面中插入服务器文件系统中的文件。
●远程文件包含(RFI):允许攻击者在页面中插入来自远程资源(例如攻击者自定义服务器)的文件。
4、文件上传漏洞(File Upload Vulnerabilities)
●允许攻击者上传恶意文件,用于数据泄露或远程代码执行(RCE)。
5、操作系统命令注入(OS Command Injection)
●允许攻击者注入并由操作系统执行潜在恶意的命令。
6、跨站脚本攻击(XSS)
●允许攻击者注入潜在恶意的 JavaScript 代码,在访问特定网站或资源的客户端浏览器中执行。
一、常用工具
-
gobuster:枚举虚拟主机、目录、文件和域名。
-
sqlmap:自动化利用 SQL 注入漏洞。
-
BurpSuite:创建自定义 HTTP 请求并分析相关响应。
在 OSCP 考试中 禁止使用自动化漏洞利用工具。
-
例如,你可以使用 gobuster 进行枚举,但不能使用 sqlmap,因为它会自动完成漏洞利用过程。
-
所有漏洞利用必须手动完成,你需要清楚每一个命令和有效载荷的具体作用。
唯一例外:针对特定应用程序的漏洞利用程序可以使用来自 exploit-db 的工具,我详细笔记都放在github上。+V: aqniu-kt这一点将在"利用现有漏洞"模块中进一步说明。
二、攻破服务器的两大关键步骤
在攻破服务器时,通常需要完成以下两大步骤:
第一步:初始访问(Foothold)
初始访问的目标是进入目标服务器。为此,你需要:
-
研究网络协议(如 TCP 和 HTTP)。
-
理解常见 Web 漏洞,并利用它们获取目标的反向 shell。 一旦成功获得反向 shell,你就可以在远程服务器上执行代码。
第二步:权限提升(Privilege Escalation)
权限提升是指从低权限账户移动到高权限账户的过程。你需要熟悉以下技巧:
-
枚举系统,寻找权限提升的潜在漏洞。
-
利用 SUID 文件、内核漏洞或其他本地漏洞,获取更高权限(如 root)。