CSRF — 跨站请求伪造

csrf:跨站请求伪造(Cross Site Request Forgy)

攻击原理:登陆受信任的网站A,并在本地生成cookie,在不登出网站A的情况下,访问了网站B,网站B在用户不知情的情况下向网站A发送请求,从而产生CSRF攻击。

 

实例:

假如网站A中是一个评论页,如下图:

网站B的脚本文件:

在不登出网站A时,点击网站B的链接时,会出现:自动评论,如下图

这其实就是跨站请求伪造对网站带来的威胁。

网页B的脚本文件编写思路:

这段代码输出了一个表单,action是指向评论页面的评论接口的,value是评论页面的ID值是13,content是评论内容,创建了一个iframe,同时为iframe设置name和style为隐藏,将iframe放入页面中,form表单提交默认是跳转的,但是为什么没有跳转呢,这是因为,表单的target与iframe的name的值相同时,这个表单会在iframe中提交和跳转,因为iframe隐藏了,所以用户看不到跳转。这就是一个csrf的过程。

如果用get请求是不是会更加简单呢?

比如在img的src中添加评论页面的接口地址,接口地址的参数上加上一个a标签,指向攻击网站B的地址,这样结果会是如下这个样子:

这样会自动在评论中添加a标签,如果其他用户点击a标签,也会收到网站B的攻击,再次自动发送一个带有链接的评论,这样循环往复,就会对网站产生很大的威胁。

猜你喜欢

转载自www.cnblogs.com/liuzhaoxu/p/8965616.html