Как стать автором
Обновить

По горячим следам: как обходили PT Application Inspector на Standoff 11

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.3K
Всего голосов 3: ↑2 и ↓1+2
Комментарии2

Комментарии 2

О, круто, это значит Python уже крутится на универсальном символическом движке?

По поводу кода - какие есть причины писать такой сложный динамический импорт? Не лучше ли здесь предупреждать о сложном и неподдерживаемом коде? Я думаю даже в статических языках можно наворотить всякого с рефлексией, что любой анализатор не справится.

Скрины с кодом - не очень удобно, не смог скопировать импорт для цитирования :(

Да, обновленный анализатор для Python уже в релизе.

Вызов метода __import__ встречается в пользовательском коде, необходимо его поддерживать. Привычный import работает с идентификаторами, а вызов метода __import__ принимает на вход строковый литерал, атакующие этим воспользовались. Учтем :)

Стоит упомянуть, что другие аргументы данного метода позволяют указать области видимости в контексте интерпретируемого пакета, список импортируемых объектов, абсолютный или относительный импорт. Результат импорта вместо добавления в текущий локальный скоуп является возвращаемым значением функции. Подробнее можно прочитать в документации.

Та самая команда:

__import__(b"\xff\xfes\x00u\x00b\x00p\x00r\x00o\x00c\x00e\x00s\x00s\x00".decode('utf-16').check_output(*CMD*).decode()

Зарегистрируйтесь на Хабре, чтобы оставить комментарий