什么是csrf
CSRF攻击是攻击者通过伪装成受信任用户向服务器发起各种请求,达到欺骗服务器接收并执行指令的目的,假如有一个人叫A,A打开了一个网站,这个网站在A打开并且登录之后返回了一个cookie,如果我这时发了一个钓鱼邮件给A,邮件中有我提前写好的html文件,A打开邮件附录的html文件之后会直接访问他刚刚打开的网站,这时计算机会直接将刚刚的cookie发给服务器,这样就实现了冒用他的身份。
简单的来说攻击者盗用了你的身份,以你的名义发送恶意请求。
csrf的成因
CSRF漏洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个都网站,会默认你已经登录的状态。而在这个期间,攻击者发送了构造好的CSRF脚本或包含CSRF脚本的链接,可能会执行一些用户不想做的功能(比如是添加账号、ajax异步传输【通过JS去发送请求,然后获取信息】。与钓鱼网站不同,钓鱼网站需要输入账号和密码,而CSRF只需要访问链接或者网页即可。
csrf的危害
个人认为csrf的危害是与目标网站的功能点有关的,比如对于电商的网站,在加入收藏或者购物车的地方可能会有csrf,这是对于电商平台,如果是一些论坛的话可能就在点赞方面,如果是银行页面存在着csrf的话,可能在会导致钱款的不翼而飞,所以csrf的危害更多是取决于目标网站的功能点。
csrf简单的例子
就用csdn博客来实验吧
这里我随便打开一片自己的文章
看一下点赞数是只为1的
那么我自己抓一下我点赞这个请求
并且用burp构造csrf的poc
之后我们就得到了一段html
接着我在我的vps上开启一个tomcat服务,来搭建一个可以发送的html
我们来到站点根目录下(不同的下载方式的tomcat站点根目录不同)
创建一个html文件
接着把刚刚的html内容复制进去并保存
之后我们在登陆csdn的情况下去访问这个网址
就会得到如下显示
反回再看我们的点赞数,就会发现
自己给自己点了赞了
同理,如果别人在csdn登陆的状态下,打开了这个网址,就会自动为你指定的这篇文章点赞
这个小实验最好用火狐浏览器去做,如果用谷歌的话,会被拦住
具体原因可以参考下面这篇文章