来源:http://www.freebuf.com/articles/web/15188.html

跨站点脚本攻击是一种Web应用程序的攻击,攻击者尝试注入恶意脚本代码到受信任的网站上执行恶意操作。在跨站点脚本攻击中,恶意代码在受影响用户的浏览器端执行,并对用户的影响。也被称为XSS攻击。(为了区分[级联样式表CSS],把cross-site scripting称为XSS)

漏洞发生在网站应用程序接收用户的输入数据却没有做必要的编码。如果对用户输入的数据没有进行正确的编码和过滤,这个被注入恶意脚本将被发送给其他用户。 对浏览器来说,它没有办法知道它不应该相信一个脚本的合法性。浏览器会正常地把这个脚本当成普通脚本执行,这个时候恶意的操作就不可避免的发生了。大部分的时候,XSS是用来窃取cookie,或窃取有效用户的会话令牌session,以此进行会话劫持。

XSS中的HTML注入也是一种利用代码和数据未有效分离的攻击(类似缓冲区溢出),只不过攻击发生在受害者用户的浏览器上,攻击者将数据发送给服务器,服务器没有对输入的数据进行有效的”编码”和”过滤”(即去除数据本身的代码特性,对于HTML来说就是去除它们称为Tag标签的可能),导致了这些数据在用户的浏览器上得到执行,最终导致XSS攻击的发生。

同源策略,它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript 的浏览器都会使用这个策略。
所谓同源是指,域名,协议,端口相同。

当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面。
当浏览器的百度tab页执行一个脚本的时候会检查这个脚本是属于哪个页面的,即检查是否同源,只有和百度同源的脚本才会被执行。

验证:

(1)在有漏洞的文本框里输入js攻击脚本。如 <Script>alert("HelloSIG")</Script>

(2)下拉列表、单选、多选框, 改变所选选项的value值为 ,提交

ps:如果是IE,会因为设置不对,看不到效果
“Internet选项”–“安全”选项卡–选择“Internet”(蓝色的小地球)–“自定义级别”–找到“脚本”下的“xss”相关的(启用XSS筛选器),选择禁用。

解决:

代码 -> 对特殊字符进行处理。

最新文章

  1. [SoapUI] Groovy在SoapUI里获取Text文本第一行数据
  2. 常见类型,isset(),empty()判断
  3. Linux下/boot目录
  4. Step by step configuration of Outgoing Emails from SharePoint to Microsoft Online
  5. HttpContext.Current
  6. 杭电ACM1408——盐水的故事
  7. 新概念英语(1-63)Thank you, doctor.
  8. python3中的 zip()函数 和python2中的 zip()函数 的区别
  9. 【Java千问】你了解代理模式吗?
  10. 去掉字符空格js
  11. spring4笔记----spring4设值注入
  12. git连接到github
  13. python读取xml文件中的坐标点
  14. Git 学习笔记--拉取远程分支到本地
  15. setting 常用配置
  16. [转] libtool的作用及应用
  17. UNIX环境编程学习笔记(25)——信号处理进阶学习之 sigaction 函数
  18. java 框架收藏
  19. H5禁止手机自带键盘弹出
  20. uboot之---make smdk2410_config命令详细解析

热门文章

  1. P3945 | 三体问题 (天体物理+计算几何)
  2. nCompass-解决方案介绍
  3. C# 工具类LogHelper
  4. Net Core使用Lucene.Net和盘古分词器 实现全文检索
  5. pyjsonrpc的使用
  6. 【pattern】设计模式(1) - 单例模式
  7. 剑指offer-基础练习-增删节点-链表
  8. React Hooks 笔记1
  9. 记录 Docker 的学习过程 (自建私有仓库)
  10. axios 跨域请求允许带cookie,则服务器Access-Control-Allow-Origin应设置为具体域名,否则请求无法获得返回数据