xss挑战赛 level 15-19

xss挑战 level 14

exif 题目失效
与exif有关的博客: http://blog.sina.com.cn/s/blog_722cb9a90102wl2c.html
漏洞成因:chrome插件exif viewer获取图片exif信息时没有进行过滤,导致xss代码执行。

xss挑战 level 15

angular js中的ng-include问题,类似php中的Include
查看源码,参数是src。先构造?src='level1.php?name='
发现level1界面正常,但没有过关。
换一种方法试一下?src='level1.php?name='还是不行。
借鉴博客:构造src='level1.php?name=' 可以。

xss挑战 level 16

16关的图片来自游戏《传送门》
构造代码,
发现空格被过滤。在html中空格和回车产生的结果是一样的,多个分隔符也只被看做一个分隔符。
回车的编码是%0a%0d替换空格即可。

xss挑战 level 17 ,18

两道题一样。
embed标签可以引入swf文件
在参数位置构造onmouseover=alert(1),前面有空格。

xss挑战 level 19

在参数构造onmouseover=alert(1) 'onmouseover=alert(1) 都没有成功构造事件
构造"' onmouseover=alert(1)后半部分被过滤。说明答案不在这里。"为双引号

本题考点实际为flash xss
借鉴博客: https://cloud.tencent.com/developer/article/1089548
flash缺陷参数: (能够执行js代码)
getURL:as2中存在,可以直接执行url页面,如果页面中包含xss则攻击成功。
navigateToURL:as3中存在,可以执行页面,甚至可以直接执行navigateToURL.swf?url=javascript:alert(1)
ExternalInterface.call:

题目解答借鉴博客: https://www.jianshu.com/p/4e3a517bc4ea
思路为:反编译swf文件,定位缺陷参数getURL,追踪到slFR的内容等直至找到传值位置,构造a标签123
flash反编译可以用 https://github.com/jindrapetrik/jpexs-decompiler 工具,需要配置环境。

总结:

  1. xss注入大多在标签中进行
    1. 简单构造标签为
    2. 更好用的标签:111
    3. 更好用的参数:onmouseover=alert(1)
  2. 利用单双引号闭合标签。
  3. 关键字过滤问题:
    1. 大小写绕过(html不区分大小写),
    2. 双写绕过(只删除一次关键字的过滤)
    3. html字符编码转码绕过(特殊符号,关键字字母),
    4. 回车空格替换。
  4. html注释://
  5. 利用信息头文件注入 如:referer, cookie, user_agent。
  6. angular js中的ng-include问题:引入问题页面。
  7. flash xss中的getURL,navigateToURL:引入问题页面,或js代码。

你可能感兴趣的:(ctf,日报)