CSRF漏洞原理与防御

CSRF(跨站请求伪造)

攻击者盗取受害者的cookie凭证,以受害者的名义发送恶意请求,对服务器来说这个请求完全是合法的,让受害者亲自去执行攻击者所布置的操作,且真个过程受害者不会察觉

 

CSRF漏洞成因:网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,之后只要访问这个网站,都会默认你已经登录的状态。在此期间,攻击者发送了构造好的csrf脚本,或包含csrf脚本的链接,诱使受害者去点击。

 

CSRF攻击过程

 

1受害者浏览登录存在CSRF漏洞的网站A,输入账号密码

2网站验证成功,并返回cookie给浏览器

3在第二步时,网站同时返回恶意的脚本或包含恶意脚本的链接,就会访问攻击者构造的恶意网站(用户未退出网站A,并在同一浏览器中访问望网站B)

4此时攻击者已经盗取了受害者的cookie凭证,网站B返回攻击性代码并要求受害者去访问存在漏洞的网站A

5受害者携带cookie信息访问网站A,并执行了攻击者希望你去执行的恶意操作

 

CSRF攻击所必须的条件:1 受害者在漏洞网站处于已登录状态;2受害者需要打开恶意站点

 

XSS与CSRF的区别

XSS:是攻击者盗取受害者cookie,并自己使用凭证进入系统,执行操作

CSRF:攻击者利用cookie凭证,是受害者自己进入系统,帮助攻击者执行各种操作且不会被察觉

 

CSRF漏洞检测方法:

网页操作功能,抓包,若没有token参数,将referer信息改为空值,重放请求,如果请求成功,则存在CSRF漏洞

 

dvwa中csrf漏洞的检测

修改密码,抓包,发现没有token参数,将包发送到Repeater,然后将referer改为空,发送请求,请求成功,存在漏洞

此时拷贝地址栏中的URL,修改其中的参数,并发送请求,可成功修改密码(两个值都修改)

 

CSRF利用(get请求)

方式一

1 get请求,直接发送链接 (t.im 短链接生成网站)

2 诱导用户访问

3 显示结果

方式二

方式三

1 结合XSS,用户出发XSS漏洞

2 XSS脚本执行<script src=“指向有CSRF漏洞的系统”><script>

操作过程:

首先发现当前网站存在CSRF漏洞,然后在找一个存在XSS漏洞的网站,将<script src="http://127.0.0.1:8086/dvwa/vulnerabilities/csrf/?password_new=666666&password_conf=666666&Change=Change"></script>埋入该网站中(IP是CSRF漏洞网站的IP)。当访问该XSS站点时,就会执行script脚本,从而密码被修改 。

 

CSRF利用(post请求)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值