xss-labs靶场6-10关

文章目录

  • 前言
  • 一、靶场6-10关
    • 1、关卡6
    • 2、关卡7
    • 3、关卡8
    • 4、关卡9
    • 5、关卡10
  • 总结


前言

此文章只用于学习和反思巩固xss攻击知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!


一、靶场6-10关

1、关卡6

发现url、搜索框有可控参数keyword。输入’“<>看看有没有被过滤,看前端代码发现input标签的value值没有过滤’”<>,h2标签内容被实体化了。也测试了script、关于on的onclick、onerror等,也是被过滤了。再试一试上一关的a标签发现href也被过滤了。
xss-labs靶场6-10关_第1张图片
xss-labs靶场6-10关_第2张图片
xss-labs靶场6-10关_第3张图片
但是我们试一试大小写居然绕过了,这一关原来是没有大小写过滤。也就是说前面几关的方法这里用大写就能绕过,这里我随便用了一个。
攻击语句为

"><sCript>alert(1)</sCript>

xss-labs靶场6-10关_第4张图片
看源代码也是发现和我们所猜测的一样,看到str_replace函数把敏感xss语句替换为正常字符串。
xss-labs靶场6-10关_第5张图片

2、关卡7

这里我们有经验了,直接提交"'<>因为这样就是把href闭合掉了,而且利用不到href自动解码功能了。
攻击语句为

javascript:alert()

编码得javascript:alert()
xss-labs靶场6-10关_第11张图片

4、关卡9

又是友情链接,这里我们看源代码,发现过滤手段和上一关差不多,该过滤的都过滤了。这里显而易见突破点还是友情链接这里。
但是仔细观察源代码发现与上一关不同的是这一关对友情链接有一个逻辑判断,意思是如果你输入的链接没有http://开头的话,它就会执行if语句输出你的链接不合法,所以这一关就是加上http://就行了
攻击语句为
javascript:alert()/*http://*/
xss-labs靶场6-10关_第12张图片
xss-labs靶场6-10关_第13张图片
xss-labs靶场6-10关_第14张图片
这里攻击语句我们要把http://用/**/注释掉,不然就会当作地址了不会执行js脚本。

5、关卡10

发现源代码中keyword参数是被过滤的,但是发现隐藏的参数t_sort可以进行传参。而且这个参数只过滤了尖括号,这里我们利用onclick。而且后面加上type=test,因为默认是隐藏的输入框,这里我们要构造输入框才能触发onclick事件。最后一个双引号是闭合type的。
攻击语句为

"οnclick="alert()" type="test

xss-labs靶场6-10关_第15张图片

xss-labs靶场6-10关_第16张图片
xss-labs靶场6-10关_第17张图片

xss-labs靶场6-10关_第18张图片

总结

此文章是小白自己为了巩固xss攻击而写的,大佬路过请多指教!

你可能感兴趣的:(xss-labs靶场,xss,web安全)