xss-labs level 8

管理员 2020-03-12 PM 315℃ 4条

1.这跟前几关不同,这关是个存储型的xss漏洞,

点击友情链接之后

查看源码,常规的字段都被替换添加了下划线,然后我们输入的字符串会插入a标签里面当作超链接导向。

2.这里的思路就是利用<a>标签中的 href属性来执行javascript代码,简单来讲就是如果 href后面跟一个url的话就会去访问url地址,如果是javascript伪协议(javascript:)就会执行javascript。

那知道了利用的原理,我们还要应对过滤,这里有两个办法

(1)利用href属性引号中的内容可以使用空字符、空格、TAB换行、注释、特殊的函数,将代码隔开。 如:javas%09cript:alert()、javas%0acript:alert()、javas%0dcript:alert()。这些特殊字符在href中不会破坏原有的代码执行。

因为这里直接在输入框输入url编码的数据会被再次编码,所以我们在url直接提交,使用%0a(换行符)隔开,payload:

javascrip%0at:alert('xss')

提交成功后,当鼠标指向“友情链接”,可以看到左下角出现了我们的JavaScript伪协议代码,点击后就会运行代码。

(2)使用html实体编码绕过替换,在线转换

直接输入会被替换

这中方法输入跟我们的利用特殊符号分割过滤关键字反过来,转换后必须在输入框输入,不能在url中提交,否则会提交空数据。

点击后会运行JavaScript代码

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

上一篇 xss-labs level 7
下一篇 xss-labs level 9

评论啦~



已有 4 条评论


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

    […] xss-labs level 8 […]

    回复 2020-03-12 13:24
  2. 1
    1

    1

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

      1

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

    1

    回复 2024-02-16 22:51