XSS靶场实战

本文详细记录了一次XSS跨站脚本攻击的渗透测试过程,从基础的注入尝试到复杂编码与实体化绕过,再到事件注入和标签利用,展现了多种攻防策略。在不同场景下,测试者利用各种技巧尝试绕过防护机制,包括Unicode编码、URL编码以及ng-include等,展示了XSS漏洞挖掘的深度和广度。

XSSLIBS

  • 一、
    在这里插入图片描述

  • 二、

进行注入后无法执行代码

在这里插入图片描述
进行元素查看发现未闭合:
在这里插入图片描述
进行闭合:
在这里插入图片描述

  • 三、
    在这里插入图片描述
    发现输入的双引号转义了,于是尝试单引号:
    在这里插入图片描述
    发现实体化了,尝试事件注入:
    在这里插入图片描述
    发现事件没有实体化,尝试闭合:
    在这里插入图片描述
    在这里插入图片描述
  • 四、

在这里插入图片描述
发现<>被替换了,尝试事件:
在这里插入图片描述

  • 五、
    在这里插入图片描述
    输入语句后发现有下划线的添加,
    在这里插入图片描述
    尝试事件也无法执行
    在这里插入图片描述
    尝试img标签后,虽然闭合,但是没有执行语句;
    尝试伪协议:
    在这里插入图片描述

  • 六、
    在这里插入图片描述
    尝试过script、img标签以及大小写变换之后,都无法执行,所以尝试伪协议
    在这里插入图片描述

在这里插入图片描述

  • 七、
    在这里插入图片描述
    在这里插入图片描述
    经过尝试之后发现<、>、script、on都被禁止了
    于是尝试大小写绕过:
    在这里插入图片描述
    大小写绕过无效后,尝试双写:
    在这里插入图片描述
    发现有戏,于是进行闭合:
    在这里插入图片描述
  • 八、

在这里插入图片描述
在这里插入图片描述
经过尝试之后,所用发方法均失败,所以尝试以下unicode编码的方式:
在这里插入图片描述
在这里插入图片描述

  • 九、
    输入test进行测试:
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
尝试伪协议行不通,于是用真实的url地址构造,发现关键字处理了;
进行编码处理:
在这里插入图片描述
发现带有正确url的伪协议行不通,去掉正常的url尝试之后也不行,尝试将为协议编码链接正常的url:
javascript:alert(1)//http://baidu.com
在这里插入图片描述

  • 十、
    在这里插入图片描述
    输入的语句发现已经实体化了;
    查看网页源码的时候发现存在隐藏表单
    在这里插入图片描述

查看源码之后发现只有t_sort的这一标签可以进行数据的写入并且将<>处理了:

在这里插入图片描述

在这里插入图片描述
在进行闭合处理之后发现没有触发语句的地方,所以进行修改:
在这里插入图片描述

  • 十一、
    在这里插入图片描述
    输入测试语句发现没有任何的显示,于是查看源码,发现只有t_ref可以进行数据的上传而且十通过referer来进行数据的传输的:
    在这里插入图片描述
    在这里插入图片描述

但尝试输入语句测试,发现数据并没有写入,于是抓包
在这里插入图片描述
添加referer头:
在这里插入图片描述
在这里插入图片描述
输入后发现<>被处理了;
在referer头中输入: " tpye=“submit” οnclick="alert(1)

在这里插入图片描述
点击按钮成功,在实验时因为网络问题,界面加载不出!

  • 十二、

在这里插入图片描述
在这里插入图片描述

  • 十三
    在进行基本的尝试后发现页面没有任何的返回,于是查看元素发现存在一个注入点:
    在这里插入图片描述
    因为没有发现怎么来的数据,所以进行抓包查看,发现是cookie带入的数据:
    在这里插入图片描述
    进行payload的构造;
    在这里插入图片描述

放包完成测试:
在这里插入图片描述

  • 十四

由于十四关的目标网站无法打开,无法进行实验!
于是在网上找到一个前辈进行实验的过程进行学习:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

网址:https://cloud.tencent.com/developer/article/1777605

  • 十五
    在这里插入图片描述
    输入的数据被放在了注释中,在尝试闭合发现失败!
    但是有个nginclude函数,于是进行该函数的查找:

ng-include 指令用于包含外部的 HTML 文件。
包含的内容将作为指定元素的子节点。
ng-include 属性的值可以是一个表达式,返回一个文件名。
默认情况下,包含的文件需要包含在同一个域名下。

//用法:
ng-include="filename" onload="expression" autoscroll="expression" 

在这里插入图片描述

因为可以带入外部文件,于是尝试利用外部可以存在xss漏洞的文件进行测试:
在这里插入图片描述
进行输入后发现颜色发生了变化,但是没有触发弹窗,但是网页出现了第一关的界面
在这里插入图片描述
所以尝试其他的方式:
在这里插入图片描述
成功注入!

  • 十六
    在这里插入图片描述
    通过源码可以看到关键子的禁用情况

在这里插入图片描述
在这里插入图片描述
可以看到空格url编码是行不通的,尝试换其他符号
在这里插入图片描述

在这里插入图片描述

用%0a尝试,成功!

  • 十八
    在这里插入图片描述

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值