Loading... # XSS-labs Less 11-16 ## Less 11 referer信息 和Less 10一样,先去掉hidden提交值找绕过点,发现t_sort的value可以拼接 ![image-20220713113515850.png](http://xherlock.top/usr/uploads/2022/07/261364904.png) 但是被HTML实体进行了编码 ![image-20220713113552927.png](http://xherlock.top/usr/uploads/2022/07/3189429404.png) 根据wp的提示,t_ref的值是referer的信息,hackbar修改下referer ![image-20220713113724091.png](http://xherlock.top/usr/uploads/2022/07/1066414654.png) 再去看html部分,可以看到t_ref的value值变化,存在绕过点 ![image-20220713113756596.png](http://xherlock.top/usr/uploads/2022/07/1387899281.png) ~~~ referer:" onclick=alert() " ~~~ ![image-20220713113912338.png](http://xherlock.top/usr/uploads/2022/07/1722477546.png) ## Less 12 UA 这一关同上一关一样,先查看get可以提交的参数(去掉type里的hidden,最后一个type改成submit,随便填提交) ![image-20220713114205975.png](http://xherlock.top/usr/uploads/2022/07/2148819354.png) 根据提示直接改UA ![image-20220713114353496.png](http://xherlock.top/usr/uploads/2022/07/2215352864.png) ![image-20220713114425647.png](http://xherlock.top/usr/uploads/2022/07/2210863173.png) ## Less 13 Cookie 这关和前几关一样,属于cookie绕过(说实在一般很少网站这么干,敢把cookie值弄到网站显示里去) ![image-20220713155645474.png](http://xherlock.top/usr/uploads/2022/07/2172550332.png) 需要注意的是cookie值前需要有user=,php源码: ~~~php <?php setcookie("user", "call me maybe?", time()+3600); ini_set("display_errors", 0); $str = $_GET["keyword"]; $str00 = $_GET["t_sort"]; $str11=$_COOKIE["user"]; // 取出cookie参数user的值 $str22=str_replace(">","",$str11); $str33=str_replace("<","",$str22); echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center> <form id=search> <input name="t_link" value="'.'" type="hidden"> <input name="t_history" value="'.'" type="hidden"> <input name="t_sort" value="'.htmlspecialchars($str00).'" type="hidden"> <input name="t_cook" value="'.$str33.'" type="hidden"> </form> </center>'; ?> ~~~ ## Less 14 exif xss 无法做 ## Less 15 ng-include 属性 ng-include:用于包含外部的html文件 ![image-20220713165326298.png](http://xherlock.top/usr/uploads/2022/07/659406091.png) 可以考虑包含以前的关卡文件(php写成的html文件也可以) ![image-20220713165705475.png](http://xherlock.top/usr/uploads/2022/07/3366816305.png) 此时就基本转换为做前面几个关卡了 ~~~ ?src='level1.php?name=<input onclick=alert()>' ~~~ ![image-20220713172058534.png](http://xherlock.top/usr/uploads/2022/07/329641292.png) 不知道为啥网上全是下面这个,onerror是指媒体数据加载错误时执行js的alert ~~~ ?name=<img src=1 onerror=alert(1)>' ~~~ 试了下面这个目前还没搞懂为什么过不去,按理来说没有HTML编码哇 ~~~ <script>alert()</script> ~~~ ## Less 16 空格实体转义 直接查看script+alert,script和/斜杠被替换为空格的HTML编码 ![image-20220713212632776.png](http://xherlock.top/usr/uploads/2022/07/2593349513.png) 首先大小写,不中;接着双写,中间被插入转义的空格 ![image-20220713215021691.png](http://xherlock.top/usr/uploads/2022/07/1792731100.png) 尝试\<input onclick=alert()>,也不行:等于中间的空格被HTML实体转义了 ![image-20220713214014691.png](http://xherlock.top/usr/uploads/2022/07/1370375491.png) 初步确定script、空格和左斜杠被替换为\ 联想到sql注入时使用换行符(%0a、%0d) 注入:?keyword=<input%0aonclick=alert()>,点击输入框即可 ![image-20220713220101421.png](http://xherlock.top/usr/uploads/2022/07/2827439004.png) *Less 17-20都和flash相关,然而却不在浏览器中使用,研究价值不大,搁置不做* 最后修改:2022 年 07 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏