白帽子讲web安全(XSS)学习笔记

  1. XSS攻击是什么

    通常指黑客通过“HTML注入”篡改网页、插入恶意脚本,从而在用户浏览页面是控制用户浏览器的一种攻击。

  2. XSS攻击类型

    反射型XSS:需要用户“点击”一个恶意链接,把用户输入的数据“反射”给浏览器,才能攻击成功。也叫做“非持久型XSS”(Non-persistent
    XSS) 存储型XSS:会把用户输入的数据”存储“在服务器端,有很强的稳定性,也叫做”持久型XSS“(Persistent XSS)
    DOM Based XSS:从效果上来说也是反射型XSS,因为形成的原因比较特别,且出于历史原因提出并单独作为
    一个分类。通过修改页面的DOM节点行程的XSS,称之为DOM Based XSS.

  3. XSS的防御

    因为通过窃取用户Cookie,可以在不使用登录密码的情况下,登陆进用户的账户,所以可以采取HttpOnly解决XSS后的Cookie劫持攻击
    使用HttpOnly示例:

<?php
 header("Set-Cookie: cookie1=test1;");
 header("Set-Cookie: cookie2=test2;httponly",false);
 ?>
 <script>`
  alert(document.cookie);
  </script>

输入检查,检查输入的格式等。输入检查的逻辑,必须放在服务器代码中实现,如果只是在客户端使用JavaScript进行输入检查,很容易被攻击者绕过。客户端的javascript的输入检查,可以阻挡大部分误操作的正常用户,从而节约服务器资源。
输出检查除了富文本(网站需要允许用户提交一些自定义的HTML代码,称之为”富文本“)的输出外,在变量输出到HTML页面时,可以使用编码或转义的方式来防御XSS攻击。
安全编码函数
在标签的选择上使用白名单,避免使用黑名单

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值