一个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 元素
相关推荐
Asp.net是一个由Microsoft开发的开源Web应用程序框架,它提供了丰富的功能和安全性机制来防止XSS攻击。在VS2010环境下,开发者可以利用内置的安全特性来构建更安全的应用。 1. 防止反射型XSS:使用ASP.NET的...
这是一个简单的XSS攻击示例,用于测试目标页面是否容易受到XSS攻击。它试图弹出一个警告框显示字符串“vulnerable”。 ##### 4. `%3Cscript%3Ealert('XSS')%3C/script%3E` 这是对`<script>`标签的一种URL编码形式...
XSS(跨站脚本攻击)是网络安全领域中一种...总之,XSS攻击是一种严重的威胁,需要开发者在设计和开发阶段就充分考虑安全性,通过合理的输入验证、数据转义和使用安全策略来降低攻击风险,保护用户的隐私和数据安全。
例如,一个简单的XSS攻击例子是在留言板中插入JavaScript代码,如`<script>alert("hey!you are attacked")</script>`。当其他用户查看包含这段恶意脚本的留言时,浏览器会执行脚本,弹出警告对话框。 XSS攻击的危害...
#### XSS攻击原理与分类 XSS(Cross-Site Scripting)跨站脚本攻击是一种常见的安全威胁,它利用Web应用程序的安全漏洞,将恶意脚本注入到合法的网页中,进而攻击最终用户。XSS攻击主要分为以下两种类型: 1. **...
腾讯QQ就是一个例子,它曾经因为群资料名称的处理不当而遭受了XSS攻击。攻击者通过构造特殊的payload来修改群名,并且通过查看群资料来触发跨站脚本攻击。类似的案例还包括阿里旺旺客户端的XSS攻击,攻击者通过修改...
**Yamanner蠕虫**:这是一个著名的XSS攻击案例,它利用了Yahoo Mail系统的一个漏洞,当用户在Web上查看邮件时,邮件内容中的JavaScript代码能够被执行。攻击者通过构造带有恶意脚本的邮件,一旦受害者打开这些邮件,...
XSS平台网站源码是用于学习和研究XSS攻击及防御机制的重要资源,它可以帮助开发者和安全研究人员理解XSS的工作原理,并提供实践环境来测试和验证防护策略。 源码通常包括以下几个关键部分: 1. 用户输入处理:在...
为了更好地理解XSS攻击的具体实施方法,下面通过一个简单的案例来展示反射型XSS攻击的过程: 假设攻击者构造了如下链接,并通过社交媒体或电子邮件诱骗受害者点击: \...
假设有一个用户可以在某个网站上发表评论的功能,如果开发者没有对用户输入的评论进行严格的过滤和转义处理,那么恶意用户可以通过以下方式发动XSS攻击: ```html <!-- 恶意用户的评论 --> <script>alert('XSS ...
一个现实的例子是,通过构造的URL参数直接注入了恶意脚本,如在score参数后注入了图片标签和onerror事件,导致当其他用户浏览这个页面时,会弹出警告框。修复这类XSS的方法是在输出数据时过滤掉<和>符号。 2. 输出...
例如,2005年MySpace的XSS蠕虫事件就是一个典型的例子,它在短时间内感染了大量用户页面,展示了XSS攻击的破坏力。即使不涉及服务器权限,XSS也能用来盗取用户cookie、实施钓鱼攻击或者传播恶意代码。 **搜索框的...
`js-xss`库的核心功能是`sanitize`函数,它接收一个字符串作为参数,返回一个经过过滤的安全字符串。这个函数能够识别并转义常见的XSS攻击模式,如`<script>`标签、事件属性(onclick、onmouseover等)、CSS表达式等...
为了更好地理解XSS攻击及其防御,可以通过搭建一个简单的Node.js应用进行模拟。在Linux环境下,创建一个新项目,使用Express框架,然后安装依赖,编写路由和视图文件。通过在URL参数中传递不同的XSS payload,观察其...
例如,在一个简单的PHP程序中: ```php $username = $_GET["name"]; echo "欢迎, " . $username . "!</p>"; ``` 如果攻击者将恶意脚本注入`name`参数,如`<script>alert('XSS')</script>`,那么当其他用户访问带有...
将 AntiSamy Xss 跨站脚本攻击过滤封装成 GoogleAppEngine(GAE)WebService。 没开发过GAE WebService的同学可以作为一个在 GAE 上开发 WebService 的例子参考。
这个例子说明了当Web应用程序没有正确过滤用户输入时,XSS攻击是如何发生的。 #### 三、XSS攻击的类型 ##### 3.1 反射型XSS(Non-persistent XSS) 反射型XSS攻击是最常见的一种类型,它通常通过URL参数或表单...
首先,让我们来看一个XSS攻击的例子。设想一个社交网站,用户可以关注任何人,并能看到关注对象发布的信息。如果攻击者在发布信息时插入恶意脚本,那么所有关注他的用户在查看信息时,恶意脚本将在他们的浏览器中...
在这个例子中,存在一个`<input>`标签,其`value`属性为空,这意味着我们可以向其中添加文本。 - **步骤3:** 尝试在输入框中插入恶意脚本。例如,使用`<script>alert(2312313135)</script>`这样的格式。需要注意的...