Home

Advertisement

~o~ [entries|archive|friends|userinfo]
slav0nic

[ website | blog ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| .:Home_page:. *PythonUA* ]

SIQ (icq server for win32) exploit [Apr. 26th, 2008|02:46 pm]
[Tags|, ]

Года 3 назад страдал фигнёй, пытаясь написать модуль для работы с ICQ, осилил только авторизацию и потерял интерес =)

Так вот, тестил я своё поделие на SIQ (http://www.kht.ru/homepage/apt/siq.htm) - простенький icq сервер от "профессионала, с большим опытом автоматизации бизнес-задач"(кстати opensource), но вот проверять длину uin'a видать не кошерно, а вот и зря..., как раз в то время страдал написанием сплойтов и тп ерундой, ниже код с PoC с биндшеллов для win2ksp4ru ( ну как минимум DoS сплойт отправляющий сервер авторизации SIQAuth в даун В) )


Код никакой ценности не несёт, а вот мне он дорог как память ибо это был мой сплойт (с нахождение баги и реализации) =), может кому будет интересно (хотя как модуль для перебора паролей к icq либо как убийца корпоративной аси и сгодитя):

Продолжение...

Link

переезд [Apr. 1st, 2008|12:27 am]
С сего момента "поститься" буду на
                                     slav0nic.org.ua

Хотя может быть кросспосты прикручу, но пока что лень
Link1 comment|Leave a comment

web.py links [Mar. 19th, 2008|03:34 pm]
[Tags|, , ]

Может быть кому-то да будет интересно. Нашкрёб немного ссылок сайтов/веб-обёрток к прогаммам использующих webpy.
Популярные сайты (web.py based):
Infogami - wiki двиг от автора webpy (jottit.com 2я поделка подобного плана)
Openlibrary - движок для книжной библиотеки
FriendPaste - двиг сайта friendpaste.com для поста сорцев
http://www.daltonlp.com/blog_my - кривой блог-движок на файлах В)
Colr - довольно известный сайт от автора "кривого блога" =) Здесь автор рассказывает о переходе с перла на python(web.py), а вот сорцы зажал В)
http://antrix.net/stuff/ - всякие галлереии и тп, лень описывать) (сорцы прилагаются)
viewMTN - сорцы морды к DVC monotone (что-то редко я её встречал%) )
TaskDone - менеджер задач, довольно неплохая штука, жаль не локальная
Deluge-torrent WebUi
DecentURL - аналог TinyURL от Micropledge
UtilityMill - пожалуй, самый интересный сайт для создания веб утилит на питоне
http://adamatlas.org/ - на сайте можно найти шаблонизатор TTwain (который заменит дефолтный webpyшный templator (сам знаю что гавёный В) ).
Другие сайты можно найти на главной странице webpy.org.

Продолжение...

Link

Exception #7 over [Mar. 16th, 2008|04:38 pm]
[Tags|, ]

Съездил 2й раз на конференцию. Опять всякие Соловьёвы не услышали мой ник, когда я представился и узнали об этом только когда я приехал домой %).

Впечатления - неопределённые. В целов всё прошло хорошо, людей было много (к сожелению за счёт любителей java, а не python'a). Я бы поставил оценку 4/5.

Продолжение...
LinkLeave a comment

Создание потоков в webpy приложениях [Feb. 16th, 2008|10:41 am]
[Tags|, , ]

Может кому-то и пригодится.
Столкнулся с необходимостью написания скрипта для мониторинга серверов. Основное приложение - выводит результат мониторинга, а дополнительный поток по таймеру собирает информацию.

В webpy есть пару ф-ций для подобных целей: декоратор @web.background() для выполнения "долговыполняемых" ф-ций и web.load() который разрешает создавать тред в приложении (как написано в доках "Loads a new context for the thread.", хз как по-русски сказать). web.load() вызывается до создания треда.

Простой пример, выводящий время, время проверяется раз в 5 секунд:

  1. import web
  2. import threading
  3. import time
  4.  
  5. def check_time():
  6.     result = ""
  7.     global result
  8.     while 1:
  9.         result = time.strftime("%H:%M:%S", time.localtime())
  10.         print "result updated"
  11.         time.sleep(5)
  12.  
  13. urls = (
  14.          "/", "main_app"
  15.    )
  16.  
  17. class main_app:
  18.     def GET(self):
  19.         yield result
  20.  
  21. web.load()
  22. checker = threading.Thread(target=check_time,name='check_time_thrd')
  23. checker.setDaemon(True)
  24. checker.start()
  25.  
  26. if __name__ == "__main__":
  27.     web.run(urls, globals())Syhi-подсветка кода
Link1 comment|Leave a comment

kde4 [Jan. 28th, 2008|03:02 pm]
[Tags|, ]

Забавно, теперь и в винде можно юзать кеды)
хотя я больше Gnome уважаю (хотя не всё в нём так хорошо, как хотелось бы), но под виндой можно будет погонять

http://techbase.kde.org/Projects/KDE_on_Windows/Installation
Link5 comments|Leave a comment

AVP жжёт [Dec. 20th, 2007|11:57 pm]
[Tags|, ]

Сегодня друг порадовал, оказывается что мой древний биндшелл на python'e детектится антивирусами (AVP и F-secure)как Backdoor.Python.Small.b %)
видимо это после поста в журнале Какер ссылки на эту безделушку
хоть подняли моё дипресняковое настроение)
Link4 comments|Leave a comment

Выдиралка скриптов с ASPN Python Cookbook [Dec. 11th, 2007|03:33 pm]
[Tags|]

Может кому и пригодится, скриптик для вытягивания всех кодов с ActiveState Cookbook:

http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/535162
Link1 comment|Leave a comment

Купил ножики [Dec. 10th, 2007|11:25 pm]
[Tags|]

Купил себе на Ebay 2 fixed ножика:

раз


два
Link6 comments|Leave a comment

(no subject) [Nov. 8th, 2007|04:41 pm]
[Tags|, ]

Терь и я модный =)

Link2 comments|Leave a comment

Авторизация в web.py при помощи beaker'a [Nov. 7th, 2007|05:55 pm]
[Tags|, , ]

Делать было нечего, дело было вечером... В)
Простенький пример:
код... )
юзер sl, пароль 123
надеюсь кому-то пригодится, рассказывать здесь думаю нечего
Link5 comments|Leave a comment

Запутывание кода в Python [Oct. 31st, 2007|05:18 pm]
[Tags|]

По буржуйски звучит как obfuscation, довольно забавно=)
http://www.p-nand-q.com/python/obfuscated_python.html
Link4 comments|Leave a comment

Русскоязычный сайт по web.py [Oct. 31st, 2007|04:13 pm]
[Tags|, , ]

Вот случайно набрёл

http://webpy.iplot.ru
http://webpy.3bb.ru

материала мало, но думаю всё ещё впереди)
Link6 comments|Leave a comment

Пример использование сессий в web.py [Oct. 30th, 2007|10:43 pm]
[Tags|, , ]

На текущий момент использование сессий является проблемой, потому что их по сути нет=)
Хотя в wep.py 0.3 будет добавлен простенький модуль для работы с сессиями.
Авторы web.py советуют использовать flup для работы с сессиями, но меняю смущает пару вещей:
1) автор сам советует использовать другие средства (в его блоге проскакивало В) )
2) смущает надпись "Some WSGI middleware which may or may not be useful to other projects" + "Removed in 1.0" =)

Поэтому не стал далеко ходить, выбрал Beaker - middleware для работы с сессиями, который по дефолту используется в pylons. Beaker позволяет хранить сессии в dbm файле либо в памяти + в куках. Недостаток лишь 1 - документация гуано, точнее её на офсайте вообще нет, только простой пример. Более внятные детали можно глянуть здесь и здесь.

Подключение в web.py происходит как и во всех WSGI приложениях:
1) SessionMiddleware (как и все другие "прослойки") передаётся ф-цие web.run() 3-м параметром.
2) сессия импортируется из web.ctx.environ['beaker.session'] (ctx - переменная, которая содержит в себе информацию о запросе: ip адрес клиента, тип браузера и тп информацию)
После чего можно использовать сессии.
Простой пример счётчика запросов:

  1. from beaker.session import SessionMiddleware
  2. import web
  3. web.webapi.internalerror = web.debugerror
  4.  
  5. def session_mw(app):
  6.    return SessionMiddleware(app)
  7.    
  8. urls = (
  9.     '/', 'index',
  10. )
  11. class index:
  12.     def GET(self):
  13.         session = web.ctx.environ['beaker.session']
  14.         if not session.has_key('value'):
  15.                 session['value'] = 0
  16.         session['value'] += 1
  17.         print (session['value'], session.is_new, session.type)
  18.         session.save()
  19.  
  20. if __name__ == '__main__':
  21.    web.run(urls, globals(),*(web.reloader, session_mw))Syhi-подсветка кода
LinkLeave a comment

radio-t.com [Oct. 30th, 2007|02:51 pm]
[Tags|]

Кинули сегодня линк, на IT подкаст радио о высоких технологиях и тп, доволльно интересно
один из авторов  - питонщик из яндекса и любитель  web.py B)

radio-t.com
Link2 comments|Leave a comment

O'Reilly Next Generation Web Frameworks in Python [Oct. 24th, 2007|11:45 am]
[Tags|, , ]

O'Reilly Next Generation Web Frameworks in Python
Написано про django, pylons, TG
Подробности

http://slav0nic.org.ua/static/books/python/OReilly.Next.Generation.Web.Frameworks.in.Python.Apr.2007.chm
Link5 comments|Leave a comment

web.py part #2 [Oct. 17th, 2007|11:24 am]
[Tags|, , ]

Попробуем написать блог, полностью писать груз (пока что) , сделаем простое добавление записей с поддержкой markdown'a.
Будут использованы такие модули:
  • web.py 0.22
  • markdown
  • pytils
  • sqlalchemy для sqlite базы

В рамках данной статьи получим "блог" (наверно рано обзывать "это" подобным словом =) ) с возможностью добавения записей, просмотра единичных записей... и пожалуй хватит))

В качестве БД будет использоваться SQlite; markdown - для форматирования текста в постах, вместо всяких bb-code и raw html'я; pytils - для slug'a (для ссылок на посты, чтоб можно было обращаться к записям не по их ID, а по понятному slug'y полученному из заголовка поста), wsgi сервер - дефолтный.

Структура файлов будет примерно такой:
blog/
    blod.db - база
    code.py - само WSGI-приложение
    config.py - конфиг блога для всяких переменных
    model.py - описание модели и ф-ций для работы с БД
    view.py - описание форм
    tmpl/ -темплейты
        add_entry.html
        index.html

Link15 comments|Leave a comment

web 2.0 porn sites)) [Oct. 16th, 2007|05:50 pm]
[Tags|]

типа про вэб В))

http://paperlined.org/apps/porn/.web2.0.html
LinkLeave a comment

web.py part #1 [Oct. 16th, 2007|11:06 am]
[Tags|, , ]

Итак, хочу рассказать вам про web.py, почему-то данный анти-фреймворк немного обделён в плане примеров, а про статьи на русском языке я уже молчу...

Почему я выбрал именно его?
Причин на то несколько, основные достоинства (на мой дилетанский взгляд):
1) Лёгкий и быстрый, всё интуитивно  понятно. Хотя "легкость" в сложных проектах может оказаться минусом
2) Всё что нужно (по крайней мере мне =] ) включено. Об этом напишу ниже.
3) В отличии от той же django он не задаёт стиль программирования и не "диктует правила", я могу писать и соблюдая MVC концепцию, так и нарушая её. (хотя мои познания в джанго заканчиваются на уровне прочтения туториалов для старта В) )
4) Дополнительные модули без проблем подключаются
5) Как мне кажется webpy отлично подходит для embedded систем, например для всяких nokia n700 и тп (кстати надо будет на symbian проверить В) )

Кому он может понравиться?
Думаю тем для кого вэб-программирование оканчивается на CGI скриптах(эт про меня), тем кому лень учить монстрячие фреймворки типа django и тп В)

----------------------------
Собственно о самом модуле (фреймворк слово не уместно)

Из чего состоит?

web - основной модуль (точнее пакет) который включает в себя всевозможные ф-ции работы с http, например вывод инфы, редирект, получение информации с форм и другое. При импорте  подгружаютя все нижеописанные модули.
web.cheetah - поддержка cheetah темплейтов, ничем кроме личной любви автором к данным темплейтам объяснить наличие сего не могу)
web.db - DB-API 2 модуль для работы с СУБД, подерживает sqlite, psql, mysql. Для работы требует чтоб были установлены соответствующие модули.
web.debugerror - дебаггер, в случае ошибок выводит всевозможную инфу. PS: модуль свиснут с django )) так что тут всё гламурно
web.form - модуль для создания и обработки форм, валидаторы есть! Лично мне понравилось, хотя и немного помучался)
web.http - собсвенно автоматом импортируется при подключении web, включает http ф-ции
web.httpserver - wsgi сервер, базируется на CherryPy 3.0.1, юзается для отладки скриптов, хотя можно и юзать как сервер, у меня тянул 30 запросов в секунды.
web.net - модуль для работы с IP адресами (типа валидация), работа с датой и тп.
web.template - встроенные темплейты, очень простые, но имхо юзабельные) хотя есть проблемы, которые будут исправлены в версии .0.3, например работа с юникод объектами будут автоматом энкодиться в utf-8
web.utils - вспомогательные ф-ции и типы данных
web.webapi - работа с куками, ф-ции для работы с долгоотрабатывающими ф-циями и тп

Модулей много, но реально юзаются  form, db и template.

Позже опишу пример создания простого блога (покачто там только посты добавляются %) ) для объяснения работы с базовыми модулями.
Эталоном создания приложений на данной либе заслуженно считается http://reddit.com/ , который работает  при немалых нагрузках.
Обидно лишь то, что автору лень нормально описать все ф-ции, приходится рыскать в инете в поисках примеров (ссылки потом кину)
Link4 comments|Leave a comment

Exception #6 over [Sep. 30th, 2007|10:11 pm]
[Tags|, ]

Наконец-то получилось побывать на данном мероприятии. Ехать пришлось автобусом (видимо "революционеры" раскупили все билеты в связи с выборами, хотя возможно это сделали питонщики... :] ), приехал невыспанный (позу для сна в автобусе выбрать не получилось;) ), да ещё и в 7 часов, пришлось покататься по городу. Когда пришёл к 9 часам, к указанному месту проведения конференции, немного офигел%). Как мне сказали на входе, сегодня никаких конференций не планируется, но обошлось) дозвонился к mkdir'y и всё разъяснилось.

В 13 часов в зале собралось около 105 человек (была замечена девушка и не одна). Основной "костяк группы" составили кодеры c Украины, так же были замечены 2 кодера с Москвы + Сагалаев (maniac) с женой Алёной (alenacpp). Как и следовало ожидать, большую часть девелоперов, собравшихся в зале, представляли джангисты :|

В 13:15 начался сам семинар. Первым выступал Ищенко - довольно известный человек, среди тех кто увлекался хотя б немного pylons'om. Макс рассказал про процесс переписывания developers.org.ua на данный фреймворк. Рассказал, что в DOU используются mako, SQLAlchemy + ... php =). Почему-то со слов автора оказалось сложно реализовать поддержку сессий (авторизацию) на базе пилонов, хотя я знаю как минимум 2 средства для решения данной задачи, ну да ладно. После выступления основные вопросы были связаны с глобальными переменными, в стиле "это же сакс!", хотя внятных объяснений я не услышал, но вот вопрос про лишнее юзание памяти, как результат глоб. перем. - никто не задал (а я хотел спать и открывать рот ну очень не хотелось В)) В связи с тех. проблемами (ноут Макса не подружился с проектором) показ демок не состоялся, а жаль). Кроме того было упомянуто про простоту локализации, показан traceback и как можно ловить ошибки (судя по выражению лица Сагалаева, данный момент его заинтересовал В) ), кто-то из зала пару раз вступил в полемику по поводу ORM. Также был замечен фанат j2a )) как минимум 2 раза ссылался на его блог.
По окончанию было объявлено распитие чаёв.
2м выступал гвоздь программы - Сагалаев. Поведал о django, вкратце рассказал что это есть такое, задел вопрос профайлинга, упомянул про newform и всё такое. Лично мне больше было интересно послушать про репликацию (ибо отчасти этим гавном я занимаюсь в повседневной жизни =) ), memcached и про рассеивание нагрузки в целом. Докладчик упомянул что запустил первый публичный джанго проект в яндексе, тянущий до 500 запросов/с, по приезду домой понял что это он про http://alltests.yandex.ru/, имхо там тормозить нечему, ну да ладно=). После чего было много вопросов (у менея сложилось впечатление, что многие ехали с одним в голове - получить ответ на свой вопрос по djang'e от maniac'a и сделать фотку :) )  По окончанию доклада бедного гостя взяли в круг и осыпали шквалом вопросов =).

 3й доклад был посвящён web.py. Когда я узнал темы докладов, то ехал на exception с мыслю узнать что-то интересное и практическое по поводу этого "антифреймворка" (а не "фреймворка" как сказал mkdir B] ), тк последний месяц понял, что мне данной либы вполне достаточно, по простоте она не сложнее CGI, а по возможностям - позволяет при желании также создать приложение соблюдающее  mvc концепцию.
Но докладчик оказался весёлым парнем и рассказал про процесс создания своего проекта с нуля, про сам web.py было сказано почти ничего, было упомянуто про JQuery и simplejson, а также про что-то что он "сам не понял зачем оно надо, но работает" =).

На данной весёлой ноте exception был окончен, после чего все перешли к "конференции " (хотя термин "поедание пива" более уместен В)). Было инетесно слушать как парень сказал что slav0nic'a не было на конфе (конспирация удалась, надеюсь на фото меня тож нет), но объявить своё присутвие не получилось, тк тему сменили  В) ну да ладно)

PS: конференция удалась, организация на 5, содержание на 4 - ну не люблю я сильно вэб =) Но много нового я не узнал, про pylons, web.py почитывал на досуге, да и формат не тот, за 1 час сложно всё рассказать, а жаль (надесь в следующий раз временные рамки будут более гибкими и докладов будет больше, ядумаю сидящим в зале было чем дополнить, а может и что рассказать).
Хотя я ехал посмотреть на людей ("себя показать" не люблю В) ) Жаль что alafin на распитии не был, было интересно послушать про то кто что пишет, чем занимается на работе и что есть сукс, а что рулез =) Было интересно послушать размышления alen'ыcpp на разные темы и некоторые моменты Maniac'a про яндекс (повторяю, джанго я не люблю, поэтому данные диалоги пропускал, а они составляли 90% ;) )
Все ребята оказались довольно мозговитыми и итересными

ps2: если вдруг кто-то из докладчиков прочтёт данное недоразумение - прошу не обижаться=) надеюсь в следующий раз я не буду сонным и проявлю какую-нибудь активность, а 3й доклад, по-моему заставил меня ускорить написание заметки про web.py. Надеюсь на 7м exception'e будет что-то кроме вэба, например про python 3k, работу в команде, фишки в написание GUI, какие-то заметки по СУБД, какие-то системные моменты, и думаю темы надо уже наичать готовить (mkdir записуй В) )   
Похоже я там был один не кодер (по крайней мере по записи в труд. книжке), а так сказать админ, любящий кодить на python'e for fun и смотреть на досуге чужой код  =)
Спасибо mkdir'y за организацию и докладчикам за проделанную работу,надеюсь в следующий раз более активно пообщаюсь с коллегами).
Link20 comments|Leave a comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]

Advertisement