一个XSS攻击的例子
一个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标签 <br>2、.text()用来读取或修改元素的纯文本内容 span div 元素 <br>3、.val()用来读取或修改表单元素的value值 input 元素
相关推荐
sswqycbailong 2020-07-28
csxiaoqiang 2020-07-26
码农成长记 2020-07-19
layloge 2020-07-05
layloge 2020-06-26
liangjielaoshi 2020-06-25
csxiaoqiang 2020-06-16
某先生 2020-06-13
ItBJLan 2020-06-11
layloge 2020-06-07
csxiaoqiang 2020-06-03
sswqycbailong 2020-06-01
layloge 2020-05-30
码农成长记 2020-05-28
qidu 2020-05-26
zhuangnet 2020-05-20
zhuangnet 2020-05-19
xiaoemo0 2020-05-16
码农成长记 2020-05-10