本文共 1032 字,大约阅读时间需要 3 分钟。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 事件背景: 定期对各个应用进行安全检测,当然,其中的一种检测方式是通过webscan360,发现多个网站存在跨站脚本攻击漏洞。下面是360的描述: 漏洞类型:跨站脚本攻击(XSS) 所属编程语言:php 描述: 目标存在跨站脚本攻击。 1.跨站脚本攻击就是指恶意攻击者向网页中插入一段恶意代码,当用户浏览该网页时,嵌入到网页中的恶意代码就会被执行。一般用来盗取浏览器cookie 2.跨站脚本攻击漏洞,英文名称Cross Site Scripting,简称CSS又叫XSS。它指的是恶意攻击者向Web页面中插入一段恶意代码,当用户浏览该页面时,嵌入到Web页面中的恶意代码就会被执行,从而达到恶意攻击者的特殊目的。 危害: 1.恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,更甚至可以修改网页呈现给其他用户的内容。 2.比如有一天你打开一个网站,突然弹出一个窗口 提示叫你登陆 你以为是这个网站让你登陆 当你输入账户密码以后你的所有操作都被黑客记录了,还有小白问“盗取浏览器cookie有什么用” 黑客盗取你的浏览器cookies以后 可以利用你的cookie登陆你在特定网站或者论坛的账户。 3.网站常见的存在跨站的地方多半都在留言本,搜索,评论。这些地方, 特别是有留言和评论的地方要注意,你网站这两个地方存在跨站,黑客可以直接在这两个地方提交跨站攻击脚本,你登陆后台查看留言和评论以后就被攻击了。 解决: 在这里,我举其中一个网站漏洞,经360指出存在漏洞的页面看到包含漏洞的代码为(‘<?php echo $_GET [ "url" ];?>’), $_GET 变量用于收集来自 method= "get" 的表单中的值,所以对于不法用户如果输入非法url而我们又没有对输入的内容做过滤,那么就容易被人利用此漏洞达到不可告人的目的。 360给出的解决方法: 避免XSS的方法之一主要是将用户所提供的内容输入输出进行过滤,许多语言都有提供对HTML的过滤,因为我的网站为php,所以用htmlentities()或是htmlspecialchars()对用户的输入进行过滤,这样来保证用户输入的url合法性。 |