XSS 复合编码 续

对上文 【web安全】第二弹:XSS攻防中的复合编码问题 的一些补充,思路来源于:http://escape.alf.nu/3/

html解码的问题:

通过appendChild添加的节点,不会被HTML解码,示例代码如下:

<body>test</body>
<script type="text/javascript">
function escape(s) {
  var url = ‘javascript:console.log(‘ + JSON.stringify(s) + ‘)‘;
  console.log(url);

  var a = document.createElement(‘a‘);
  a.href = url;
  a.setAttribute("test", "&gt;2333")
  document.body.appendChild(a);
}
s = "&gt;);alert(1)//";
escape(s);
</script>

只有通过innerHTML插入页面的代码才会被HTML解析。

<script type="text/javascript">
    s = ‘<a href="&gt;">test</a>‘
    document.body.innerHTML = s;
</script>

解析后为:

URL解码的问题:

URL解码发生在点击链接的时候。示例如下:

在触发点击事件的时候,先进行URL解码,发现javascript伪协议之后,对内容进行JS解析执行。

时间: 2024-08-09 23:48:17

XSS 复合编码 续的相关文章

【web安全】第二弹:XSS攻防中的复合编码问题

最近一直在研究XSS的攻防,特别是dom xss,问题慢慢的迁移到浏览器编码解码顺序上去. 今儿被人放鸽子,无奈在KFC看了两个小时的资料,突然有种豁然开朗的感觉. 参考资料先贴出来: 1. http://www.freebuf.com/articles/web/43285.html 2. http://www.freebuf.com/articles/web/10121.html 3. http://www.wooyun.org/whitehats/%E5%BF%83%E4%BC%A4%E7%

xss:利用编码特性绕过过滤

编码知识: url编码 当用户提交的表单值中存在url中有特殊功能的字符时(如http://xxx.com/xxx.php?name1=value1&name2=value2中的"&"),需要对其进行url编码,编码格式为%+16进制值.注意:在表单中输入url编码格式的字符只会被作为字符处理而不会解释成url编码,如有需要请在url地址栏中输入.   html实体字符 若html页面存在字符有特殊意义时,为了避免被错误解析,通常以html实体字符的形式显示在html页

字符编码(续)---Unicode与ANSI字符串转换以及分辨字符编码形式

Unicode与ANSI字符串转换 我们使用windows函数MultiByteToWideChar将多字节字符串转换为宽字符字符串,如下: int MultiByteToWideChar( UINT uCodePage, DWORD dwFlags, PCSTR pMultiByteStr, int cbMultiByte, PWSTR pWideCharStr, int cchWideChar); uCodePage参数标识了与多字节字符串关联的一个代码页值.dwFlags参数允许我们进行额

xss各种绕过收集(更新完毕)

<L onclick=alert(1)>click me</L★最琀;弹出1<a href="javascrip:alert(document.cookie)"> 用a标签来弹窗 "><img src="" onerror="document.write(String.fromCharCode(60)+String.fromCharCode(115)+String.fromCharCode(99)+Str

视频编码标准简介

文章转自:http://www.cnblogs.com/CoderTian/p/8261727.html 1.视频编码发展简史 1988 年CCITT 通过了"p×64Kbps(p=1,2,3,4,5,,,,30) "视像编码标准 H.261 建议, 被称为视频压缩编码的一个里程碑.从此, ITU-T. ISO 等公布的基于波形的一系列视频编码标准的编码方法都是基于 H.261 中的混合编码方法. 1986 年,ISO 和 CCITT 成立了联合图像专家组(JPEG,Joint Pho

XSS事件(一)

前言 ? 最近做的一个项目因为安全审计需要,需要做安全改造.其中自然就包括XSS和CSRF漏洞安全整改.关于这两个网络安全漏洞的详细说明,可以参照我本篇博客最后的参考链接.当然,我这里并不是想写一篇安全方面的专题.我要讲的是在做了XSS漏洞修复之后引发的一系列事件. 超时 ? 本地测试的时候随便点了些页面,然后debug跟了下代码未发现任何问题.上线之后用户反馈有的页面打不开,自己去线上体验发现大部分页面正常,但是存在部分客户反馈的页面打开直接超时报错. 事件紧急处理 ? XSS这个漏洞修复开始

关于我学XSS躺过的那些坑

XSS字符编码 在学习编码绕过时由于数量多,类型相似,不太容易记得住,记得全,故做此记录. 0x01 Html标签属性中执行 简单了解: Html标签属性中的XSS问题多属于javascript伪协议 常见的属性有: src lowsrc dynsrc url href action onload onunload onmouseover onerror 各种on开头的事件 PS:此处可不加括号,如onclick=javascript:alert(1),各类教程里常见的<img src=java

web安全之XSS攻击原理及防范

阅读目录 一:什么是XSS攻击? 二:反射型XSS 三:存储型XSS 四:DOM-based型XSS 五:SQL注入 六:XSS如何防范? 1. cookie安全策略 2. X-XSS-Protection设置 3. XSS防御HTML编码 4. XSS 防御HTML Attribute编码 5. XSS防御之javascript编码 6. XSS 防御之 URL 编码 7. XSS 防御之 CSS 编码 8. 开启CSP网页安全政策防止XSS攻击 回到顶部 一:什么是XSS攻击? XSS 即(

XSS跨站脚本小结

Xss概念 同源策略 javaScript中的同源,需要对比 两者中的协议.域名.端口.三者完全相同才认为是同源的,否则即是来自不同源的内容. Xss概念 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的. 用户提交的数据没有过滤,或者过滤不严格,输出到网页中 ,导致可以构造执行JS代码,或者修改网页内容. Xss危害 •盗取用户或者管理员的Cookie • XSS Worm • 挂马(水坑攻击) •