XSS-Labs靶场通关记录 1 - 13 关

概述

XSS漏洞原理

XSS(cross site scripting) 跨站脚本攻击,攻击者将自己的恶意js代码让受害者浏览器执行。

漏洞危害

可能会导致窃取凭证、篡改页面、构造xss蠕虫等。

漏洞防范

  1. 如果对简单的输入框,则需要识别和转义特殊字符,包括尖括号、引号、javascript中任意字符等。
  2. 针对功能复杂的富文本输入框,建议使用成熟的前端富文本输入框组件,如ueditor等。
  3. 在HTTP响应头中,为set-cookie选项额外添加http-only的值。

通关记录

第一关

发现输入点为url,将其附加所需的弹窗的JS代码  <script>alert()</script>,即可通过。

第二关

按第一关的方法,发现JS代码被合并,因此补全前面的 ”>  ,JS才有效。

第三关

查看页面源码,发现可将传进去的值的前面的引号闭合,因此可用输入

?’ οnmοuseοver=“alert(); ‘

第四关

查看页面源码,发现传进去的值会被前面的引号闭合,因此可用输入

?” οnmοuseοver=“alert(); “

第五关

引入超链接绕过,即

as"> <a HREF=java&#115;c&#114;ipt:alert(1)>aaa</a>

第六关

使用超链接,并将script字样进行html实体转义,语句同上一关。

第七关

根据页面源码,发现onmouseover等函数会被割舍前两个字符on,因此可双写该

部分字符达到绕过,即

as" oonnmouseover="alert(1)">

第八关

可知输入框的内容为链接内容,所以利用超链接的构造语句,将其输入到其中。

第九关

经过多次尝试,发现输入必须含有 http 字眼才合法。但当http被引号括起来后,左方的引号被转义成&quot,因此再加一个双引号,即可并成一个字符串,实现script。输入内容可构造为:

java&#115;c&#114;ipt:alert(""http://")

第十关

查看源码发现有三个隐藏的输入框,将其type改为text,发现只有t_sort的内容会显示在value值里面。因此在第三个框里输入" οnmοuseοver="alert(1)",再将type类型更改,即可实现弹窗。

 第十一关

发现t_ref会回显上一次历史记录,因此可以考虑重放,将refer的值改为

s" οnmοuseοver="alert(1)"

第十二关

思路同11,但头部信息改的地方为 user-agent

第十三关

大致思路同上,从而构造cookie

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值