zoukankan      html  css  js  c++  java
  • 简单的xss注入和防御

    什么是xss注入:

      xss通常就是通过巧妙的方法注入指令到指定页面,使用户加载执行的恶意的js(或者其他类型)的代码,攻击者会获取用户的一系列信息,如cookie等,从而进行其他用户信息的盗取

    为什么会产生xss:

      和sql注入一样,对用户输入的绝对信任,没有对用户输入做绝对的过滤

    xss注入实现:

      在提交的输入框中放入我们的<script>标签

      

      提交之后结果:

      

      查看网页源代码:果然,后台代码没有对我们提交的代码做修改,直接解释为html代码执行,会产生以下效果 

      

      这只是一个简单的弹窗,要是换成cookie的发送呢?就可以用户在不知情的情况下,获取到用户的cookie,从而冒充用户登录

    xss的防御:

      1.后台过滤长度过滤

      2.xss的防御最重要的一点,也就一点就足够了,就是将用户输入的所有字符都转义为html实体(<  ---&lt;)显示,因为xss注入不管是标签注入还是属性注入,都需要<或者引号的支持,和防御sql注入一样,将本次所有的输入替换成value的值就可以

    防御代码:将用户用户输入的所有参数转换为HTML实体即可

      

  • 相关阅读:
    常用DOS命令大全2
    常用DOS命令大全1
    2020年3月13日Java面试记录
    MySQL Transaction--Sprint中访问只读从库的设置
    MySQL Transaction--TPS计算规则
    MySQL Inport--导入数据
    MySQL Export--导出数据
    MySQL--InnoDB并发线程控制
    MySQL--线程池(Thread Pool)
    MySQL 5.7--复制延迟监控
  • 原文地址:https://www.cnblogs.com/KHZ521/p/12128549.html
Copyright © 2011-2022 走看看