本人事先声明,这些知识只是为一些想从事网络安全工程师的小伙伴,提供体系化的学习思路。
如果学习者学习后,进行非法行为,与本人无关。
告诫:对于一些兴趣学习者,低调学习,别瞎搞,容易喜提免费住宿大礼包。
当你凝视深渊时,深渊也默默凝视着你。
如果有错误的地方欢迎指正,作者在收到信息后会及时修正,并注明提出者,欢迎与作者共同学习。
一、CSRF |
1.了解原理与危害 |
CSRF(Cross-Site Request Forgery)是一种常见的Web应用程序安全漏洞,它允许攻击者利用用户当前已经通过身份验证的会话来执行未经授权的操作 |
基本概念:CSRF攻击利用用户已验证的身份来执行未经授权的操作。 攻击步骤: a. 攻击者制作恶意网站。 b. 受害者访问恶意网站,触发恶意请求向目标网站发起攻击。 利用自动身份验证: 浏览器会自动发送存储在Cookie中的会话令牌,攻击者利用这一点冒充受害者执行操作。 防御措施: 同源策略:限制只能从同一源接收请求。 CSRF令牌:在请求中添加验证令牌,确保请求合法性。 双重提交Cookie:使用Cookie和请求参数中的令牌校验一致性。 Referer检查:验证请求来源是否合法。 安全HTTP方法:使用POST方法降低CSRF攻击影响。 危害: 未授权操作:攻击者可利用用户身份执行未经授权的操作。 数据泄露:攻击者可获取敏感信息,包括个人和公司数据。 恶意传播:传播恶意广告、链接或软件,影响其他用户。 网站篡改:攻击者可篡改受害者账户信息和网站内容。 绕过访问控制:绕过权限控制,访问受限资源。 传播恶意软件:诱使受害者执行恶意操作,传播恶意软件。 |
2.利用思路 |
伪装表单提交:攻击者创建恶意网站,伪装表单自动提交至目标网站执行关键操作。 伪装图片或链接:攻击者嵌入图片或链接,链接指向目标网站的关键操作,受害者访问时自动触发请求执行操作。 利用JavaScript代码:攻击者插入恶意JavaScript代码,欺骗受害者浏览器执行恶意请求,实现关键操作。 通过邮件、社交媒体诱导:攻击者通过钓鱼邮件、社交媒体等诱导受害者点击链接,访问恶意网站,触发CSRF攻击。 |
3.防御思路 |
CSRF令牌(CSRF Token):为请求添加唯一的令牌,验证请求合法性。 同源策略:确保请求来自同一源,阻止恶意网站的攻击。 Referer检查:验证请求来源,防止非法网站发起攻击。 双重提交Cookie:将令牌同时存储在Cookie和请求参数中,验证一致性。 Same-Site Cookie属性:限制第三方网站对Cookie的访问。 安全HTTP方法:使用安全HTTP方法如POST,降低攻击风险。 时间限制和单次使用Token:限制令牌有效期和使用次数。 用户教育和提示:提高用户安全意识,显示安全提示。 |
4.工具介绍 |
Burp Suite: 类型:渗透测试工具、Web应用程序安全测试。 介绍:Burp Suite是一套用于渗透测试和漏洞分析的强大工具,包括代理、扫描、抓包、反编译等模块,可用于发现和验证CSRF漏洞。 OWASP ZAP (Zed Attack Proxy): 类型:渗透测试工具、Web应用程序安全测试。 介绍:ZAP是一个开源的渗透测试工具,用于寻找Web应用程序中的漏洞,包括CSRF漏洞。它提供自动化和手动模式,可帮助识别并修复安全问题。 Netsparker: 类型:Web应用程序安全测试工具。 介绍:Netsparker是一款自动化的Web应用程序安全扫描工具,可帮助发现和修复各种安全漏洞,包括CSRF漏洞。 CSRFTester: 类型:Web应用程序安全测试工具。 介绍:CSRFTester是一个用于测试和发现Web应用程序中的CSRF漏洞的简单工具。它可以自动创建恶意HTML页面,测试目标应用程序是否受到CSRF攻击的影响。 Spring Security: 类型:安全框架。 介绍:Spring Security是一个用于Java应用程序的强大安全框架,提供多种安全特性,包括CSRF防御。它可以轻松集成到Spring应用程序中,帮助保护应用程序免受CSRF攻击。 CSRFTester: CSRFTester是一个用于检测和测试CSRF漏洞的开源工具。它可以生成攻击代码和Payload,用于验证应用程序的安全性。 XSStrike: XSStrike是一个自动化的漏洞扫描工具,但也可以用于CSR漏洞检测。它旨在检测和利用所有与Web应用程序有关的安全问题。 BeEF (Browser Exploitation Framework): BeEF是一个用于Web浏览器漏洞利用的框架,可以用于测试和演示CSR漏洞,以及进行其他浏览器安全方面的研究。 |
二、SSRF |
1.了解原理 |
SSRF(Server-Side Request Forgery)漏洞是一种常见的Web应用程序安全漏洞,允许攻击者从受攻击的服务器上发起网络请求,可能导致内部系统暴露、数据泄露、甚至远程代码执行等严重后果。 |
基本概念:SSRF允许攻击者通过构造恶意请求,利用服务器信任关系发起内部网络请求。 攻击步骤: a. 攻击者利用输入验证漏洞构造恶意URL。 b. 目标网站接受恶意URL并执行请求。 c. 攻击者通过服务器执行恶意请求。 攻击场景:访问本地资源、扫描内部网络、发起进一步攻击。 防御措施: 严格输入验证和过滤。 白名单验证,限制访问URL/IP。 内部服务隔离,避免直接暴露内部系统。 避免服务器访问敏感资源。 危害: 内部网络侦查:探测和扫描内部网络,发现目标和漏洞。 数据窃取:访问和窃取敏感数据。 服务拒绝或崩溃:导致目标系统服务拒绝或崩溃。 攻击内部资源:利用SSRF作为跳板,攻击内部系统或资源。 绕过防火墙和安全控制:绕过防火墙和安全控制,增加安全风险。 攻击其他系统:利用SSRF攻击其他网络系统。 |
2.利用思路 |
基础 识别漏洞点:寻找可能存在SSRF漏洞的地方,通常是能够接受URL输入的参数。 构造恶意URL:创建包含恶意地址的URL,可能是内部网络、本地或其他恶意地址。 发起攻击:将构造的恶意URL输入到漏洞点,尝试发起请求,利用漏洞发起指向特定URL的请求。 利用结果:分析攻击结果,可能访问敏感信息、扫描网络等,根据结果选择进一步攻击行动。 进阶 绕过身份验证和访问控制: 攻击者可以利用SSRF绕过身份验证和访问控制,访问内部服务或系统,获取未授权的权限。 访问元数据和内部服务: 通过SSRF,攻击者可以访问服务器的元数据、配置信息或内部服务端点,了解目标系统架构和配置。 远程文件包含 (RFI): 利用SSRF可实现远程文件包含,攻击者可以读取本地或远程敏感文件,可能导致代码执行漏洞。 端口扫描和服务枚举: 通过构造恶意URL,攻击者可以扫描目标网络上的端口和服务,发现潜在漏洞或弱点。 利用内部服务和漏洞: 利用SSRF攻击内部服务,可能导致进一步利用内部系统漏洞,比如通过攻击数据库、消息队列等获取敏感数据或执行恶意操作。 对内部服务进行拒绝服务攻击 (DoS): 攻击者可以利用SSRF发起拒绝服务(DoS)攻击,向内部服务发送大量请求,导致服务不可用。 好处 绕过权限: 好处:获取未经授权的访问权限,能执行未授权操作,可能访问敏感数据或执行关键任务。 访问元数据和服务: 好处:了解目标系统架构和配置,有助于攻击者更好地规划和执行后续攻击。 远程文件包含 (RFI): 好处:可能导致代码执行漏洞,攻击者可以执行恶意代码,控制目标系统。 端口扫描和服务探测: 好处:发现潜在漏洞和服务,为进一步攻击提供信息和可能的攻击目标。 利用内部服务和漏洞: 好处:进一步利用系统漏洞,可能获取敏感数据或执行恶意操作,提高攻击影响力。 对内部服务发起拒绝服务攻击 (DoS): 好处:导致内部服务不可用,影响目标组织的正常运作,可能用于勒索、混淆或测试安全响应能力。 补充: 内网探针 原理: 内网探针是指攻击者利用SSRF漏洞来发起针对内部网络的探测。攻击者通过构造恶意请求,使受影响的服务器发起对内部网络中其他系统或服务的请求,从而获取内部网络的信息和探测内网拓扑结构。 目的: 目的是探测和识别内部网络上的主机、端口和服务,以便进一步利用系统漏洞或发起其他类型的攻击。攻击者可以尝试扫描内网上的常用端口,如数据库端口(如MySQL、PostgreSQL、MSSQL)、Web服务端口(如80、443)、远程桌面端口等,以发现可能存在的漏洞或弱点。 好处: 了解网络结构:获取内网拓扑结构,识别主机和路由,有助于规划攻击路径。 识别活跃主机和服务:确定活跃主机和运行服务,为后续攻击做准备。 发现潜在漏洞:暴露潜在漏洞,为进一步攻击奠定基础。 获取系统信息:获取目标系统的操作系统和配置信息,加深对目标的了解。 评估网络安全状况:评估网络安全,发现弱点和不安全配置。 有针对性攻击:基于收集的信息制定有针对性的攻击策略,提高攻击成功率。 |
3.工具介绍 |
BEEF (Browser Exploitation Framework): BEEF是一个用于Web浏览器漏洞利用的框架,可用于利用SSRF漏洞并执行各种攻击,如钓鱼、会话劫持等。 SSRFMap: SSRFMap是一个自动化工具,用于检测和利用SSRF漏洞。它可以探测内部网络、扫描端口和执行远程文件包含等。 Gopherus: Gopherus是一个利用SSRF漏洞的工具,可用于在目标系统上执行Gopher协议攻击,从而导致代码执行漏洞。 ysoserial: ysoserial是一个用于生成序列化对象攻击Payload的工具,可以用于利用SSRF漏洞并实现代码执行。 PortSwigger SSRF Plugin for Burp Suite: 这是Burp Suite的插件,可以用于检测和利用SSRF漏洞。它可以帮助自动化SSRF漏洞的挖掘和利用过程。 SSRF-Vuln-Scan: SSRF-Vuln-Scan是一个简单的Python脚本,用于扫描目标系统上的SSRF漏洞并验证其可利用性。 |