XSS挑战攻略

Less-1:

直接url中


Less-2:

先在输入框中输入1111,然后查看有几个输出点发现有两个。

之后输入,发现两个地方的语句都被当作字符串处理。

这时在input标签中,可以先闭合原本的标签然后创建新的标签payload:`">`

也可以闭合value属性之后创建新的属性payload:" onclick=javascript:alert(2)>(需要点击)

Less-3:

从看源码,我们可以发现多了一个函数htmlspecialchars($str),这个函数可以将尖括号转化成字符串实体。所以,我们可以构造新的属性来进行绕过。payload:' onclick=javascript:alert(2)//

PS:这里火狐有个bug,显示的是双引号,但是实际上必须用单引号才能闭合。

Less-4:

先看源码,过滤了两次尖括号试了一下Less-3的语句,将单引号改为双引号就行。


str_replace("1","2"):这个函数可以将字符串中的指定字符1替换为2。

Less-5:


替换了

payload: ">


Less-6:


可以大小写绕过。

Less-7:


双写绕过。

Less-8:

通过测试,发现有两个输出点。输入框和超链接。


过滤了一堆东西,我都想不到还有啥了,后来问大佬,大佬说,可以使用换行。

payload:?keyword=javascri%0apt:alert(2)&submit=添加友情链接

然后点击超链接就行。

Less-9:



发现输入的内容中必须含有http://,刚开始一直把http://放在前面然后语句一直不对,后来想到把http://放在后面,再利用注释符把它注释掉。

payload:keyword=javascri%0Apt:alert(2)//http://&submit=添加友情链接

你可能感兴趣的:(XSS挑战攻略)