XSS漏洞

一、XSS漏洞概述

XSS全称跨站脚本,为不和层叠样式表的缩写混淆,故缩写为XSS,比较适合的方式应该叫跨站脚本攻击。

跨站脚本攻击是一种常见的web安全漏洞,它主要是指攻击者可以在页面中插入恶意脚本代码,当受害者访问这些页面时,浏览器会解析并执行这些恶意代码,从而达到窃取用户身份/钓鱼/传播恶意代码等行为。

二、XSS漏洞原理

<?php
ini set("display_errors", 0);
$str = $_GET["name"];
echo"<h2 align=center>欢迎用户".$str."</h2>";
?>

本质:主要用户输入的内容填充在web页面中,改变了html代码的语义,从而可执行恶意js代码。

功能:代码功能主要获取name,然后讲name打印出来

正常用户:test

<h2 align=center>欢迎用户test</h2>

攻击者:

test<script>alert(1)</script>
<h2 align=center>欢迎用户test<script>alert(1)</script></h2>

1.XSS常见payload:

<script>alert(1)</script>
"><script>alert(1)</script><"
<img src=#onerror=alert(1)>
<svg onload=alert(1)>
<iframe/src="data:text/html;base64,PGJvZHkgb25sb2FkpWfsZXJ0KEDEppg=='>

事件触发:

  • onerror
  • onclick
  • onmouseover
  • onload
  • oncut

执行的事件

  • alert()
  • confirm()
  • prompt()
  • console.log()

三、XSS漏洞类型

  • 反射型
  • 存储型
  • DOM型
  • 其他类型
  • MXSS突变型XSS UXSS通用型XSS Flash XSS UTF-7 XSS MHTML XSS CSS XSS VBScript XSS
  • 其中UTF-7、MHTML XSS、CSS XSS、VBScript XSS 只在低版本IE中可以生效

1.XSS漏洞类型-反射型XSS

说明:用户提交的数据经过服务器,不经过数据库直接将数据返回到前端页面。

<?php
ini set("display_errors", 0);
$str = $_GET["name"];
echo"<h2 align=center>欢迎用户".$str."</h2>";
?>

在文本框中输入:test<script>alert(1)</script> 

2.XSS漏洞类型-存储型XSS

说明:存储型XSS也叫持久型XSS,存储的意思就是Playload是有经过存储的,当一个页面存在存储型XSS的时候,XSS注入成功后,那么每次访问该页面都将触发XSS,如留言板、文章编辑等功能

  1. 留言内容存储到数据库
  2. 用户查看时从数据库中提取
  3. 内容展示在页面

3.XSS漏洞类型-DOM型XSS

通过修改页面的DOM节点形成的XSS,称之为DOM Based XSS。从效果来说,也是反射型。

反射型或存储型就是服务端将提交的内容反馈到了HTML源码内,导致触发XSS。也就是说返回到HTML源码中可以看到触发XSS的代码

DOM型XSS只与客户端上的JS交互,也就是说提交的恶意代码,被放到JS中执行,然后显示出来。

4.XSS漏洞利用-Cookie盗取

这里使用的是清华网安战队蓝莲花自开发的一个软件,可以直接拿写好的Javascript语言生成playload直接进行XSS攻击,从而获取网站的Cookie

5.XSS漏洞利用-BEEF

Beef(The Browser Exploitation Framework Project)是WEB框架攻击平台。Beef利用简单的XSS漏洞,通过一段编写好的Javascript(hook.js)控制,目标主机的浏览器,通过目标主机浏览器获得该主机的详细信息,并进一步扫描内网,配合metasploit绝对是内网渗透一大杀器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值