zoukankan      html  css  js  c++  java
  • Pikachu-XSS的herf输出、js输出

    一、xss之href输出                  

    源码:我们可以看到:

    输出在a标签的href属性里面,可以使用javascript协议来执行js
    防御:只允许http,https,其次在进行htmlspecialchars处理         提示十分明显,我们来试一下

    payload:    javascript:alert(666) 看成功了!

    注意:数字可以不用做任何处理,但是输入字母、汉字就要用单引号或者双引号闭合,也可以用/  /闭合,但是输出结果会有/  /,总之更多的是自己去试。

    那么在<a>标签里的 href作输出 的时候,有哪些防范措施:

    1、href一般是用来写超链接的,所以 我们可以在输入的时候仅仅  只允许http,https开头的协议,否则不允许输入;

    2、在进行htmlspecialchars处理。

    二、xss之js输出                    

    看一下界面:

     

    看一下后台源码:

    这里讲输入动态的生成到了js中,形成xss
    javascript里面是不会对tag和字符实体进行解释的,所以需要进行js转义

    构造闭合,把原本的<script>闭合掉,再插入我们自己的<script>

    输入:lili'</script><script>alert("xss")</script>

    通过这个实验,我们知道输出点在js中的xss问题,应该怎么进行修复:
    这里如果进行html的实体编码,虽然可以解决XSS的问题,但是实体编码后的内容,在JS里面不会进行翻译,这样会导致前端的功能无法使用。
    所以在JS的输出点应该使用对特殊字符进行转义

  • 相关阅读:
    eclipse配置
    TableViewComponent v2
    4500装机指南
    【翻译】Ext JS 4——Ajax和Rest代理处理服务器端一场和消息的方法
    【翻译】Ext JS——高效的编码风格指南
    JDK8帮助文档生成-笔记
    【翻译】在Ext JS 5种使用ViewControllers
    【翻译】Ext JS最新技巧——2014-5-12
    PS图像特效算法——百叶窗
    人脸表情识别常用的几个数据库
  • 原文地址:https://www.cnblogs.com/li2019/p/12652334.html
Copyright © 2011-2022 走看看