xss-labs通关(未完成)

本篇为本人xss—labs通关,未完成之前会一直编辑

level1

上来一头雾水,不知道该怎么办,之后我们可以赋值test试一试,查看源代码

从这里我们可以看到它将name的参数值,插入到了<h2> </h2>标签之间

那么 就很明显,这一关主要就是考察反射型xss

但是由于不知道服务器端对于提交的敏感字符有没有过滤,所以这里直接在name参数

中赋值一个简单的弹窗来进行测试。

操作如下:

将name参数重新赋值:<script>alert('xss')</script>


 

 level 2

 有搜索了,我们先试一下test,之后查看代码

 

从源码来看,它的功能就是通过点击“搜索”按钮,将输入框内的内容以get方式提交给服务器上的level2.php,经过服务器的动态处理之后又会将参数keyword的值插入到<h2> </h2>标签之中以及添加到<input>标签中的value属性的值内。尝试使用上一关的恶意语句操作进行弹窗


 

 发现不对,查看网页源代码

 

可以看到在<h2> </h2>标签之中的恶意代码被编码了。其中<>都被编码成了html字符实体。

只需要将属性的引号和标签先闭合就可以了。

将keyword的参数值重新赋值

"><script>alert('xss')</script>//

level3 

 老规矩,用test尝试,然后查看源代码

 好像与第二关相似,我们用构造弹窗试试

 不行,查看源码

 

这两处都将<>这样的敏感字符编码成了html字符实体。

猜测服务器端在这两处都用htmlspecialchars()函数进行了处理。

去服务器端看看level3.php代码

没错,之后我们使用 

<input>标签的一些特殊事件来执行js代码

构造代码:level3.php?keyword='onfocus=javascript:alert('xss') > //

居然还不对,不过搜索没了说明 触发了onfocus事件(网页上一个输入框,该输入框时输入框被选中可以输入内容的时候就是该输入框获得焦点的时候,此时输入框就会触发onfocus事件.因此点击当前页面的输入框就可以完成弹框了。

level4

 

 还是get方式请求,直接上level2代码,发现不行,我们查看下源码

 我们发现,第二行的<>编码转换了,第四行的<>没有了

我们直接使用上一关代码。level4.php?keyword="οnfοcus=javascript:alert('xss')"

点输入框,结束

level 5

 发现依旧是get方式,所以还是反射型xss,弹窗代码走起

 寄,直接看源码

 第二行,又是<>被编码处理了

第四行中间出现一个_,我们用level3代码试试

依旧不行,我们看看源码

 寄,居然对onfocus事件防范了

不过我们可以换一个标签执行代码

?keyword="> <a href=javascript:alert('xss') > xss</a> //

 出现了一个xss的蓝色标签,点一下,便成功了

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值