Less-1:
直接url中<script>alert(2)</script>
Less-2:
先在输入框中输入1111,然后查看有几个输出点,发现有两个。
之后输入<script>alert(2)</script>,发现两个地方的语句都被当作字符串处理。
这时在input标签中,可以先闭合原本的标签然后创建新的标签payload:`"><a href=javascript:alert(2)>`
也可以闭合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:
替换了<script和 on而且将所有字母转换成了小写,可以构造不含这些的标签或属性。
payload: "><a href=javascript:alert(2)>
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=添加友情链接