http://dcrdx.com/

Pikachu靶场通关之Cross-site request forgery

一、本文介绍

今天,让我们来了解web安全中最常见的漏洞——关闭站点请求体系。 这篇文章引导大家进入一个叫做Cross-site request forgery的漏洞世界,让他们感受到Cross-site request forgery这一漏洞的魅力,从而更深入地了解Cross-site request forgery的漏洞

学习新的脆弱性。 简而言之,我们必须从四个方面入手。 第一个方面是产生这个漏洞的原因,无论从代码层面还是逻辑层面等,都清楚地认识到了这个漏洞。 有个大人物常说,只有熟知漏洞的原理,才能有更多的突破口挖洞。 第二个方面是应该如何利用这个漏洞。 漏洞利用的方式有所不同,例如是直接使用漏洞利用的各种工具,还是参考自己的书写和其他大人物漏洞利用的脚本。 具体问题具体分析。 第三个方面是这个漏洞可以对网站等造成什么样的危害,取得什么样的效果,取得网站的权限,取得管理员或者用户的账户密码或者机密信息等。第四个方面当然,我们如何防止这个漏洞

本文介绍了Cross-site request forgery漏洞原理、如何使用Cross-site request forgery漏洞、Cross-site request forgery漏洞危害以及Cross-site request forgery漏洞的危害

二、Cross-site request forgery的概述

跨站请求伪造( csrf )概述

Cross-site request forgery简称“CSRF”,攻击者在CSRF的攻击场景中伪造请求(该请求通常是链接),然后欺骗目标用户并单击。 当用户单击此请求时,整个攻击将完成。 所以CSRF攻击也是“one click”攻击。 很多人不理解CSRF的概念,有时和XSS混淆,进而和越权问题混淆,是因为不理解原理。

现在举一个场景来说明。 希望能对理解有帮助。

场景要求:

小黑打算修改购物网站tianxiewww.xx.com上填写的会员地址。

首先,看看你是怎么更改自己密码的。

登录----修改会员信息并提交请求----修改成功。

因此,小黑打算修正大白的信息。 他需要1、登录权限2、个人信息的修改要求。

但是怀特不会把自己xxx网站的账号密码告诉小黑。 小黑怎么办?

于是他自己在www.xx.com上注册了自己的账户,修改了自己的个人信息。 例如,电子邮件地址。 他发现修改的要求如下。

【http://www.xxx.com/edit.php? email=xiaohei @ 88.com change=change】

于是,他实施了这样的操作:伪装这个链接,小白登录xxx网站后,欺骗他并点击,小白点击这个链接,个人信息就会被修改,小黑达到攻击目的。

为什么会操作小黑呢? 有几个重点。

1.www.xxx.com网站在用户修改个人信息时没有过多的检查,这一要求容易被伪造

---因此,判断网站上是否存在CSRF漏洞,其实是判断对重要信息,如密码等敏感信息的操作(添加删除)是否容易伪造。

2 .小白点击了小黑发送的链接,此时小白正好在购物网络注册;

---小白的安全意识很高,如果不点击未知链接,攻击就不会成功。 或者小白单击链接时,小白此时没有登录购物网站,也不会成功。

---因此,要想成功地进行CSRF攻击,就必须具备“天时、地利、人和”的条件。

当然,如果小黑事先在xxx网站首页发现XSS漏洞,小黑会欺骗小白进入XSS脚本(偷饼干脚本)页面,小白拿到后,小黑会顺利登录小白后台,而小黑

---因此,与上述相比,可以看出CSRF和XSS的区别。 CSRF借用用户的权限完成攻击,攻击者没有得到用户的权限,而XSS直接窃取用户的权限进行破坏。

因此,要防止CSRF攻击,站点必须针对敏感信息操作采取安全措施,防止这些操作被伪造并导致CSRF。

三、Cross-site request forgery的利用

使用

1.Cross-site request forgery (get)

谷歌浏览器登录kobe帐户

QQ浏览器登录到lucy帐户

修改kobe帐户信息,单击“修改个人信息”,单击“提交”,然后单击burp数据包右键为CSRF生成poc

将生成的poc保存为html文档,并将中的信息写入kobe的信息

html! - csrf POC-generatedbyburpsuiteprofessional-- bodyscripthistory.push state ( '',' ', //script formaction=' http://XXX.XXX.XXX/vul/csrf get/csrf _ get _ edit.PHP ' input type=' hidden input type=' input type=' hidden ' name=' add ' value=' NBA lakes input type=' hidden ' name=' email ' value=' Kobe @ pikachu.com

你会发现露西的个人信息更改为kobe的个人信息

get型的CSRF也可以通过url直接修正,得到同样的效果

payload是/pikachu/vul/csrf/csrf get/csrf _ get _ edit.PHP? sex=boy phonenum=15988767673 add=nbalakesemail=Kobe @ pikachu.com submit=submit

2.Cross-site request forgery (post)

在谷歌浏览器中登录到Kobe帐户

QQ浏览器登录到lili帐户

在burp挖掘中,发现所有参数都在请求体中提交,无法使用url伪造方法,需要构建提交数据的表格,通过点击用户来触发攻击

生成表单位于公共服务器上,该表单包含kobe帐户信息

hmlheadscriptwindow.onload=function ( { document.getelementbyid ( ' post submit ' ).click ); }/script/headbodyformmethod=' post ' action=' http://XXX.XXX.XXX/vul/csrf/csrf post/csrf _ post _ edit.phost inputid=' phonenum ' type=' text ' name=' phonenum ' value=' 15988767673 '/inputid=' add ' type=' text ' name=inputid=' email ' type=' text ' name=' email ' value=' Kobe @ pikachu.com '

可以看到lili的个人信息更改为kobe的个人信息

可以看到,

3.Cross-site request forgery Token

在burp中抓住包时,每次请求都有随机代码,并且每次在后台验证此随机代码

查看页面源代码,是否有隐藏的token值? 提交完成后,后台的token值将被验证为提交的token值,可以在跳过后更改数据

四、Cross-siterequest forgery的危害

1 .与XSS漏洞合作可能会引起蠕虫攻击。

2 .可以更改用户密码

3 .更改(开源程序,如商城ecshop )用户接收地址

4 .用户可以在网站上操作的一切,黑客都可以利用CSRF漏洞进行操作。 只要构建PoC代码,伪造要求让受害者点击,就可以执行漏洞。

五、Cross-site request forgery的防御

1.在敏感信息操作中添加安全令牌;

2 .在敏感信息操作中添加安全验证码

3 .对敏感信息操作实施安全逻辑流程。 例如,修改密码时,需要先检查旧密码等。

六、本文总结

至此,通过这篇文章,我们大家一起学习了一个叫Cross-site request forgery的漏洞。 我相信大家已经对Cross-site request forgery这个漏洞有明确而深刻的认识。

之后,我会陆续分享网络安全和渗透测试学习路上的各种笔记。 包括各种漏洞原理、漏洞挖掘、漏洞再现、靶场CTF通关教程等,希望能得到更多人的关注和支持。

免责声明:本网站提供的安全工具、步骤(方法)可能具有攻击性,仅用于安全研究和教育,风险自负!

转载声明:版权归作者所有。 商业转载请联系作者取得许可。 非商业转载请注明出处。

欢迎加入公众号:国服最强渗透控制者

普通的白帽子追求着成为国服最强的渗透控制者的梦想。 我希望我的共享对大家有帮助,也希望能为网络安全事业做出贡献。 一辈子无悔地进入网络,成为第一人。

标签: Pikachu靶场通关的cross-site请求财富

文章来源:http://www.dcrdx.com/

上一篇:持续风险监测体系实践:基于ATT&CK的APT高频技术分析

下一篇:安全行业“艳照门” :企业如何反思源码保护?

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读