【Web篇】(6.3) ❀ 08. 跨站脚本 - 反射型XSS ❀ FortiWeb 攻防演练

  【简介】跨站脚本(Cross-site scripting,简称:XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。从而使目标计算机收到危害。


     反射型XSS

  反射型XSS攻击是指注入的脚本从Web服务器反射出来的攻击,例如错误消息、搜索结果或包含作为请求的一部分发送到服务器的部分或全部输入的任何其他响应。

  反射型XSS攻击通过其他途径传递给受害者,例如在电子邮件中或在其他一些网站上。当用户被欺骗点击恶意链接,提交特制表单,甚至只是浏览恶意网站时,注入的代码会传播到易受攻击的网站,这会将攻击反映回用户的浏览器。然后浏览器执行代码,因为它来自“可信”服务器。反射型XSS有时也称为非持久性或II型XSS。

  安全等级 - Low

  将DVWA的安全等级切换到Low。

    ① 选择【XSS (Reflected)】,输入MG,点击【Submit】,下面会显示 Hello MG。点击【View Source】,查看数据库源代码。

    ② 分析源码,可以看到没有对参数name做任何的过滤。

    ③ 输入 <script>alert(123456)</script> ,点击【Submit】。

    ④ 可以看到有弹出视窗,显示指定的内容。

  安全等级 - Medium

  将安全等级升级为中级。

    ① 分析源代码可以看到,使用str_replace函数将字符 ‘<script>' 转换为NULL,由于这个函数只执行一次,因此有多种方法可以绕过。

    ② 输入 <sc<script>ript>alert(123456)</script> ,点击【Suibmit】。

    ③ 将 '<script>' 标签双写绕过,只能过滤一次,这就达成了我们目的。

    ④ 输入 <Script>alert(123456)</script> ,点击【Suibmit】。

    ⑤ 使用大小写混淆的方法,也可以成功的绕过。

  安全等级 - High

  将安全等级升级为高级。

    ① 分析源代码可以看到,使用了 preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i' 正则表达式来过滤,这样就不能再用大小写和重写来绕过了。

    ② 输入 <img src="" οnerrοr="alert('123456')"> ,点击【Suibmit】。

    ③ 虽然无法使用<script>标签注入XSS代码,但是可以通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码。这样就会避免出现<script>标签被正则表达式匹配到。

  安全等级 - Impossible

  将安全等级升级为不可能。

    ① 分析源代码可以看到,使用了 htmlspecialchars()函数,这个函数的功能是把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体。这样将<>这两个标签字符变为html实体我们就无法构造标签进行混淆攻击了。

  FortiWeb 防护

  FortiWeb可以阻止这一类的攻击。

   ① 这次我们访问192.168.1.128,也就是经过FortiWeb保护的DVWA,安全选择Low,输入一段注入代码,看看会发生什么。

    ② 访问被FortiWeb成功的阻止了。

     ③ 登录FortiWeb,选择菜单【日志和报表】-【攻击】,点击【添加过滤器】。

    ④ 选择【消息ID】。

    ⑤  选择阻止页面上显示的消息ID。

    ⑥ 显示XSS攻击被FortiWeb阻止了。如果有了FortiWeb,这样大部分因为代码产生的漏洞安全问题,就可以有效的解决了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞塔老梅子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值