简单了解WEB漏洞-XSS跨站
简单了解WEB漏洞-XSS跨站
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
XSS跨站漏洞产生原理,危害,特点
原理
变量接收数据的时候没有进行过滤(可以对变量传输恶意代码进行执行)
变量接收数据后进行输出而刚好接收到的是恶意代码→执行恶意代码从而带来危害
#演示代码
<?php
$xss = $_GET['x']
echo $xss
?>
http://127.0.0.1/test.php?x= #对x提交恶意代码
危害影响
通过执行JS脚本可以获取到网站相关信息
特点
产生层面:变量再前端进行传输因此XSS经常发生在前端
函数类:由输出类函数所造成
浏览器内核版本:部分安全策略较高的浏览器会阻止js脚本的执行 目前已知IE浏览器不可执行 opera chrome edge均可执行
XSS跨站漏洞分类:反射,存储,DOM
反射型
不会储存在网站数据库中 危害程度较小
只会在利用xss漏洞的时候触发一次并不会对后续产生影响
发送数据 x=xss ==> xss.php ==> 显示到前端
存储型
会储存在网站数据库中 危害程度较大
若访问到存在存储型XSS漏洞的页面直接就会触发恶意代码(看一眼就怀孕)
只有把代码删除才会得到解决
发送数据 x=xss ==> xss.php ==> 储存到数据库 ==> xss.php ==> 显示到前端
DOM型
HTML DOM树
详情了解JavaScript HTML DOM (w3school.com.cn)
发送数据 x=xss ==> 本地浏览器静态前端代码 ==> xss.php ==> 显示到前端
DOM没有经过后端代码处理
# pikachu靶场DOM型XSS部分源码
# 传递过来的text参数经过该参数来处理