zoukankan      html  css  js  c++  java
  • xss小总结

    xss漏洞

    反射型:url被插入恶意代码,服务端将url中的代码输出到页面。攻击者可以将带有恶意代码的url发送给用户,用户打开后受到攻击。最后代码插入在html中。
    存储型:恶意代码被存储到数据库,文件等中,当数据被访问时触发。最后代码插入在html中。
    dom型:url被插入xss代码,前端页面直接从url中获取代码并输出到页面。攻击者将含有xss代码的url发送给用户,用户打开后受到攻击。最后代码插入到前端js代码中。

    xss基本过程

    根据所在位置构造相应的代码,一般为闭合相应标签,也可以用一些事件来进行触发闭合,如onmouseover=alert() onclick

    • 一些表单可能通过bp截断
    • 一些表单输入可能有限制,可以修改源码设置的长度大小
    • 利用javascript伪协议,如javascript:alert()
    • 如果一些有过滤机制,可以采用双写绕过,编码绕过(转换成16进制绕过,一些编码绕过如unicode),空格绕过,大小写绕过,用%0a,%0d代替空格等
    • 在ie浏览器中``可以闭合双引号
    • 利用css触发,background:url("javascript:alert(document.domain);");只在部分ie中有效
    • 在css中可以利用注释符绕过对一些字符的过滤xss:expres/**/sion(if(!window.x){alert(document.domain);window.x=1;})css中的expression叫做动态属性,后来被取消,一些悬浮的模块可能仍采用此
      较全的绕过总结https://blog.csdn.net/keepxp/article/details/52054388

    • 源:包括协议,主机名,端口号
    • 同源策略:阻止页面的恶意代码去访问非同源的页面
    • domain属性解决因同源策略带来的不同文档的属性共享问题

    防御xss的几个函数

    • setcookie,通过将参数设置为true可以使cookie不能被js获取
    • htmlspecialchars()将html标签以实体输出
    • htmlentities()与上相同
    • escapeHTML()
    • strip_tags将标签去除
    • 对json内容的转义escapeEmbedJSON()
    • 可以自定义xss过滤器
    • 应该关注新出现的html标签,可能这些标签还没有被过滤,可能触发xss

    xss位置

    • get型url中的xss:如果get提交的参数显示到页面中,可能就有xss漏洞
    • post型表单中的xss:表单提交的数据显示在表单中
    • json中的xss:json是一种轻量级的数据交换格式,易于人阅读和编写,易于网络传输,最常用的格式为键值对
    • 自定义的http头的参数显示在页面中

    常用xss注入标签

    <script>,定义客户端脚本
    <img src=>,规定显示图像的 URL
    <body background=>,规定文档背景图像URL
    <body onload=>,body标签的事件属性
    <input onfocus= autofocus>,form表单的事件属性
    <button onclick=>,击键的事件属性
    <link href=>,定义外部资源链接
    <object data=>,定义引用对象数据的 URL
    <svg onload=>,定义SVG资源引用
    
  • 相关阅读:
    iptables之NAT端口转发设置
    Windows server 2008 R2远程桌面3389端口号修改
    Nginx启动错误:error while loading shared libraries: libpcre.so.1
    sp_change_users_login 'Update_One', '用户名', '登录名';
    Sqlserver 数据库定时自动备份
    ES DSL 基础查询语法学习笔记
    kafka命令使用
    kafka集群中常见错误的解决方法:kafka.common.KafkaException: Should not set log end offset on partition
    快速排序法(双冒泡排序法)
    运算符
  • 原文地址:https://www.cnblogs.com/Qi-Lin/p/11338206.html
Copyright © 2011-2022 走看看