第6关
将上一关的答案输进来查看源代码
得到的源代码
r后面多了下划线,得,又ban一个
经过upload-labs和sqli-labs 的训练,可以确定应该会有大小写,双写这样的题,我们先试一下
把他ban掉的r换成大写R
"><a hRef='javascript:alert(/xss/)'>
得到结果
第7关
把第六关的代码扔进去,查看源代码
结果很明显了,href没了,script也没了,被ban了,开始将他闭合尝试双写。
"><a hrhRefef='javascrscriptipt:alert(/xss/)'>
ok,成功
第8关
第八关开始变成链接了,那么先看一下源代码
先试了一javascript:alert(/xss/)
发现代码是这样的
不让用,被ban掉了
这里选择采用一些转实体的方式,类似于以前用过的换进制。
有些字符,像(<)这类的,对HTML(标准通用标记语言下的一个应用)来说是有特殊意义的,所以这些字符是不允许在文本中使用的。要在HTML中显示(<)这个字符,我们就必须使用实体字符
我们把丢失的scipt用实体转化得到结果
所以最后输入结果,尝试是否正确
javascript:alert(/xss/)
第9关
把上关代码带进去后
emm,好像得不到什么有用的信息
看源代码吧
意思是我们得包含这个http://
那我们再试一下
javascript:alert('xsshttp://')
javascript:alert('xss')//http://
因为给定函数是包含就可以,
所以不论是第一种把他包含在弹框内,还是由我们把他注释掉,这都是可以的
检验,成功
第10关
新题型,先查看源代码
类型是隐藏的,说明我们可能需要把hidden
改成text
我们先构造布尔真值表达式,用1
,加上且符号&
,进行脚本插入
我们把t_link,t_history,t_sort
这三个分别插入脚本后,
<input name="t_sort" value=onclick="javascript:alert(/xss/) type="hidden">
发现只有这个标签有变化
所以我们最终输入的是
keyword=1&onclick="javascript:alert(/xss/)
然后我们按F12
控制打开
把最底下的hidden
改成text
,这样就过关了
第一周