跨站脚本(XSS)攻击

本文介绍了XSS(跨站脚本)攻击的概念、分类、危害及实例,详细讲解了存储型、反射型和DOM型XSS的区别。通过DVWA实战展示了如何利用XSS进行弹窗测试和盗取cookie,并提出HttpOnly和输入/输出检查等修复措施。
摘要由CSDN通过智能技术生成

什么是XSS

全称:Cross Site Script(跨站脚本)
为了与层叠样式表css区分,将跨站脚本简写为XSS
危害:盗取用户信息、钓鱼、制造蠕虫等。

概念

概念:黑客通过“HTML注入”篡改了网页,插入了恶意脚本,从而在用户在浏览网页时,实现控制用户浏览器行为的一种攻击方式。

黑客可以利用xss盗取用户的cookie,有了用户的cookie,可以以用户的身份来正常访问站点。

XSS属于客户端代码注入,通常注入代码是JavaScript。区别于命令注入,SQL注入属于服务端代码注入。

示例

假设一个页面把用户输入的参数直接输出到页面上,php代码如下:

<?php
$input = $_GET['param'];
echo "<div>".$input."</div>";
?>

正常情况下,用户向param提交的数据会展示在页面中,如

http://localhost/test.php?param=this is a test!

这里写图片描述

但是,如果提交一段js代码

http://localhost/test.php?param=<script>alert(/xss/)</script>

会看到js代码在当前页面执行了
这里写图片描述
这只是一个简单的例子,XSS攻击还有一些其它的形式。

XSS分类

XSS根据效果的不同,可以分为存储型XSS、反射型XSS,DOM型XSS。

存储型

攻击代码在服务器端(数据库),输出在http响应中。
比较常见的场景是,黑客写下一篇包含有恶意JavaScript代码的博客文章,文章发表后,所有访问该博客的用户,都会在他们的浏览器中执行这段恶意js代码。

这里写图片描述

这里写图片描述

这里写图片描述

反射型

攻击代码在URL里,输出在http响应中。黑客往往需要诱使用户“点击”一个恶意链接,才能攻击成功。

反射型XSS攻击过程
这里写图片描述

DOM型

从效果上来说,也属于反射型XSS。
攻击代码在URL里,输出在DOM节点中。

这里写图片描述

这里写图片描述

不同类别之间的区别
这里写图片描述

实战

环境准备

这里写图片描述

phpstudy

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述
MySQL中root用户默认密码root

DVWA

DVWA(Damn Vulnerable Web Application)是一个用PHP编写的用来进行安全脆弱性鉴定的PHP/MySQL Web

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值