xss-labs第九关

第九关

 

 跟第八关一样,超链接跳转。

写入伪协议进行尝试

 

 被转义了,尝试用第八关的unicode编码进行尝试

 

 

 

 依旧不行。

这时,我们来尝试默认的输入。

 

 

 

 

 

 

 结果还是一样的。那尝试输入带http协议网站进行尝试看看能否进行跳转。

 

 

 

 跳转成功。

查看之前错误的和正确的网页端源代码

 

 

 

 输入不正确的值 他会自动把href属性替换成他给你的中文,而输入正确则返回正常。猜测可能这次输入需要带http协议的网址才能成功。

那么构造payload,这一关卡应该和上一关卡一样做了过滤,所以依旧需要把javascript:alert(1)这句伪协议语句转换成unicode然后在加上我们的http协议网站进行尝试。

javascript:alert(1)//http://www.baidu.com

(ps:伪协议和网站一起写的话http前面需要加//不然不会执行alert语句)

 

 

 

 攻击成功。

查看网页端源码

 

 打开后端源码进行分析。

 

果然在第八关过滤的基础上,加上“http://”判断,如果不带的话就直接报错。

总结:第九关需要在前面unicode过滤的基础上加上http://语句才能绕过函数完成xss攻击。

 

posted @ 2021-07-17 12:31  zmyll  阅读(948)  评论(0)    收藏  举报