Loading... # XSS-labs Less 11-16 ## Less 11 referer信息 和Less 10一样,先去掉hidden提交值找绕过点,发现t_sort的value可以拼接  但是被HTML实体进行了编码  根据wp的提示,t_ref的值是referer的信息,hackbar修改下referer  再去看html部分,可以看到t_ref的value值变化,存在绕过点  ~~~ referer:" onclick=alert() " ~~~  ## Less 12 UA 这一关同上一关一样,先查看get可以提交的参数(去掉type里的hidden,最后一个type改成submit,随便填提交)  根据提示直接改UA   ## Less 13 Cookie 这关和前几关一样,属于cookie绕过(说实在一般很少网站这么干,敢把cookie值弄到网站显示里去)  需要注意的是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文件  可以考虑包含以前的关卡文件(php写成的html文件也可以)  此时就基本转换为做前面几个关卡了 ~~~ ?src='level1.php?name=<input onclick=alert()>' ~~~  不知道为啥网上全是下面这个,onerror是指媒体数据加载错误时执行js的alert ~~~ ?name=<img src=1 onerror=alert(1)>' ~~~ 试了下面这个目前还没搞懂为什么过不去,按理来说没有HTML编码哇 ~~~ <script>alert()</script> ~~~ ## Less 16 空格实体转义 直接查看script+alert,script和/斜杠被替换为空格的HTML编码  首先大小写,不中;接着双写,中间被插入转义的空格  尝试\<input onclick=alert()>,也不行:等于中间的空格被HTML实体转义了  初步确定script、空格和左斜杠被替换为\ 联想到sql注入时使用换行符(%0a、%0d) 注入:?keyword=<input%0aonclick=alert()>,点击输入框即可  *Less 17-20都和flash相关,然而却不在浏览器中使用,研究价值不大,搁置不做* 最后修改:2022 年 07 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏