网站首页 > 知识剖析 正文
问.xss是什么?运行原理?攻击方式?如何预防?
是什么:
xss俗称跨站脚本攻击(cross site Scripting),攻击者通过在网页中添加恶意的script代码,当用户请求网页时,执行恶意的script代码,以达到攻击目的。
运行原理:
攻击者对含有漏洞的服务器发起XSS攻击(注入JS代码)。
诱使受害者打开受到攻击的服务器URL。
受害者在Web浏览器中打开URL,恶意脚本执行。
攻击类型:
反射型: 发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS随响应内容一起返回给浏览器,最后浏览器解析执行XSS代码,这个过程就像一次发射,所以叫反射型XSS。
存储型XSS和反射型的XSS差别就在于,存储型的XSS提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。
如何预防:
编码防御:对用户输入的数据进行HTML Entity编码
编码过滤:移除用户上传的DOM属性,如onerror等,移除用户上传的style节点,script节点,iframe节点。例如PHP语言可以使用htmlspecialchars()函数将数据转实体。
编码校正:避免直接对HTML Entity编码,使用DOM Prase转换,校正不配对的DOM标签。
问.csrf是什么?运行原理?攻击方式?如何预防?
是什么:
csrf是跨站请求伪造。简单的说和xss跨站脚本攻击是一样的,但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。
运行原理:
登录受信任网站A,并在本地生成Cookie。
在不登出A的情况下,访问危险网站B。
攻击方式:
1.登录受信任网站A,并在本地生成Cookie。
2.在不登出A的情况下,访问危险网站B。
如何预防:
通过referer、token 或者验证码来检测用户提交。
尽量不要在页面的链接中暴露用户隐私信息。
对于用户修改删除等操作最好都使用post 操作 。
避免全站通用的cookie,严格设置cookie的域。
参考资料:https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
- 上一篇: PHP 基础知识(一) php相关知识
- 下一篇: Twig, 灵活、快速、安全的PHP模板语言
猜你喜欢
- 2024-11-11 详解如何防止SQL注入:应对方案与优缺点分析
- 2024-11-11 XSS注入我也不怕不怕啦--PHP从框架层面屏蔽XSS的思考和实践
- 2024-11-11 挖0day漏洞原来如此简单,我的黑客朋友手把手教你
- 2024-11-11 php用soap调用接口实例,返回值没有见到xml
- 2024-11-11 备战金九银十,2020最新大厂PHP面试题(附答案)
- 2024-11-11 dede后台发布文章的时候显示标题不能为空?
- 2024-11-11 PHP漏洞之-Session劫持 php session机制
- 2024-11-11 php特殊字符处理 php 特殊字符自动转义
- 2024-11-11 Java面试260题(2020年版,3-5年面试题重点突破)(二)
- 2024-11-11 2020最新大厂PHP面试题(附答案) php面试官应该问些什么
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)