Вернуться   RDot > RDot.org > Статьи/Articles

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.12.2011, 04:29   #11
zuzzz
 
Регистрация: 24.02.2011
Сообщений: 75
Репутация: 7
По умолчанию

Магические методы работают только на PHP или другие языки программирования тоже подвержены "магии"?
zuzzz вне форума   Ответить с цитированием
Старый 02.12.2011, 10:24   #12
overxor
 
Регистрация: 14.10.2011
Сообщений: 73
Репутация: 90
По умолчанию

в pythonе есть класс pickle, точно работает.
в ruby библиотеки Marshal, JSON, YAML. Не уверен, но думаю должно работать.
__________________
[IO]
overxor вне форума   Ответить с цитированием
Старый 06.05.2014, 12:09   #13
d0znpp
 
Аватар для d0znpp
 
Регистрация: 09.09.2010
Сообщений: 484
Репутация: 252
По умолчанию

1. pickle в отличии от РНР вообще сразу дает RCE, так как поддерживает десериализацию кода - https://blog.nelhage.com/2011/03/exploiting-pickle/

2. java при десериализации можно порой указать свой classloader - это стреляет, например, для RMI - http://ru.1337day.com/exploit/16523

3. PHP принципиально не поддерживает десериализацию кода - только данных. Класслоадер тоже не будет работать, за исключением случаев, когда автолоад объявлен явно. В тему - spl_autoload_register() и http://www.php.net/manual/en/language.oop5.autoload.php. Я очень верил в десериализацию лямбд, когда они вышли (http://www.php.net/manual/en/functions.anonymous.php), но не выходит так - это зарезано умышленно:

Код:
  1 <?php
  2 
  3 echo serialize(function ($a){
  4 return 1;
  5 }
  6 );
Цитата:
Fatal error: Uncaught exception 'Exception' with message 'Serialization of 'Closure' is not allowed' in
a.php:6
Для РНР есть еще тип данных C - custom class при десериализации. Его можно использовать как альтернативу O (Object).
__________________
The Sucks Origin Policy
d0znpp вне форума   Ответить с цитированием
Старый 28.07.2017, 13:20   #14
crlf
 
Аватар для crlf
 
Регистрация: 29.09.2015
Сообщений: 98
Репутация: 17
По умолчанию

Есть мысль распарсить packagist.org и далее все архивы, для составления списка классов, которые можно будет использовать для брутфорса. Может у кого-то уже имеется нечто похожее, или, возможно, это можно как-то проще сделать?
crlf вне форума   Ответить с цитированием
Старый 31.07.2017, 15:52   #15
Beched
 
Регистрация: 06.07.2010
Сообщений: 393
Репутация: 118
По умолчанию

Цитата:
Сообщение от crlf Посмотреть сообщение
Есть мысль распарсить packagist.org и далее все архивы, для составления списка классов, которые можно будет использовать для брутфорса. Может у кого-то уже имеется нечто похожее, или, возможно, это можно как-то проще сделать?
Паша Топорков делал тулзу, но вроде не выложил в паблик:
https://www.slideshare.net/MailRuGroup/security-meetup-22-php-unserialize-exploiting

А недавно чуваки сделали схожее и выложили:
https://www.ambionics.io/blog/php-generic-gadget-chains
Beched вне форума   Ответить с цитированием
Старый 31.07.2017, 23:10   #16
crlf
 
Аватар для crlf
 
Регистрация: 29.09.2015
Сообщений: 98
Репутация: 17
По умолчанию

Цитата:
Сообщение от Beched Посмотреть сообщение
Паша Топорков делал тулзу, но вроде не выложил в паблик
Помню, смотрел где-то видео. Там докладчик обещал допилить и выложить, но что-то тишина

Цитата:
Сообщение от Beched Посмотреть сообщение
https://www.ambionics.io/blog/php-generic-gadget-chains
Эту тулзу тоже ковырял немного. Она для генерации пейлодов, да и не густо там ещё.

Мне нужен просто список, например:

Код:
Aboustayyef
Aeolu_Permissions
Girotecnics_Geonames
Ignaszak_Permissions
Jmoati_ExifToolBundle
Keboola_GenericExtractor
Kingofzihua_SaltAuth
Netlogix_CrowdClient
OAuth2
Pim_Bundle_DataGeneratorBundle
ScoutEngines_Elasticsearch
SocialAuth
Sopamo_Laravel4Seo
Webit_Bundle_PriceComparatorCeneoBundle
XdroidTeam_Translation
Так как несколько раз попадались случаи, когда есть нефильтруемый unserialize, но установить движок/либы не представляется возможным. Чаще всего есть отличие в ответах, т.е. если передать a:1:{i:0;O:9:"Exception":0:{}} получаем 200 OK, а на a:1:{i:0;O:9:"Exceptiox":0:{}} - 500. Если иметь в арсенале хороший листинг, то шансы на успех должны повыситься. Так как иногда удаётся что-то выжать из брутлиста для дир, типа Browscap/OAuth/OAuth2 и т.п.
crlf вне форума   Ответить с цитированием
Старый 18.08.2017, 15:45   #17
crlf
 
Аватар для crlf
 
Регистрация: 29.09.2015
Сообщений: 98
Репутация: 17
По умолчанию

Спарсил, с горем пополам Получилось не идеально, но за неимением лучшего, использовать можно.

Код:
./
├── all_class.txt (все названия классов без namespace)
├── all_namespace_class.txt (все namespace\class)
├── class.txt (классы, у которых namespace отсутствует)
├── namespace_class.txt (только классы с namespace, namespace\class)
├── list (списки с названиями либ)
│  ├── list_lib_names.txt
│  ├── list_names.txt
│  └── list.txt (для поиска, libname \t class || namespace\class || - )
└── other (namespace\class для различных фреймворков и cms, отделил что смог)
  ├── bitrix.txt
  ├── cakephp.txt
  ├── codeigniter.txt
  ├── contao.txt
  ├── drupal.txt
  ├── ezpublish.txt
  ├── illuminate.txt
  ├── joomla.txt
  ├── laravel.txt
  ├── magento.txt
  ├── mediawiki.txt
  ├── moodle.txt
  ├── phpbb.txt
  ├── silverstripe.txt
  ├── symfony.txt
  ├── typo3.txt
  ├── wordpress.txt
  ├── yii.txt
  └── zend.txt
Скачать

По одной штуке на каждую либу. При положительном результате, использовать list.txt для поиска соответствия.
crlf вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot