XSS跨站脚本漏洞(绕过篇)

本文详细介绍了XSS跨站脚本漏洞的绕过方法,从基本的攻击方式到如何应对各种过滤策略,包括使用事件触发、字符变形、大小写混淆等手段,揭示了防御XSS攻击的弱点,并提出改进防御措施的建议。

前面我们提到XSS,对于一个基本的XSS漏洞页面,它发生的原因往往是从用户输入的数据到输出没有有效的过滤,就比如下面的这个范例代码。

<?php
$a = $_GET['a'];
echo $a;
?>

对于这样毫无过滤的页面,我们可以使用一些简单的恶意脚本即可完成攻击,但是事实上,为了应付XSS的攻击,我们会采用黑名单技术对一些特殊字符进行过滤,包括一些敏感的函数。但是这样一来就会严重限制用户的输入,影响用户的体验。

% * + , – / ; < = > ^ | `
on\w+=
script
svg
iframe
link

总结:

1、最基本的攻击,我们看到这是用get的形式提交一个name值,然后显示到浏览器上,

我们输入【<script>alert('XSS')</script>】,即可使其弹窗

2、当输入代码后没有提示任何异常信息,我们的输入缘分不动的被抛出,可以看到浏览器并没有执行我们的代码,而是当做了字符串,我们猜测这是在属性位置,这里我们需要构造闭合来提前结束。

"><script>alert('XSS')</script>

3、这里我们输入一般的脚本语句,发现并不会被执行,换一种思路我们使用触发事件来进行弹窗,一般使用的事件函数大家可以百度一下,就相当于把弹窗的动作赋给事件函数,当浏览器执行事件时就会进行弹窗的动作。

'onclick='alert(1)       //加上闭合
一般常用的事件格式:
<img src="" onerror="alert(/xss/)"/>
<iframe src="" onload="alert(1)"></iframe>

查看源码:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值