简介
xxs(cross site script),跨站脚本攻击。它指攻击者往web页面中注入恶意代码,当用户浏览该页面时,嵌入其中web里面的HTML代码会被执行,从而达到特殊目的。
它与SQL注入攻击类似,SQL注入攻击以SQL语句作为用户输入,从而到达查询、修改、删除数据的目的。而在xss攻击中则是通过恶意脚本,实现用户浏览器的控制(例如获取用户信息)。
xss类型
根据攻击的次数可分为两种:
- 非持久性攻击;
- 持久性攻击;
非持久型xss攻击:
顾名思义,非持久型xss攻击是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的。
持久型xss攻击:
持久型xss,会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在。
根据攻击方式可分为三种:
- 反射型:经过后端,不经过数据库
- 存储型:经过后端,经过数据库
- DOM:不经过后端,DOM—based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞,dom - xss是通过url传入参数去控制触发的。
-
反射型
\\XSS反射演示 <form action="" method="get"> <input type="text" name="xss"/> <input type="submit" value="test"/> </form> <?php $xss = @$_GET['xss']; if($xss!==null){ echo $xss; }
这段代码首先包含一个表单,用于向页面自己 发送GET请求,带一个名为xss的参数。然后PHP会读取该参数,如果不为空。则直接打印出来,这里不存在任何过滤。也就是说如果xss中存在HTML结果的内容,打印之后会直接解释为HTML元素。在这时候表单输入
<script> alert('hack') </script>
页面会弹出hack;输入的js脚本就这样的被执行了。
数据流向:
反射型xss的数据流向: 流浪器 =》 后端 =》流浪器 -
存储型
存储性类似在表单中插入恶意代码,而被保存在数据空中。当查询这个值得实惠代码会被执行。
数据流向:
浏览器 -> 后端 -> 数据库 -> 后端 -> 浏览器 -
dom-xss
数据流向:
URL-->浏览器
网友评论