Последние комментарии

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


RandallDaw

Такой простой метод позволяет отсечь вымышленные координаты, которыми часто прикрываются мошенники, а также полюбоваться на заявленные места головных офисов. Этот простой метод не подвёл и с «Эсперио».

В футере сайта, а также в шапке клиентского договора указан один и тот же адрес на Сент-Винсент и Гренадинах: First Floor, First St. Vincent Bank Ltd Building, James Street, Kingstown. Здание действительно существует, и оно напрямую связано с финансовой системой. Находится в нём ровно то, что мошенники не удосужились вычистить из адреса: First St. Vincent Bank Ltd Building. То есть главный банк страны.

Несмотря на миниатюрность учреждения в карликовом государстве, офшорный банк не бедствует и уж точно не докатился до сдачи в аренду первого этажа здания всяческим проходимцам. Банкам по любым протоколам безопасности запрещается делить помещения с любыми арендаторами, поскольку это создаёт дополнительную уязвимость.

Ровно этим же адресом прикрылись лохоброкеры Pro Trend и Moon X. При этом признаков клонирования у этих ресурсов с Esperio нет, так что скорее мы имеем дело с новым популярным резиновым адресом. Выбор удачный: координаты ещё не растиражированы по сотням и тысячам сайтов, рисков, что на далёкий офшорный остров нагрянет русскоязычный клиент мало. Да ещё и поверхностная проверка через поисковик покажет, что адрес существует и там что-то про финансы. Так что для целей мошенников отлично подходит.

Чарджбэк для возврата средств на карту
Детальное руководство от экспертов
Не менее полезно проверять реальный стаж компаний. В большинстве случаев его выдаёт доменное имя. Esperio уверяет, что работает на благо трейдеров с 2011 года, однако проверка по доменному имени изобличает эту ложь. Сайт esperio.org пустили в дело только в мае 2022 года. Это зеркало, как и все прочие засветившиеся на скриншоте Центробанка РФ доменные имена лжеброкера, созданы в середине 2021 года. То есть лоховозка работает не более 1 календарного года. Впрочем, это солидный срок: большинство её коллег не преодолевают рубежа в несколько месяцев. Однако речи о солидном стаже и соответствии заявленному в легенде 2011 году не идёт.

Как чёрный брокер Esperio маскируется под нормального


Михаил Фленов

Нет


CrackCoder

Миш ты на go писал/пишешь?


Михаил Фленов

Даже imagecreatefromgif не даёт тебе полную гарантию, что файл корректный. Я для бусти записал уже видео и в пятницу или субботу оно будет опубликовано. Ты в другом комментарии ссылаешься на статью ch4inrulz, где основной причиной для взлома был всё же LFI. О нём я также уже говорил на бусти. Защищай от LFI, не давай TXT фалам выполнение на сервере и проблем не будет.


toorr2p

А как быть в принципе, если это не картинка, а например мы даем юзерам загружать к примеру тот же .txt, а в нем будет <php ... получается выход только использование директив Apache? Т.е на уровне PHP нет инструмента определить соответствие содержимого файла его типу (расширению) ?


Михаил Фленов

Похоже вместо getimagesize нужно пробовать создавать картинку методами imagecreatefromgif или imagecreatefromjpeg. Нужно будет обновить книгу.  

    $gifimage = imagecreatefromgif($_FILES['file1']['tmp_name']);
    if ($gifimage) {
        if($_FILES['file1']['size']) {
            move_uploaded_file($_FILES['file1']['tmp_name'], './filename.gif');
        }
    }


Михаил Фленов

Если есть защита от второго, то защита от первого не нужна. Для защиты от второго раньше использовали getimagesize. Сейчас я полез в документацию и там к сожалению написано:

Caution
This function expects filename to be a valid image file. If a non-image file is supplied, it may be incorrectly detected as an image and the function will return successfully, but the array may contain nonsensical values.

Сейчас написал тестовый пример и действительно, для некорректного файлы в PHP8 возвращаются мусорные данные, которые не работают. Неожиданно. На сколько я помню в 5-м PHP проверка работала. Сейчас поиграю с функцией.


toorr2p

Здравствуйте, вопросы по главе "5,1 Загрузка файлов на сервер"
1) Почему нет проверки $_SERVER['HTTP_REFERER']?
Ведь могут же сканером проходить по сайту, отыскивая формы с INPUT type="file" и грузить туда свои зловреды.

2) Также не понял, как защитится к примеру от загрузке шелла, под видом картинки GIF, описанной в этой статье "CTF-соревнование: взлом ch4inrulz (1.0.1)" на securitylab ru ? Я проверил, действительно все описанные проверки в главе не предотвращают от загрузки такого файла (shell.gif) с содержимым:

GIF98
<?php
echo $_SERVER["DOCUMENT_ROOT"];
?>

Код с проверками (из листинга главы)
<?php
$uplDstDir = $_SERVER['DOCUMENT_ROOT'] . '/upload';
$uplFileName = md5(microtime());

//Check file size
if(!$_FILES['file1']['size'])
    die("Error fail upload file!");

//Check file max size
if($_FILES['file1']['size']>300*1024)
    die("Error file size is larger 100kb!");

//If it’s a picture, check its width and height
$arrSize = getimagesize($_FILES['file1']['tmp_name']);
if(!$arrSize[0] || !$arrSize[1])
    die("Error image dimensions must not be zero!");

//Check file type
preg_match("'([a-z]+)\/[x\-]*([a-z]+)'", $_FILES['file1']['type'], $ext);

if(!in_array($ext[2], array('jpg', 'jpeg', 'gif', 'png')))
    die("Error file format not allowed!");

//Moving a file from a temporary directory to a permanent one
$uplFileName = "$uplDstDir/$uplFileName.$ext[2]";
if(!move_uploaded_file($_FILES['file1']['tmp_name'], $uplFileName))
    die("Error file not upload!");
?>

Просьба подсказать как с этим бороться.


Михаил Фленов

Поправил опечатку, там должно было быть слово "письмо"


Андрей Ше

Михаил, привет.
Можешь поправить начало этой статьи, может опечатка или часть текста пропала.
"Недавно получил само с вопросом о том, зачем нужны интерфейсы..."


О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне