xss-labs level 2

管理员 2020-03-11 PM 248℃ 3条

1.这次是通过输入框输入数据,但依旧不影响他是个反射型XSS

页面中有两个位置显示输入的数据,也就是说可能存在两个XSS注入点

2.查看源码分析

可以看到搜索框上面的标题对输出进行了过滤,会把输入的特殊字符转换为html实体,关于 htmlspecialchars()。所以我们不在这下手

3.那我们就对搜索框进行操作,先查看前端源码

这是属性内输出,很显然这里直接插入javascript代码是不行的,因为会被当成文本

所以这里我们就要用到跟之前sql注入时类似的闭合绕过,闭合前面的标签,从而成功逃逸标签的属性束缚

4.具体怎么做呢? 那就是输入以下payload

"><script>alert('xss')</script>

那么当提交搜索后,前端的搜索框内的input标签就变成了下面

<input name="keyword" value=""><script>alert('xss')</script>">

跟sql注入差不多是不是,我们前面的 "> 闭合了input标签,使恶意代码成功逃逸出来,然后可以执行

非特殊说明,本博所有文章均为博主原创。

上一篇 XSS-labs level1
下一篇 xss-labs level 3

评论啦~



已有 3 条评论


  1. XSS-labs练习笔记 – 0verflow's blog

    […] xss-labs level 2 […]

    回复 2020-03-11 12:21
  2. 1
    1

    1

    回复 2024-02-16 22:33
  3. 1
    1

    1

    回复 2024-02-16 22:50