Sunday, 29 November 2015

SSRF

Нашел SSRF на http://regex.info/exif.cgi, причем искал абсолютно другую уязвимость. Пытался найти XSS через EXIF ну или SSRF через EXIF, а вышло вот как =)

Существует вообщем там возможность посмотреть exif данные своей картинки. Можно загрузить, а можно дать ссылку на изображение. Картинка судя по всему тянется LWP.

Например:
> file:/etc/passwd
file:/etc/passwd doesn't seem to be an image file: Unknown file type

> file:/bin/bash
Описание EXE файла с размером, CPU  и архитектурой.

> gopher://localhost:22
gopher://localhost:22 is a web page, not an image.

> gopher://localhost:9896
couldn't fetch gopher://localhost:9896: [500 Can't connect to localhost:9896]


То есть можем допустим просканировать внутреннюю сеть на предмет открытых портов. Кстати изнутри их на 2 больше чем снаружи.
Или затестить мой проект for fun eggplant-tag, правда не совсем по назначению, но чем не способ) Вот тут можно его попробовать: http://eggplant-tag.appspot.com/

Или вот результат для вот этого тега:
2015-11-28 13:35:12.451140
Remote address: 67.221.35.252

Host: eggplant-tag.appspot.com
User-Agent: Jeffrey's Exif Viewer (http://regex.info/exif)
X-Appengine-City: san jose
X-Appengine-Citylatlong: 37.339386,-121.894955
X-Appengine-Country: US
X-Appengine-Region: ca


Говорят, что gopher-ом можно формировать любые TCP пакеты, но я так не умею. И что то пока не до этого =). 

Ну а вообще можно использовать все протоколы, которые поддерживает LWP через GET.

Если кто умеет такое использовать -- расскажите. Уязвимость мы с автором вроде пофиксили, в два этапа...но может, что  еще открытым осталось.

Thursday, 22 October 2015

Data receiver 2015

Иногда требуется получить какие-то с веб страницы, когда с ней взаимодействует человек. Например, если это XSS. А еще удобнее получить эти данные на почту.

Для решения этой задачи несколько лет назад я написал утилитку, которую захостил на Google App Engine. Пришло время делится. Утилитка немножко приведена в порядок перед подачей на стол =)

Как пользоваться:
1) Тянем себе репозиторий https://github.com/frydaykg/data-receiver;
2) Создаем себе application на https://appengine.google.com/ или развертываем подходящую среду, где нибудь еще;
3) Меняем файл app.yaml и settings.py под себя;
4) Аплоадим приложение;
5) Используем приложение;
6) PROFIT!!!

Что делать если приложение не устраивает!? Вариантов несколько:
1) Клонируем репозиторий, коммитим нужный функционал, кидаем пулл реквесты;
2) Пишем свое приложение, разочаровываемся, возвращаемся к пункту 1;
3) Выпиваем яду и не возвращаемся =)

Что по хорошему можно добавить:
1) Возможность расширения количества почт с которых идет отправка;
2) Возможность персистить данные в базе и  потом просматривать в своем личном кабинете.

А как пользоваться? Читаем все в src\default.html или README!

Tuesday, 11 August 2015

Почему надо делиться знаниями

В школе мне не нравилось делиться знаниями. Казалось, что обладая локально-уникальными знаниями, ты становишься этаким Гарри Поттером или Нео, которому все можно.
Отчасти это так и иногда это даже хорошо, но обычно до определенного этапа, на котором ты замораживаешься и все. Все, что ты дальше делаешь, так это торгуешь своей кучкой знаний. никакого творческого роста, зато мы звёзды!

Благо мое мировоззрение изменилось, и теперь передавая свои знания, я могу быстрее находить себе подмогу, замену для повышения своей позиции, получать новый опыт во время дележки и удовлетворение от того, что делаешь мир чуточку лучше %) Правда все это не учитывает случаев вселенской несправедливости, но куда без нее.

Поэтому держите, хороший обобщенный материал по масштабируемым и распределенным системам:
http://www.aosabook.org/en/distsys.html

По крайней мере дальше понятно куда копать и что использовать :) Приятного прочтения

Monday, 27 July 2015

В чем ошибка на фото?

Одна ошибка стопроцентна, остальные можно обсудить. Жду ответов в комментах :)


Friday, 17 July 2015

XSS challenge

Прикольная браузерная игра от Google. Держите https://xss-game.appspot.com/
Прохождение занимает минут 40, в последнем самое сложное было:


Хоть квест и простенький, но все равно пройти стоит :)

Как будет время, напишу о кризисе кыргызской веб разработки и о том как они множат баги и соорудили себе хрень с кучей хранимых XSS.

Wednesday, 24 June 2015

Баунти: райское наслаждение или баг хантинг

Сейчас развелось очень много программ по поощрению поиска уязвимостей за которые выплачиваются компенсации. Но для получения профита не обязательно находить уязвимость и не обязательно профит будет деньгами. Например, как то я отписал в Beeline, что неплохо было бы позволять использовать платежные гейты банков при нулевом балансе, а то выходила странная фигня, вроде можешь пользоваться сайтом билайна, начинаешь оплату картой и встаешь на этапе выбора способа верификации оплаты. Через какое-то время предложенную фичу ввели, я получил возможность поплнять свой счет в любом месте с GPRS. А кто то  в билайне может получил премия за увеличение количества платежей %)) 


Это был пример нормального отношения. А бывают ребята, которым пишешь о уязвимостях на их ресурсах, а в ответ -- тишина. Возможно дело в том, что письмо приходит к низкоквалифицированным разгребателям почты и оно уходит с пометкой "какая-то фигня".  Наверное надо в таких случаях стоит писать не только в info@company.com, а еще и в cto@company.com, и может будет результат =) И высшим наслаждением в таких случаях было бы исправление уязвимости, а не 300 звездочек, новый уровень в Candy Rush или 100$ на счет.

Ищите, пишите и получайте удовольствие!