CSRF、XSS攻击的原理及防范

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

本文为 今天也想见到你 博客文章,转载无需和我联系,但请注明来自 今天也想见到你 博客 0925.wang
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇