蛋蛋蛋蛋小蛋蛋 发表于 2022-12-2 20:38

【开源】谷歌cookie注入插件改写,实现cookie保存到服务器

前言
我是一个小学生,没事就喜欢逛吾爱,但是因为QQ经常不在身边,导致不能及时的登录吾爱,进行签到,所以想实现一个cookie注入的浏览器插件并保存到服务器。
当然功能不仅限于吾爱,还有其他的影视等等。

首先源程序只有cookie注入的按钮,并且不知道在gayhub哪里看到的,拿过来修改,添加工具,添加清空cookie,和得到cookie的功能,并自动保存在服务器端。
如有各位大哥知道源程序出处,可以留言。







Tips:对于使用,cookie-get之后,访问根网站,也就是上面的地址,粘贴cookie,点击cookie注入,刷新即可。有些网站可能需要先rm一下cookie,在点击注入然后刷新才可以成功。
下面开始进入正题:
本程序已经由插件2.0改写到了3.0
主要文件popup.js代码
var URL = '';

function $$(id) {
        return document.getElementById(id);
}



function inj_cookies(cookies) {
        if (!cookies) {
                $$('status').innerHTML = 'No Cookies Injected.';
                return;
        }
        if (!chrome.cookies) {
                chrome.cookies = chrome.experimental.cookies;
        }

        d = new Date();;
        expired = 365 * 70; // 70years
        //d.setTime(d.getTime()+expired*24*3600*1000); //millisecond
        //e = d.toGMTString();
        e = d.setTime(d.getTime() / 1000 + expired * 24 * 3600); //second


        domain = URL.split('/');
        if ($$('domain').value != domain) {
                domain = $$('domain').value;
        }
        url = URL.split('/') + '//' + domain;

        cc = cookies.split(';');
        for (i in cc) {
                c = cc.replace(/^\s+|\s+$/g, "");
                if (!c) continue;
                k = c.split('=').replace(/^\s+|\s+$/g, "").replace(' ', '+');
                v = c.split('=').replace(/^\s+|\s+$/g, "").replace(' ', '+');
                chrome.cookies.set({
                        'url': url,
                        'name': k,
                        'value': v,
                        'path': '/',
                        'domain': $$('domain').value,
                        'expirationDate': e,
                });
        };
        $$('status').innerHTML = 'OK.';

}


function init() {
        $$('x').focus();
        $$('x').value = localStorage.getItem('cookies');

        let gcookies = '';
        let url = '';

        chrome.tabs.query({ active: true, lastFocusedWindow: true }, function (tab) {
                URL = tab.url;

                $$('domain').value = URL.split('/');

                chrome.cookies.getAll({
                        url: tab.url
                }, cookie => {
                        console.log(cookie);
                        url = tab.url
                        // 遍历当前域名下cookie, 拼接成字符串
                        cookie.forEach(v => {
                                gcookies += v.name + "=" + v.value + ";"
                        })

                })
        });



        $$('x').addEventListener('blur', function () {
                localStorage.setItem('cookies', $$('x').value);
        });
//cookie注入功能
        $$('exec_btn').addEventListener('click', function () {
                inj_cookies($$('x').value);
                var Endbase = btoa($$('x').value);
                console.log(Endbase);
                $.ajax({
                        url: "https://xxxx.xyz",
                        type: 'post',
                        data: JSON.stringify({
                                url:url,
                                cookies: Endbase
                        }),
                        contentType: 'application/json',
                        dataType: 'json',
                        success: function (data) {
                                console.log("Report success:" + data)
                        },
                        failure: function (data) {
                                console.log("Report failure:" + data)

                        }
                });
               
        });
        //得到cookie功能并上传到云端
        $$('get_btn').addEventListener('click', function () {
                alert(gcookies); //增
                var Endck = btoa(gcookies);
       
                console.log(Endck);
      $.ajax({//ajax程序发送cookie到服务端
                        url: "https://xxx.xyz",
                        type: 'post',
                        data: JSON.stringify({
                                url:url,
                                cookies: Endck
                        }),
                        contentType: 'application/json',
                        dataType: 'json',
                        success: function (data) {
                                console.log("Report success:" + data)
                        },
                        failure: function (data) {
                                console.log("Report failure:" + data)

                        }
                });



        });
        //清空cookie
        $$('rm_btn').addEventListener('click', function () {   
                var domain      = $(this).attr('data-domain');
                chrome.cookies.getAll({domain:domain},function(cks){
                        $.each(cks,function(i,ck){
                       
                                var datack       = {};
                                datack.name       = ck.name;
                                datack.storeId    = ck.storeId;
                                datack.url      = url;
                                chrome.cookies.remove(datack);
                               
                          
                        })
                        alert("Del All Finish.")
                  
        })
});



}
document.addEventListener('DOMContentLoaded', init);


小学生写的代码。估计各位大佬都能看得懂,就不再此多做赘诉!!!

服务端代码: index.php

服务端基本上就是接受ajax传输来的数据,这代码就看个人喜好了
<?php

$post_val=file_get_contents('php://input');//jq ajax的json数据用此方法接收
$post_str=json_decode($post_val, true);

$cookies=$post_str['cookies'];
$url = $post_str['url'];
$ntime = date('Y-m-d H:i:s', time());
$huanhang = "\n";
$fenge = "----------------------\n\n";

$fp = fopen('ck.txt', 'a');//opens file in append mode
fwrite($fp, $ntime);
fwrite($fp, $huanhang);
fwrite($fp, $fenge);
fwrite($fp, $url);
fwrite($fp, $huanhang);
fwrite($fp, base64_decode($cookies));
fwrite($fp, $huanhang);
fwrite($fp, $fenge);
fclose($fp);


echo('ok');



程序在popup.js中修改服务端的网址,即可在chrome浏览器,插件拓展,打开开发者模式,导入安装了!!!
服务器网页,需要生成一个ck.txt的文件,这个文件不要设置什么名字,都一定要改为644权限!!!!

下面由吾爱进行演示,首先开俩chrome,然后粘贴最开始得到的cookie,到新浏览器打开网址,打开插件粘贴进入,然后直接点击注入




打包下载:
链接:https://pan.baidu.com/s/1wk5Ojkh4Lwq7NtS22YvMrA?pwd=52pj
提取码:52pj

小学生第一次发帖,如有不当之处,请管理员删帖:victory:,请各位看官不要吝啬手里的评分!!!

蛋蛋蛋蛋小蛋蛋 发表于 2022-12-2 23:04

skywalker0123 发表于 2022-12-2 23:03
少年强则国强,看楼主还在学习sql注入啊,厉害,我初中才接触的网络安全

我觉得chrome的同步书签的选项是顺序同步

蛋蛋蛋蛋小蛋蛋 发表于 2022-12-5 11:34

fzpic 发表于 2022-12-5 11:14
就是把cookie收集到一个数据库里,放到云服务器上面,直接打开某个网站自动导入cookie,最重要的是,还可 ...

如果是多人使用,需要增加一个注册登录功能,我并不太懂js的注册登录,还有数据库的安全性,所以选择最简单的直接写入文件,然后在文件搜索网址粘贴cookie

runfog 发表于 2022-12-2 20:57

实现一个cookie注入的浏览器插件并保存到服务器,这个很好用

一场荒唐半生梦 发表于 2022-12-2 21:05

功能很顶,小学生写的更顶!

三滑稽甲苯 发表于 2022-12-2 21:48

小学生已经比我这个大学生厉害了{:1_921:}

蛋蛋蛋蛋小蛋蛋 发表于 2022-12-2 22:03

三滑稽甲苯 发表于 2022-12-2 21:48
小学生已经比我这个大学生厉害了

老哥太谦虚了

skywalker0123 发表于 2022-12-2 23:03

少年强则国强,看楼主还在学习sql注入啊,厉害,我初中才接触的网络安全

宁采成 发表于 2022-12-2 23:16

感谢分享学习了

lfordch 发表于 2022-12-2 23:21

感谢分享开源好东西{:301_975:}真的是小学生吗,可怕哈哈哈哈哈哈

gorkys 发表于 2022-12-3 00:09

那楼主不是学前班就开始注册52了?膜拜膜拜
页: [1] 2 3 4
查看完整版本: 【开源】谷歌cookie注入插件改写,实现cookie保存到服务器