WEB渗透学习笔记8——csrf和ssrf漏洞

本文深入探讨了CSRF(跨站点请求伪造)和SSRF(服务器端请求伪造)两种安全漏洞。CSRF攻击通过伪装用户的身份执行恶意请求,可能导致用户财产损失和隐私泄露。文章详细解释了CSRF的攻击过程,提供了检测和修复建议,如验证HTTP Referer字段、添加token验证和自定义HTTP头属性。SSRF则利用服务端的漏洞访问内网资源,危害包括扫内网、DOS攻击和攻击内网应用。修复SSRF的方法包括过滤响应信息、限制请求端口和禁用不必要的协议。
摘要由CSDN通过智能技术生成

CSRF漏洞

CSRF漏洞介绍

跨站点请求伪造(Cross Site Request Forgery)是一种经典的网络攻击方式,它一直是OWASP TOP 10之一,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来和跨站脚本攻击很相似,但它与跨站脚本攻击非常不同,并且攻击方式几乎完全不一样。CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用。跨站脚本攻击利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与跨站脚本攻击相比,CSRF攻击往往不大流行,因此对其进行防范的措施也相当稀少,另外对于CSRF的防范难度更大,所以被认为比跨站脚本攻击更具危险性。

CSRF危害

你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…造成的问题包括:个人隐私泄露以及财产安全。

Session的工作原理

想要深入理解CSRF的攻击特性我们有必要了解一下网站Session的工作原理。

Session大家都不陌生,无论是用.net还是PHP开发过网站的程序员都肯定用过Session对象,然而Session它是如何工作的呢?如果我们把浏览器的Cookie禁用了,大家认为Session还能正常工作吗? 答案是否定的。

在这里举个简单的例子帮助大家理解Session。比如我买了一张高尔夫俱乐部的会员卡,俱乐部给了我一张带有卡号的会员卡。我能享受哪些权利呢?如果我是高级会员卡可以打19洞和后付费喝饮料,而初级会员卡只能在练习场挥杆。我的个人资料都是保存在高尔夫俱乐部的数据库里,我每次去高尔夫俱乐部只需要出示这张高级会员卡,俱乐部就知道我是谁了,并且为我服务了。 因此我们的高级会员卡卡号相当于保存在Cookie的Sessionid;而我的高级会员卡权利和个人信息就相当于服务端的Session对象。

我们知道Http是无状态的协议,它不要求浏览器在每次请求中标明客户端自己的身份,并且浏览器以及服务器之间并没有保持一个持久性的连接用于多个页面之间的访问。为了维持web应用程序状态的问题,每次Http请求都会将本域下的所有Cookie作为Http请求头的一部分发送给服务端,服务器端就可以根据请求中的Cookie所存放的Sessionid去Session对象中找到该会员资料了。

我们理解了Session的工作机制后,CSRF也就很容易理解了。CSRF攻击就相当于攻击用户复制了我的高级会员卡,然后攻击用户就可以拿着这张假冒的高级会员卡去高尔夫俱乐部打19洞,享受美味的饮料,而我这个受害者在月底就会收到高尔夫俱乐部的账单。

CSRF的攻击过程

CSRF攻击过程有以下两个重点:

  1. 目标用户已经登录了网站,能够执行网站的功能
  2. 目标用户访问了攻击者构造的URL
    在这里插入图片描述

CSRF攻击举例

受害者Bob 在银行有一笔存款,通过对银行的网站发送请求 “http://bank.example/withdraw?account=bob&amount=1000000&for=bob2”可以使 Bob把1000000块的存款转到Bob2的账号下。通常情况下,该请求发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值