• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Программирование для ИБ

Python - Dump VK (фото, документы, диалоги+вложения)

  • 31 367
  • 15
Dump VK
Статья для участия в конкурсе Конкурс 2018 года - авторская статья по любой тематике нашего форума!

Всем привет, в этой статье я вас научу делать дамп данных из вк, а вернее напишем инструмент на python для автоматизации данного процесса.

"Из коробки" доступен дамп:
  • Фото (из всех альбомов в том числе личных)
  • Документы
  • Диалоги
    • сообщения {'from', 'text', 'date'}
    • вложения (photo, docs, [COLOR=rgb(251, 160...

Статья Восстановление паролей ZIP и RAR архивов с помощью Python: Практическое руководство

  • 10 058
  • 2
logo.png


Статья для участия в Конкурсе программистов.

Доброго времени суток, мы начинаем!

0. Предисловие

Всегда наступает такой момент, когда пользователь забывает пароль от архива, в котором спрятал свои секреты. Для самых забывчивых мы сегодня сделаем некоторую программу, функционал которой -- подбор пароля для архивов с расширением zip/rar.

Писать будем на python3(дальше просто python), хотя заранее знаем, что писать локальную брутилку на этом языке не рационально. Однако иногда он используется как черновик, вот и почеркаем немного, чтобы проверить, можно ли такое реализовать. (да, можно (: )

1. Подготовка


Нам понадобится:
  • текстовый редактор или IDE;
  • интерпретатор python;
  • минимальное знание python; ( В противном переходим к чтению серии...

Изучаем Python на практике. Пишем аналог утилит wc и split (для подсчета строк и разрезания текстовых файлов).

  • 6 602
  • 2
Статья для участия в Конкурсе программистов.
Это вторая статья из цикла "Изучаем Python на практике".
Первый пост: Изучаем Python на практике. Пишем чекер SSH серверов.
Смотрите комментарии к посту, если будут найдены ошибки или внесены исправления, буду публиковать их в комментариях, так как через некоторое время возможность редактирования поста пропадает.

В *nix подобных системах есть две утилиты: wc - для подсчета строк в файле, split для разрезания файлов. Однако split режет файлы по количеству байт, не учитывая содержимое.
Попробуем создать их аналог для работы с текстовыми файлами.
Сформулируем...

Пишем графическую оболочку на Python - часть 1

  • 38 941
  • 16
Приветствую любителей языка Python!

Все вы прекрасно знаете, что программы пишутся как в консольном варианте, так и с графической оболочкой GUI.
GUI - graphical user interface

Поскольку на форуме я не заметил программ с GUI, то решил дать несколько базовых уроков.

Есть почитатели как и консольных вариантов, так и GUI. И вопрос что лучше совершенно неверный. Самые сложные программы всегда стараются сделать с оболочкой, иначе софт обрастает диким количеством опций, в которых трудно разобраться. Кроме этого, если программа пишется не для личного пользования, то нужно учитывать, что большая часть юзеров сидит под ОС Windows, и привыкла к графике. Поэтому даже если вы ярый приверженец консоли, но например, делаете программы на заказ, то уметь писать программы с оболочкой просто необходимо.

Есть много вариантов Python GUI. Вот неполный список:

Tkinter
PyGTK
PySide

[COLOR=rgb(251, 160...

Изучаем Python на практике. Пишем чекер SSH серверов.

  • 20 373
  • 24
Приветствую всех, кто изучает Python и хочет перейти от сухой теории к практическому применению полученных знаний.
Просмотрев форум codeby.net нашел несколько материалов, где авторы делились своим опытом и пробовали свои силы в написании небольших скриптов. К сожалению большинство авторов использовали процедурный тип написания кода. В то время как создание, поддержание и развитие приложения даже средней сложности требует ООП подхода.
Попробуем в небольшом проекте применить ООП, в самом простом виде.
Автор будет очень благодарен более опытным товарищам, если они наставят на путь истинный и, возможно, дадут пару подзатыльников для дальнейшего развития в нужном направлении.
Не смотря на свой возраст - автор начинающий программист-любитель, самоучка, а без посторонней помощи в программировании можно барахтаться годами примерно на одном уровне. Именно поэтому и пишу.

Для тех, кто сразу хочет развернуть проект, скачиваем...

Статья [Python] Пишем динамический C2 сервер

  • 7 077
  • 10
Приветствую всех! Недавно меня опять посетила идея. А что если сделать динамический C2 сервер, возможно ли это?
Теперь давайте пройдемся по теории, C2 сервер - проще говоря это сервер для контроля малваря, например малварь стучит на этот сервер, получает задание и выполняет его на зараженной системе.
Но проблема таких серверов, что ip такого сервера жестко установлен в коде, и тем самым этот сервер легче отключить.
Динамический C2(возможно такого понятия нету, но мне кажется, что слово "динамический" легче для восприятия идеи) - это то есть ip не будет жестко указан в коде, он будет меняться n-ое время(желательно 12 часов)

Я написал скажем основу, но идея еще не до конца завершена, осталось придумать как или через что будет поступать для агента(того кто выполняет задания) новый ip.(есть идеи например: через dns или протоколы какие-нибудь)
В будущем хотел бы скрестить этот C2 c koadic. Также если вам понравилась эта идея и вы хотите участвовать в разработке напишите мне в ЛС на...

Учимся писать чистый код на Python

  • 6 531
  • 8
Какое-то время покодив, я понял, что большинство программ, встречающихся в сети написаны очень грязно. Да и сам я не так сильно заморачивался с этим делом.
Давайте разберёмся, что значит грязно?

Для начала такой пример из обычной жизни - вы написали ручкой на бумаге какой-то текст и другой человек его взял почитать. Ага, но не тут-то было! Почерк настолько корявый, что на своём родном языке ничего не понятно.

Выходит один и тот же текст может как легко читаться, так и вызывать затруднения в восприятии. И конечно легко и приятно будет читать написанное в чётком исполнении.
Вот и в языке Python есть свод правил хорошего тона, стилей написания, и называется он
Разберём на примере кода из этого топика.

Анализатор кода показал огромное количество предупреждений.

pey.png


А теперь разберёмся, где можно посмотреть эти...

Считаем количество знаков в тексте

  • 5 635
  • 5
Приветствую всех читателей!

В сети много онлайн-сервисов для подсчёта слов с пробелами и без. Это может быть полезно при написании статей фрилансерами, когда есть задание на определённое количество знаков.
Но сегодня мы напишем небольшую программку, с бОльшим функционалом. Она также подсчитает количество слов, а самое главное, выведет сколько встречается каждый символ. Это очень полезно для расшифровки закодированных текстов - частотный анализ символов.

Для начала импортируем модуль pyperclip и вставим поясняющий текст.

Python:
import pyperclip

print('Скопируйте в буфер обмена текст')
print('-'*50)

input('Нажмите ENTER')
print('-'*50)

Потом вставим скопированный текст

Python:
s = pyperclip.paste()

Подсчитаем количество символов с пробелами, без пробелов, и количество слов.

Python:
n = len(s.split())
s = s.replace('\n', '')
s = s.replace('\r', '')
n1 = len(s)
s = s.replace(' ', '')
n2 = len(s)

Теперь сначала выведем скопированный...

Пишем парсер на Python - грабим Proxy ч.2

  • 24 847
  • 8
Продолжим начатое.
В прошлой СТАТЬЕ мы спарсили список прокси, и получили очищенный от мусора вывод в виде словаря. Чтобы совсем всё получилось идеально (убрать кавычки и фигурные скобки), нужно словарь перевести в строку.

Для этого напишем цикл, и разместим его сразу под словарём data. Чтобы цикл был рабочим, нужно переменную b сделать глобальной.

Python:
global  b
        d = " "
        for i in data:            
            b = data[i]
            c = i+": "+data[i]
            d = d+c+', '

Можно также убрать пробел в начале записи с помощью lstrip(), и вывод на печать будет такой print(d.lstrip())

Запускаем программу, и получаем чистый список данных в виде строк

exce.png


Но конечно лучше же иметь запись результатов в текстовом файле. Поэтому мы поменяем вывод на запись в файл и получим на выходе proxy.txt

Python:
with open('proxy.txt', 'a') as f...

Пишем парсер на Python - грабим Proxy ч.1

  • 63 422
  • 30
Приветствую тебя читатель!

Продолжение здесь: Пишем парсер на Python - грабим Proxy ч.2

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

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

Приступим:

Для начала мы накидаем такую конструкцию

Python:
import requests
from bs4 import BeautifulSoup

if __name__ == '__main__':
    main()

Модуль requests нужен для обращения к серверу, BeautifulSoup анализирует html код, и последняя запись это точка входа в главную функцию main() которую мы напишем в самом конце программы.

Далее создадим функцию get_html которая принимает аргумент site. Переменная r обращается к requests методом get и получает чтение site. Функция возвращает r выведенную в...