绳锯木断,水滴石穿!
PHP > CSRF、XSS攻击的原理及防范

CSRF、XSS攻击的原理及防范

2020-11-04 分类:PHP 作者:Agoni 阅读(547)

XSS跨站脚本:
XSS其实就是html的注入问题,后台程序并没有对攻击者的输入做严格的控制,使得攻击者最终控制了数据库,并且显示给来访的用户,导致可以让访客的浏览器以浏览者的身份执行这些html代码,数据的流程如下:
攻击者的Html输入—>web程序—>进入数据库—>web程序—>用户浏览器。
攻击者的手段和目的:
主要是以别人的身份访问一些特定的网站,达成自己的目的,如进行一些不正当的投票活动;
漏洞的防御和利用:
避免XSS的方法之一,主要是对用户输入的数据进行过滤,每个语言都有对应的html过滤函数或处理方法:

1
2
3
4
5
6
PHP的htmlentities()或是htmlspecialchars()
Python的cgi.escape()
ASP的Server.HTMLEncode()
ASP.NET的Server.HtmlEncode()或功能更强的Microsoft Anti-Cross Site Scripting Library
Java的xssprotect(Open Source Library)
Node.js的node-validator。

CSRF:
XSS 是实现 CSRF 的诸多途径中的一条,但绝对不是唯一的一条。一般习惯上把通过 XSS 来实现的 CSRF 称为 XSRF。
CSRF 顾名思义,是伪造请求,冒充用户在站内的正常操作。绝大多数网站还是通过cookie来辨别用户身份,所以要伪造用户的正常操作,最好的方法是通过 XSS 或链接欺骗等途径,让用户在本机(即拥有身份 cookie 的浏览器端)发起用户所不知道的请求。
要完成一次CSRF攻击,受害者必须依次完成两个步骤:

1
2
1.登录受信任网站A,并在本地生成Cookie。
2.在不登出A的情况下,访问危险网站B。

有效的防御方法:
请求令牌(token令牌),在表单的提交的时候,携带此参数(具体请看token如何实现);
使用验证码,只要涉及到数据交互就先验证,但是出于用户体验考虑,不可能每一步都加上,所以这只是一种辅助手段;

参考:
https://www.cnblogs.com/jxl1996/p/10186952.html
https://www.freebuf.com/articles/web/39234.html

「 有志者自有千计万计,无志者只感千难万难 」

赞(3) 打赏
3

谢谢,共同进步~

支付宝
微信
标签:

上一篇:

下一篇:

你可能感兴趣

0 条评论关于"CSRF、XSS攻击的原理及防范"

博客简介

loading......
姓名:张峰
性别:男
爱好:女
喜欢:旅游,煲剧,写书法,写博客,欢迎一起交流。。。。。。

精彩评论

友情链接

没有人陪你走一辈子,所以你要适应孤独,没有人会帮你一辈子,所以你要奋斗一生!申请交换友链

站点统计

  • 文章总数: 24 篇
  • 草稿数目: 0 篇
  • 分类数目: 10 个
  • 独立页面: 1 个
  • 评论总数: 19 条
  • 链接总数: 2 个
  • 标签总数: 26 个
  • 访问总量: 8054244 次
  • 最近更新: 2021年10月13日
服务热线:
 1995****175

 QQ在线交流

 旺旺在线