Monday, 7 October 2013

Вопрос на собеседовании #2

Задача в довольно большой, но не IT компании. Туда я вообще не прошел, так как шел на разработку в незнакомую область, но опыт прикольный =)

Задача:
Условие взял отсюда.
Есть односвязный список
struct List {
    int value;
    struct List *next;
} _list;

требуется написать функцию
bool isCycled(struct List *head);

определяющую, есть ли в списке цикл, при этом потребление памяти не должно зависеть от размера списка.



Saturday, 5 October 2013

Вопрос на собеседовании #1

Так как сейчас я занят поиском работы и мотаюсь по собеседованиям, то мне иногда задают вопросы, которые меня ставят врасплох. На некоторые мне удается ответить, на некоторые нет...буду писать их тут!

Задали вот этот в крупной(даже очень на мой взгляд) компании.
Вопрос:
Есть три точки в пространстве. Нужно найти уравнение нормали к плоскости ими образованной.


Wednesday, 30 January 2013

Facebook Hacker Cup: Qualification

Второй год пытаю шансы в данном соревновании. Почему пытаю? Да потому что вся надежда только на призрачные шансы, что кто-то лажанет и я пройду в уровень выше =) Как всегда никакой подготовки...вообщем пытаю шансы =)



В этом году начал решать довольно рано и в короткий промежуток времени перед уходом, написал первую задачу. Решение такое же, только не такое элегантное, как у авторов. Надо учиться использовать прелести Питона.

Потом перед вторым уходом решил написать вторую задачу, так как боялся глупого бага в первой. Долго тупил с решением, знал, что динамика...но динамику решать я не умею, в итоге написал рекурсивную штуку, которая по моим оценкам должна работать за максимум O(N*N). Но iensen, говорит, что там возможно O(N^3). В точной оценки сомневаюсь, но с ограничением N<=100, это не страшно :)
Судя по всему мое решение верное, но я спешил, накосячил с выводом и заговорился. И плакали в итоге мои 6 минут =)
Авторское решение прикольное, какое-то интуитивное, но не до конца понятное.

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

Поздравляю с прохождение квалы: Андрея Мохова, Евгения Балая и Александра Никифорова.

Увидимся в первом раунде. Надеюсь пройду его =)

P.S. футболок мало, до нее точно не доберусь =((

Monday, 14 January 2013

Обход капчи: promzona.kg

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



Зашел я зачем-то на сайт промы, а они дизайн поменяли, ну я и решился побродить по разделам. Зашел в курилку. Посмотрел на предмет XSS, комменты модерируются. Каптча --- простой пример. Вспомнил статью Антона Кирсанова об "обходе" капчи на сайте какой-то онлайн игрушки. На первый взгляд тут разброс результатов побольше.  Залез в код странички, опа:

<img src="../images/ciferki/1.gif" border="0" Alt="Введите ответ указанный на картинке" Title="Введите ответ указанный на картинке">

<input style="FONT-SIZE: 10px" type="hidden" size="10" name="kod_ciferki" value="1">

Ага! Хоть по названию картинки результат определяй, хоть по хайденному полю! Смотрим сколько всего картинок...22, от 1 до 21. Зная элементарную арифметику, скрипт написанный за 5 минут, может заспамить администрацию клубу. Лекарства для мужской силы конечно не порекламируешь, так как капча, но насолить можно.

Написал в курилку, заботит ли их безопасность каптчи на сайте. Жду ответа =)

Нашел еще одну багу, как такое использовать не знаю.
Вот она: http://promzona.kg/photo?id=8
Может даже и не как и нельзя, но не комильфо, в любом случае, какое-никакое раскрытие. Если кто знает, напишите. Мне интересно =)

Всем мир!

Wednesday, 19 December 2012

Обход запрета на исполнение внедренного JS кода в Google Chrome.

Вчера писал о проблеме исполнения внедренного кода в Chrome и IE.

Сегодня нашел решение проблемы в Chrome, все оказалось элементарно:

Внедряем конструкцию вида
<script type='text/javascript' src=''></script>
, и что удивительно, код исполняется!



Смотрим результаты двух внедрений
http://digip.info/xss.php?poop=%22%3E%3Cscript%3Ealert(1);%3C/script%3E //блокируется

http://digip.info/xss.php?poop=%22%3E%3Cscript%20type='text/javascript'%20src='http://digip.info/foo'%3E%3C/script%3E  //исполняется

К сожалению, а может к счастью в IE 9 такое не прокатывает, буду искать пути =)

Tuesday, 18 December 2012

Namba. XSS продолжение.

Касательно вчерашней XSS-ки. Захотелось разобраться почему не исполнялся JS код.

Оказывается это срабатывала встроенная защита chrome, firefox сосет и исполняет код.

Вот пост о методах защиты хрома:
http://blog.chromium.org/2010/01/security-in-depth-new-security-features.html

Как обойти еще не разобрался, думаю способ есть =)

Элементарный вроде <img onload='javascript:alert(1);'/> не отрабатывают %)

Namba.kz XSS

http://legalmovie.namba.kz/tag.php?tag='%3E%3C/iframe%3E%3Cimg%20src='http://lurkmore.so/images/1/13/Nigra1.jpg'/%3E

с исполнением JS что-то туго, если что завтра разберусь.