XSSLab学习笔记-第1到5关

写在最前面:

仅供学习使用。

前端三件套自学的不是很好,所以很多地方可能有点不清楚、有疑惑,请大佬带带。

第一关

这关考察的是反射型xss,在这关学到的是在<h1></h1>等文本类标签里插入<script>alert(xss)</script>可以执行,只要没有额外条件过滤。

观察网页和url可以看到name是个变量。于是在变量上输入JS进行测试成功。

网页源码差不多就变成了这个样子

第二关

因为是xss,所以打开网页源码发现test这个是input的value的值,value会将JS当做值来处理,尝试简单JS弹窗。

失败了好呀,发现没有过滤JS关键字,那么就对语句进行构造,闭合input,让JS不再作为值,而是一段JS代码,测试成功。

test"><script>alert(1)</script>

第三关

.htmlspecialchars()这个php函数让 < 和 > 不会被浏览器用作HTML标签运行,即不当做字符,当做HTML实体。

输入第二关的语句进行测试,发现input被闭合了,但是却没有反应,于是猜测有 .htmlspecialchars() 函数。源码里确实是这个。第八关就是从这个函数方面入手。

构造不会被转换的语句,这时我想到的是HTML事件 ' οnclick='alert(1),因为单引号不会被转义,所以这时使用单引号就可以将value闭合,进而闭合input。使用 ' οnclick=alert(1)// 也行,//注释了后面的所有语句,一样可以执行。

第四关

照例使用弹窗看看有无过滤,发现 < > 被过滤了,即不能使用标签了。

尝试点击弹窗,发现没有过滤单引号,同时value后面不是单引号,那八成是双引号,打开源代码一看果然是,那就直接把单引号改成双引号,果然可以。

第五关

照例使用弹窗看看有无过滤,发现script被重组了,但是标签可以用。html事件型的onclick也被重组了。那么试试javascript:alert(1)

javascript:alert(1)没有问题,那么试试构造标签。

这里构造超链接。

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

果然可以

但是之前尝试不闭合,发现下面的图片和字段都变得可以点击了,不知道为什么标签自动补齐了?

点击也可以过关。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值