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尝试,成功!
- 十八


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

被折叠的 条评论
为什么被折叠?



