1.漏洞原理
CSRF(Cross-site request forgery)简称:跨站请求伪造,存在巨大的危害性。在 CSRF 的 攻击场景中,攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点 击,用户一旦点击了这个请求,整个攻击就完成了,所以 CSRF 攻击也称为 one-click attack。
上图为漏洞攻击的基本流程图,用户在正常登录网站A后,在未退出登录态的情况下被诱导打开了恶意网站B,在这一瞬间攻击其实已经完成了,因为当你访问以后,恶意网站通常会自动执行一系列的脚本,而在这个过程中该用户是什么都不知道的。 (*/ω\*)
2.漏洞利用靶场实验
我们这里首先使用pikachu的靶场来复现这一漏洞的攻击过程 ,首先我们打开靶场的对应模块,发现了一个登录界面,默认的用户为kobe,密码是123456,登陆以后信息如下图所示。
然后我们准备一个虚拟机去运行恶意网站,该攻击者的网络IP如下图:
被攻击者我们就用本机来演示, 随后我们按F12打开开发人员工具,然后点击修改个人信息的同时查看网络栏状态,可以看到,我们成功获取了修改信息的信息,如下图:
随后我们对症下毒药( ̄︶ ̄)↗ ,在攻击机中生成恶意网站,代码如下,其中src后面跟着的就是刚刚获取到信息更新所获得的地址:
此时我们可以把该恶意网站伪装成受害者想要打开的样子(懂得都懂),来诱惑该受害者打开该网站,如果受害者打开了该网站,那么攻击就已经完成了。
我们可以看到该用户的信息已经被恶意篡改了。
3.利用工具进行漏洞攻击
在实际情况中,我们不可能一直手搓脚本进行攻击,我们可以利用一些前辈的工具来方便我们进行攻击。 (~ ̄▽ ̄)~
3.1使用bp进行攻击
使用bp攻击的流程比起上面更加的简单,我们首先使用bp拦截该用户正常的修改信息请求,从下图我们可以看到我们已经成功拦截了数据包。
我们使用bp自带的CSRF poc generator,也就是一个csrf漏洞的脚本生成演示器来生成一段恶意网站代码,生成结果如下图,这个工具已经自动帮我们获取了攻击的地址路径信息。
随后我们在我们的攻击机中生成对应的网站,修改我们想要修改的信息(●'◡'●)
随后我们再次诱惑被害者点开恶意链接,戳一下按钮(这个按钮可以不设置,改为打开网站就中招) ,攻击完成,看一下效果:
成功使用bp利用漏洞完成了攻击 。
3.2使用其他工具进行攻击
我们再演示一个其他工具进行攻击的实验,使用该工具得看好浏览器代理的端口,否则设置不会生效。
我们点击开始记录,然后再点击修改信息,获取抓包信息
查看url,我们排除2号,选择1号 ,然后右击生成一个攻击的恶意网站,随后操作基本和上面的一样,被诱导点击网站后脚本自动运行,成功篡改信息。
4.小结
在这一章,我们通过对靶场的攻击初步认识了该漏洞的基本运作方法,通过不同工具的攻击方式可以从中提炼出共同点,那就是受害者普遍顶不住诱惑点击了不良网站导致中招,所以平时不要随便点击不良网站。( ̄︶ ̄)↗