暂无 |

19. XSS

A
B
C
D
答案:

XSS 是什么

XSS 是一种经常出现在 web 应用中的计算机安全漏洞,它允许恶意 web 用户将代码植入到提供给其它用户使用的页面中。
比如这些代码包括 HTML 代码和客户端脚本。攻击者利用 XSS 漏洞旁路掉访问控制——例如同源策略(same origin policy)。
这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼(Phishing)攻击而变得广为人知。
对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而 JavaScript 是新型的“ShellCode”。

示例:
<script>alert(document.cookie)</script>

特点

能注入恶意的 HTML/JavaScript 代码到用户浏览的网页上,从而达到 Cookie 资料窃取、会话劫持、钓鱼欺骗等攻击。 <攻击代码不一定(非要)在 <script></script> 中>

原因

  • Web 浏览器本身的设计不安全。浏览器能解析和执行 JS 等代码,但是不会判断该数据和程序代码是否恶意。
  • 输入和输出是 Web 应用程序最基本的交互,而且网站的交互功能越来越丰富。如果在这过程中没有做好安全防护,很容易会出现 XSS 漏洞。
  • 程序员水平参差不齐,而且大都没有过正规的安全培训,没有相关的安全意识。
  • XSS 攻击手段灵活多变。

危害

  • 盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
  • 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
  • 盗窃企业重要的具有商业价值的资料
  • 非法转账
  • 强制发送电子邮件
  • 网站挂马
  • 控制受害者机器向其它网站发起攻击

如何防范

  • 将重要的 cookie 标记为 http only, 这样的话 Javascript 中的 document.cookie 语句就不能获取到 cookie 了.
  • 表单数据规定值的类型,例如:年龄应为只能为 int、name 只能为字母数字组合。。。。
  • 对数据进行 Html Encode 处理
  • 过滤或移除特殊的 Html 标签, 例如: <script>, <iframe> , < for <, > for >, &quot for
  • 过滤 JavaScript 事件的标签。例如 "onclick=", "onfocus" 等等。

解析:参考资料:
https://www.cnblogs.com/phpstudy2015-6/p/6767032.html
https://www.cnblogs.com/443855539-wind/p/6055816.html
https://baike.baidu.com/item/XSS%E6%94%BB%E5%87%BB/954065?fr=aladdin

解释:
网络

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论