雨笋教育:CSRF悄无声息更改你的密码,码住这波操作

CSRF是什么?

CSRF(Cross-site request forgery):

跨站请求伪造/攻击,也被称为 one-click attack 或者 session riding,通常缩写为CSRF或者XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。

跟跨网站脚本攻击(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF利用的是网站对用户网页浏览器的信任。

简单来说,是攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己认证过的站点且认证未失效,并执行一些操作(如发邮件,发消息,甚至财产操作(如转账和购买商品)。 因为浏览器之前认证过,所以被访问的站点会绝对的认为是这是真正的用户操作而去运行。

这就利用了web中用户身份认证验证的一个漏洞:简单的身份验证仅仅能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。

 

 

也可以这么理解:

CSRF是攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情:以你的名义发送邮件;发消息;更改你的账号密码;甚至是购买商品、虚拟货币转账......造成的问题包含个人隐私泄露以及财产安全。

通过前面的图片咱们可以总结到几点,要完成CSRF攻击,起码要满足两个条件:

用户访问并登录一个网站,并在本地浏览器有缓存;

在不登出的情况下,访问另一个网页(恶意构造的网页)。

看到这里,就有人会想到:“只要我没有同时满足以上两个条件,就不会受到CSRF攻击”。没得毛病,确实如此,但你无法保证以下情况不会发生:

 

1.你不能保证你登录了一个网站之后,不再打开一个页面访问(黄);

2.你不能保证你关闭浏览器之后,本地的Cookie立即过期,且上次的会话已经结束。

上述中所谓的恶意页面,可能就是伪装成一些黄网或者其他什么吸引你的页面,引诱你点击进行访问,达到目的。

 

CSRF实战演示

 

 

 

打开burp,提交这条数据,进行抓包

 

 

咱来查看数据包

并拼接链接参数

拼接后是(只要受害者访问,密码就会变为yusun666)

 

 

 

审查代码我们发现,low级别没有任何的过滤。参数直接传递到了$pass_new 和$pass_conf 中并带入数据库中执行。

那咱们使用另一个账号:smithy/password 来登录来进行测试,就不用admin账号了

为了吸引受害者点击我们构造一个页面,如:

 

 

构造网页的链接://yusun666/Course/Csrf/

直接发出去,人家看了就很疑惑

如何诱骗用户去点击?

我们可以用到短链接,直接上百度搜,为什么给大家演示用985.so? 因为有些会有提示

 

 

用post方式来演示,为什么呢?

 

 

点一下提示就可以查看

 

 

POST传输参数需要抓包才能看到,咱们就当是注册了一个账号然后抓包查看了参数,并构造页面

 

体验同款项目实操

雨笋教育资深老师带你从0开始,

课程直播回复可前往腾讯课堂:雨笋教育

体验实战渗透项目

https://youthsun.ke.qq.com/#category=-1&tab=0

报名培训课程:陈老师15386496074

 

posted @ 2021-06-16 14:45  小牛在行动  阅读(133)  评论(0)    收藏  举报