当前位置: 首页 > news >正文

xss-labs第15关

前言:

xss-labs第15关

目录

测试思路:

两天后的思路:

新发现:

整理思路:

测试行动:

思考:


内容:

测试思路:

        没有思路,打开一篇空白,想了一下,打开15关源代码,发现需要构造参数src,然后我就去问chatgpt了,试了好久,chatgpt也没想出来,我也没想出来

看答案,,,

两天后的思路:

        过了两天,在来看这道题还是没有思路,但是通过重新看标签,好像有一点点思路了,ng-include,就是思路说,先去看ng-include这是什么,怎么用

通过上面的观看,我好像知道了ng-include是关于文件包含的,但是他又没有给出实际的参数,是为啥呢?

思考1:我怎么知道他是由什么传参给后台的,他为啥能传参给后台,?我是怎么知道他的参数命名规则是什么?

<body><span class="ng-include:https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimg-home.csdnimg.cn%2Fimages%2F20230724024159.png%3Forigin_url%3D111%26pos_id%3Dbit8Zjsb&pos_id=bit8Zjsb1"></span></body>

就是说为啥这里为啥会有个参数值到后端呢?

        经过一段时间的理解,在加上chatgpt的疏导,也就是说看到ng-include,就应该想到会有变量来控制ng-include,来解析此域名下的html文件。

新发现:

最后一天,就是又有新的发现,以下是新的发现

至于为啥是src作为参数值的话,需要如何判断呢?

既然猜测有参数值,那就爆破这个参数值,一般的话,不存的参数值会返回错误页面,存在的参数值返回正常页面,且正常页面的长度一般是大于报错页面的长度,

根据返回长度的判断,就可以判断那个参数值是否存在了,action

一般参数值应该也不会长,且都是英文格式

根据这个原理,这个爆破这个参数值,假设长度最长为3,

开爆

好像又发现一件事情,就是说如果参数正常,他的值将会带入html页面来,所以返回的长度自然要比其他参数高

成功发现,是src参数值。

整理思路:

        首先这关的思路就是利用ng-include能够解析文件,并返回当前页面,所以包含第一关的文件,并且执行第一关的弹窗,这关就算过了

测试行动:

         先简单测试一下,是否包含第一关,就会返回第一个的内容

        测试payload:?src='level1.php'

        包含第一关?src='level1.php?name=<img src=1 οnclick=alert(1)>',闯关成功,这就结束了,

?src="level1.php?name=<img src=1 οnclick=alert(1)>",双引号和单引号都是一样的,可以

细究xss,当我查看后端源码时,发现<>都被转义了,为何还能执行xss漏洞?

问了ai,他说angulars会将这些内容反转义,然后继续执行

但是不能直接输入实体化编码后的<>,不知道为啥会这样,,,,,???

思考:

1、关于为啥要加引号,已经有大佬给出答案了xss-labs靶场-第十五关 ng-include XSS - FreeBuf网络安全行业门户

整理理解:在 AngularJS 中,ng-include: 后面是 JS 表达式;你需要使用引号包裹字符串路径,JS 中单双引号等价,但为了 HTML 属性嵌套,通常使用单引号包外、双引号包内是最稳妥的方式。

2、为啥就是ng-include里的<>被实体化了还是能被执行?

ng-include 加载的模板文件中,若有内容经过了 HTML 实体转义,但 AngularJS 会对这些内容执行“反转义”并把它当成 HTML 片段编译和插入

相关文章:

  • 网站数据链接怎么做各大网站域名大全
  • 个人网站备案 名称上海疫情最新消息
  • 做网站竞价没有点击率b站推出的短视频app哪个好
  • 西安网站工作室关键词拓展工具有哪些
  • 长沙做网站seo专员是什么职业
  • 网站开发前景咋样上海网站推广服务公司
  • 2、YOLOv12架构解析:速度与精度的艺术
  • sqli-labs第二十六关——Trick with commentspace
  • 代码随想录---贪心篇
  • IS-IS报文
  • YOLO11解决方案之区域追踪探索
  • 华为OD机试真题——欢乐周末 (2025B卷:200分)Java/python/JavaScript/C/C++/GO最佳实现
  • GAMES104 Piccolo引擎搭建配置
  • 显示docker桌面,vnc远程连接docker
  • LeetCode 1040.移动石子直到连续II
  • 【公式】MathType公式上浮或下沉
  • 汉诺塔超级计算机数据区结构和源代码详细设计
  • C++语言入门————高精度计算
  • ubuntu下nginx
  • 如何在Windows右键菜单中添加“以管理员身份运行CMD”的选项(含图标设置)
  • 第十六篇:真正的学习,系统分析师考后总结
  • 【公式】批量添加MathType公式编号
  • Java单例模式:懒汉模式详解
  • el-input 按回车失去焦点
  • C#、C++、Java、Python 选择哪个好
  • PCB设计-立创