跨站脚本攻击

一.什么是跨站脚本攻击

是代码注入漏洞的一种,使得攻击者可以通过巧妙的方法向网页中注入恶意代码,导致用户浏览器在加载网页等文档时会执行攻击者的恶意代码。

二.常见XSS漏洞分类

1.按漏洞成因:反射型,存储型,DOM型;

   依照输出点的位置:输出在HTML属性中,输出在CSS代码中,输出在JavaScript中

(1)反射型XSS

XSS代码作为客户端输入的内容提交给服务端,服务端解析后,在响应内容中返回输入的XSS代码,最终由浏览器解析执行。

<?php
echo 'you input:' . $_GET['input'];
?>

客户端输入的input值未经任何过滤便直接输出,所有攻击者可以提交:

http://example.com/xss.php?input=<script>alert(/xss/)</script>

alert是弹窗,在测试中,弹窗比较温和,对实验环境破坏小; 

结果为/xss/;

(2)存储型XSS

存储型XSS代码会存储在服务端(服务端会将其存储于数据库中),下次请求该网页时不需要再次提交XSS代码。、

(3)DOM XSS

DOM XSS的XSS代码不需要服务端解析响应的直接参与,触发XSS的是浏览器端的DOM解析。

http://example.com/dom.html#<img src=x onerror='alert(/xss/)'>

结果为/xss/;

(4)输出在HTML标签中

XSS攻击Payload输出在HTML属性中时,攻击者需要在闭合相应的HTML属性后注入新属性,或者在闭合标签后直接注入新标签;

(5)输出在CSS代码中

(6)输出在JavaScript代码中

三.防护与绕过

(1)特定标签过滤

(2)事件过滤

(3)敏感关键字(字符)过滤

a.字符串拼接与混淆

b.编码解码

c.location.*,window.name

d.过滤“()”

e.过滤空格

f.svg标签

(4)字符集编码导致的绕过

a.古老的UTF-7与US-ASCII

b.宽字节

c.一些特殊的字符

(5)长度限制

(6)HttpOnly绕过

a.CVE-2012-0053

b.PHPINFO页面

c.Flash、Java

(7)XSS Auditor绕过

(8)内容安全策略(CSP)绕过

a.CSP配置错误

b.unsafe-inline下的绕过

c.严苛规则script-src 'self'下的绕过

d.CRLF导致的绕过

四.危害与利用技巧

XSS漏洞可以实现的功能包括但不限于:

a.窃取用户Cookie信息,伪造用户身份

b.与浏览器DOM对象进行交互,执行受害者所有可以执行的操作

c.获取网页源码

d.发起HTTP请求

e.使用HTML5 Geolocation API获取地理位置信息

f.使用WebRTC API获取网络信息

g.发起HTTP请求对内网主机进行扫描,对存在漏洞的主机进行攻击

五.XSS相关工具及使用

1.Brute XSS:暴力注入XSS工具,用于暴力注入一个参数

下载BruteXSS:https://github.com/rajeshmajumdar/BruteXSS.git(需要搭载python环境)

2.BrupSuit;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值