xss攻击和csrf攻击

XSS攻击

参考文章
中文全称:跨站脚本攻击;
英文全称:Cross Site Scripting;
是web程序中最常见的漏洞,指的是攻击者在网页中插入客户端脚本(如:javascript),当用户在浏览该网页时,该脚本就会在用户的浏览器上运行,从而达到攻击者的目的,如:窃取用户cookie的信息。

xss攻击实现的方式

在网页中能进行输入的地方(如:输入框),输入一段脚本语言,如:javascript,由于html是超文本标记语言,可以直接进行拼接,所以将输入的内容没有当成内容处理而当成了代码处理,xss攻击的威力取决于输入的脚本。

xss攻击的场景

1.Dom-Based Xss漏洞
发送匿名邮件,其中包含一个恶意的url,当用户点击该url时,其中的恶意代码就会在用户的浏览器中运行,窃取用户cookie中的信息。
2.Stored Xss(存储式xss漏洞)
该类型的漏洞影响广泛且有可能会影响web服务器自身。该种漏洞使得web服务器允许攻击代码存储在服务器中。如:攻击者将含有恶意代码的文章发送到服务器,以后访问该文章的用户都会受到xss攻击。

Dom-Based XSS漏洞威胁用户个体,而存储式XSS漏洞所威胁的对象将是大量的用户

xss的解决办法

解决办法的宗旨是:不相信用户的输入
1.将重要信息的cookie设为http only,这样用户端就不能用js来访问cookie了。
2,.在前端对用户的输入进行判断,可以利用正则表达式或者对输入框的type属性进行设置,如:输入手机号的输入框的type设为 type=“tel”
3.对用户的输入进行编码,将用户输入的有特殊意义的字符进行进行Html Encode 处理。
4.过滤或移除特殊的html标签。
5.过滤javascript的事件标签。

CSRF/XSRF攻击

参考文章
个人觉得参考文章写得很好,下面的评论跟神仙打架一样,受益匪浅。
中文全称:跨站请求伪造
英文全称:Cross Site Request Forgery
CSRF攻击简而言之,就是恶意网站冒充合法用户的身份,向目标网站发送请求。

CSRF攻击原理

1.首先用户A要登录某安全网站B(即目标网站)。
2.网站B的cookie保存在用户A的浏览器中,以便保持登录态。
3.A在没有退出B网站或者说在B网站的cookie没有过期的情况下访问了危险网站C.。
4.危险网站C向B发送请求,但因为是通过A的浏览器发送的,会携带A相应的cookie信息,所以会通过B网站的验证。

就我个人粗浅的理解来说,CSRF攻击就相当于是一种易容,只不过是顶着和合法用户一样的“脸”,所以如果要杜绝该种攻击,比较有效的办法应该是规定一些只有合法用户和安全网站能知道的东西,比如参考文章中提到的验证图,或者现在APP中比较常用的验证码。单纯就CSRF攻击而言,虽然他能顶着用户的cookie发请求,但是他并不知道cookie的内容。

CSRF攻击防范

参考文章

方法一、Token 验证:(用的最多)
(1)服务器发送给客户端一个token;
(2)客户端提交的表单中带着这个token。
(3)如果这个 token 不合法,那么服务器拒绝这个请求。
方法二:隐藏令牌:
把 token 隐藏在 http 的 head头中。
方法三、Referer 验证:
Referer 指的是页面请求来源。意思是,只接受本站的请求,服务器才做响应;如果不是,就拦截。

总结

个人观点,我觉得XSS攻击的威胁程度比CSRF攻击大,XSS攻击如果能成功就可以获取到用户已经登录或者并未过期的cookie,CSRF攻击的实施条件比XSS攻击苛刻,而且只能是在发送请求的时候利用浏览器自动添加cookie的功能实施伪造,并不知道cookie的内容。如果不对的话,欢迎大佬们指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值