一、level9
1、测试分析
尝试了之前的payload,发现都不行,看源码发现多了个strpos
函数,
strpos()
是一个在 PHP 中用于查找子串首次出现位置的函数。它接受两个参数:要搜索的字符串(主字符串)和要查找的子串。如果找到子串,则函数返回子串在主字符串中首次出现的位置(从 0 开始计数);如果没有找到,则返回false
。
2、构建payload
这时候我们就不得不在代码里加入http://
,但是并没有过滤HTML实体编码,所以我们还是使用编码绕过,但是传入的参数需要有‘http://’,所以在payload后面加上,并注释
payload:
javascript:alert(1)/*http://*/
二、level10
1、监测分析
发现并没有输入框,跳转链接,查看页面源码
2、构建payload
发现有隐藏传参数t_link、t_history、t_sort,但input属性是hidden,所以需要修改为text属性
payload:
1、keyword=123&t_sort="οnclick=javascript:alert(1) type="text"