Injection SQL Outil 4

Je dois dire qu'il y avait un changement, le lieu où la demande sera inséré notes {SQLINJ}, qui est, si le paramètre vulnérable getId, puis écrire URL

http://localhost/test.php?getid=1{SQLINJ}
et si elle est un paramètre de texte de l'URL sera le

http://localhost/test.php?getid=1'{SQLINJ}
eh bien, tout le monde semble en fait qui veut trier.

Le programme peut être défini de telle anivirusami tels que Kaspersky Antivirus 7.0 comme HackTool
Un rapport sur la découverte: les logiciels malveillants HackTool.Win32.SQLInject.i 4 Fichier: s-tool.exe


software.gif
Injection SQL Outil 4
sipt4.rar [2437KB]

Le manuel pour SQL Injection TooL 3

1. Introduction.
En général qui est finalement atteint les mains pour écrire un manuel pour mon prog. Donc, 95% des questions sur le prog, vous trouverez la réponse ici.

juzat 2.Nachinaem.

La première chose à entrer dans l'URL chemin vers le script vulnérable, port du serveur HTTP, mis en place un programme de travail avec un proxy serveur sur les paramètres de l' onglet -> MAIN, définissez le délai d' attente dans l'onglet Paramètres de réponse du serveur -> MAIN en millisecondes et choisir la méthode d'attaque n. 2.1.

Méthode 2.1.1 GET
Le procédé est utilisé lorsque l'injection est présent dans le paramètre GET.
Code Promo: Exemple: http://www.target.ru/vulnscript.php?id=1
Si le paramètre id vulnérable, demander au serveur prend la forme
Code Promo: http://www.target.ru/vulnscript.php?id=1{SQL}

2.1.2 méthode GET (Avec Cookie)
La méthode est utilisée quand il y a une injection dans les cookies, mais utiliser GET
Code Promo: Exemple: http://www.target.ru/vulnscript.php?id=1
Si le paramètre VulnCook vulnérable dans un cookie, une demande au serveur prend la forme

Code Promo: GET /vulnscript.php?id=1 HTTP / 1.0
Hôte: www.target.ru
Cookie: VulnCook = {SQL}
Connexion: Fermer

Il convient de noter que si plusieurs paramètres des cookies, tous les paramètres invulnérables sont entrés dans le tableau qui apparaît sur appuyant sur les paramètres bouton Cookie, et le paramètre vulnérable est entré dans le paramètre vulnérable, et sa valeur normale est entré dans le domaine de la valeur, en fait le même principe est utilisé pour paramètres POST.

2.1.3 Cookie méthode (GET)
La méthode est utilisée lorsque l'injection est présent dans les paramètres GET, mais il est nécessaire d'envoyer l'en-tête du serveur certains cookies (NeedCook), cette autorisation
Code Promo: Exemple: http://www.target.ru/vulnscript.php?id=1{SQL}
Si le paramètre id vulnérable, demander au serveur prend la forme

Code Promo: GET /vulnscript.php?id=1{SQL} HTTP / 1.0
Hôte: www.target.ru
Cookie: NeedCook = phpsession
Connexion: Fermer

2.1.4 méthode POST
Le procédé est utilisé lorsque l'injection est présent dans le paramètre POST.
Code Promo: Exemple: http://www.target.ru/vulnscript.php
Si le paramètre id vulnérable, demander au serveur prend la forme

Code Promo: POST /vulnscript.php?id=1 HTTP / 1.0
L'hôte : www.target.ru
Connexion: Fermer

Id = {} SQL

2.1.5 méthode POST (Avec Cookie) -Très cas rare
La méthode est utilisée quand il y a une injection dans les cookies, mais un POST
Code Promo: Exemple: http://www.target.ru/vulnscript.php
Si le paramètre VulnCook vulnérable dans un cookie, une demande au serveur prend la forme

Code Promo: POST /vulnscript.php HTTP / 1.0
Hôte: www.target.ru
Cookie: VulnCook = {SQL}
Connexion: Fermer

2.1.6 Cookie Méthode (POST)
La méthode est utilisée lorsque l'injection est présent dans le paramètre POST, mais il doit être envoyé au serveur dans un cookies de titre spécifiques (NeedCook), cette autorisation
Code Promo: Exemple: http://www.target.ru/vulnscript.php
Si le paramètre id vulnérable, demander au serveur prend la forme

Code Promo: /vulnscript.php?id=1{SQL POST} HTTP / 1.0
Hôte: www.target.ru
Cookie: NeedCook = phpsession
Connexion: Fermer

id = 1 {SQL}

2.2 Mot - clé ou une expression (texte Chaîne de champ)

Cela introduit un mot que nous pouvons trouver de cette façon.

Un exemple de la méthode GET,
Du début à la regarder
Code Promo: http://www.target.ru/vulnscript.php?id=1
Ensuite, regardez
Code Promo: http://www.target.ru/vulnscript.php?id=2
Nous trouvons quelque chose qui est ici
Code Promo: http://www.target.ru/vulnscript.php?id=1
ce qui est pas ici (comparer pour ainsi dire)
Code Promo: http://www.target.ru/vulnscript.php?id=2
A un domaine dans lequel il y a une valeur et NOT FOUND TROUVE, il a juste besoin de sélectionner la méthode de recherche,

FOUND - Ce morceau de code, ou une phrase est pris pour la justesse de la fondation (la conclusion positive que l'injection est faite correctement)

NOT FOUND - Ce morceau de code, ou une phrase prise comme base est incorrect
(Également une conclusion positive que l'injection est faite correctement)

CONSEIL: Afin d'automatiser la recherche, vous pouvez utiliser le bouton AUTO DETERMINER, mais il est intéressant de noter qu'il peut y avoir une fausse définition d'un faux ou ne définit pas quand un morceau du mot - clé est dans les balises.

2.3 Checkbox Utilisation Autorisation de base et des champs de texte Login et Mot de passe doivent être autorisés à entrer dans un certain endroit sur le site ou pour accéder aux fichiers.

3.1 En outre, il est nécessaire de déterminer le nombre de champs utilisés dans la requête à la base de données, vous pouvez le faire en cliquant sur le bouton «faire connaître» QUANTITÉ

Il y a plusieurs options pour une erreur de calcul:

3.1.1 Menu déroulant «MODE D'EMPLOI»
Ici, vous pouvez déterminer la méthode pour produire bourde
- UNION SELECT
- ORDER BY
- GROUP BY
En général, la méthode la plus courante est l'ORDER BY et UNION SELECT
Cependant, la méthode préférée pour le programme est UNION SELECT, puisque cette méthode détecte immédiatement et les champs de sortie (un champ de champ de texte SUPPORTS D' IMPRESSION), nécessaires à plusieurs fonctions du programme.

Il est intéressant de noter que si vous avez mesuré le nombre de champs les méthodes de l'ordre de requête BY et GROUP BY, et identifié avec succès, vous devez spécifier le numéro de départ de champs pour rechercher et mettre fin à égal au nombre trouvé et choisir la méthode UNION SELECT pour déterminer le champ à la sortie, et appuyez sur «faire connaître» QUANTITÉ à nouveau.

3.1.2 Checkbox Déterminer suppots champs d'impression utilisant LIMIT
Il est nécessaire comme une alternative aux champs avec la conclusion de recherche.

REMARQUE: Vous pouvez également remplacer la valeur du paramètre vulnérable est pas une valeur existante pour déterminer le champ à la sortie, en combinant à nouveau avec une coche 3.1.2

Après une sélection réussie du nombre de champs, si vous utilisez la méthode GET, vous aurez une ligne dans l'URL de travail, en cliquant «Afficher dans le navigateur» , vous ouvrez la requête dans le navigateur.

4.1 Base de données d' identification (Injections SQL -> DB Identifier)
4.1.1 Type de DB - À l'heure actuelle, le programme peut identifier deux types de base de données est MySQL et MSSQL

4.1.2 USER () - l'utilisateur de base de données au nom duquel vous vous connectez à la base de données

Il existe 3 variantes de la définition.

UNION - la façon la plus acceptable pour déterminer le serveur en même temps envoyé une requête pour déterminer toutes les valeurs à la fois.

PRENDRE UN SYMBOLE - caractère par définition de caractère, un caractère Brutus.
En outre, l'intervalle peut être spécifié dans l'onglet Paramètres.
BRUTE de la définition, Brutus toutes les eaux de ruissellement.

Les deux variantes pour une utilisation dans MySQL 3, ou incapable de déterminer par des techniques standard. Eh bien, ou au suicide.

4.1.3 DATABASE () - le nom de la base de données qui relie le script pour exécuter la requête.
Le mode de fonctionnement est similaire à l'UTILISATEUR () Para 4.1.2

4.1.4 VERSION () - version de la base de données qui est connecté au script pour faire la demande.
Le mode de fonctionnement est similaire à l'UTILISATEUR () Para 4.1.2

4.1.5 CONVERT menu déroulant peut aider à déterminer les valeurs de l' utilisation UNION, lorsque la base utilise un codage unique, et les valeurs de USER (), DATABASE (), VERSION () utilisent un autre.

5.1 Brutus noms de table et des marges sur le terrain.
(Injections SQL -> DB Identification -> MySQL / MSSQL)

Il est utilisé pour parcourir les noms, comme indiqué ci-dessus. +
Pour une énumération réussie, vous devez avoir choisi le nombre de domaines, tels que décrits dans la section 3.1.1

Je note ici que lors de l' itération en utilisant des mots de dictionnaires texte externes, ils doivent donc avant de commencer à se connecter sur l'onglet Paramètres -> DICTIONNAIRE.
Les dictionnaires sont 4 types
- Tableaux Dictionnaire (Tableau dictionnaire)
- Champs Dictionnaire (dictionnaire Champ)
- Dictionnaire préfixe (Prefix dictionnaire)
- Dictionnaire suffixe (dictionnaire Suffixe)

NOTE: Sur le même onglet, vous pouvez les modifier
.
Pour utiliser les dictionnaires des préfixes et suffixes vous devez cochez les cases correspondantes dans l'onglet (Injections SQL -> Identifier DB - > MySQL / MSSQL)

«Utiliser le préfixe de fichier lorsque les tables de bruteforce et des champs»
«Utiliser le suffixe du fichier lorsque les tables de bruteforce et des champs»

Pour toujours utiliser le même préfixe ou un suffixe, vous pouvez les saisir dans le champ préfixe et le suffixe. Ensuite, ils ne seront pas prises à partir des dictionnaires.

Cliquez ensuite sur «GET NOMS DE TABLE»

Dans ce cas, si vous avez tous les mots du dictionnaire apparaissent dans cette liste, il est fidèle aux paramètres de l'application.

Après une recherche réussie, vous indiquerez la table existante basée sur la cible, vous devez sélectionner la table souhaitée pour que le haut d'une boîte grise apparaît son nom et de continuer à analyser la table pour trouver les noms des champs en cliquant sur «GET FIELD NAMES»

REMARQUE: les noms des champs que vous pouvez ajouter des préfixes et des suffixes des dictionnaires, le programme vous demandera est quand vous appuyez sur la «GET FIELD NOMS».

6.1 Préparation des tables et des noms de champs à l' aide de la table INFORMATION_SCHEMA.
(Injections SQL -> Identifier DB - > DUMP INF_SCH)
Nouvelles pour MySQL5 et MSSQL

La fonction ne fonctionnera que si vous avez au moins un champ de sortie, et le nombre de champs définis.

Il y a 2 options.
- Les noms de tables uniquement - ne reçoivent que les noms des tables
- Table et les noms de colonnes - obtenir les noms des tables et des colonnes en eux.

Il y a aussi une acquisition de données d'arrêt, le niveau supérieur (FROM) La valeur par défaut est 16 comme les 15 premières tables de la norme et ne portent pas plus d' informations.

Bouton «GO DUMP», commence le processus d'acquisition de données.
Les données peuvent être sauvegardées dans un fichier en cliquant sur le bouton «SAVE TO FILE»

Il y a un menu déroulant «Convertir», l'essence du menu et son fonctionnement est identique p.4.1.5

7.1 Par Caractère brute des données arbitraires
(Injections SQL -> OneChar BruteForce)
MySQL réelle à partir de la version 4.1 et MSSQL.
Utilisé pour les données Brutus symbole sage d'une table

intervalle Brutus est pris à partir des paramètres de l' onglet -> MAIN.

Vous pouvez utiliser le type de requêtes, SELECT id DE nouvelles

Bouton «Aperçu requête SQL» présente une demande préalable au serveur

«Obtenir le résultat» bouton démarre le processus de Brutus.

8.1 Récupération des données à partir de la base de données. (Injections SQL -> Data BruteForce)
Nouvelles pour MySQL 4 et MSSQL

La fonction ne fonctionnera que si vous avez au moins un champ de sortie, et le nombre de champs définis.

Vous devez d'abord remplir le nom de la table de la table requise.
Ensuite , vous devez ajouter à la liste les noms des champs requis lors de la saisie de ces noms dans la case ci - dessous la liste et en appuyant sur le bouton «Ajouter un champ».

Les noms des champs peuvent être obtenus en utilisant des onglets 5.1 et 6.1.

REMARQUE: supprimer les champs inutiles dans la liste des possibles «RETIRER FIELD» bouton

On ajuste ensuite la position de début et de fin de la ligne. Afin de vérifier les paramètres sont corrects , vous pouvez appuyer sur le «test», si tout est OK, alors vous aurez sera la valeur des champs sélectionnés séparés par deux points ":" dans la liste correspondant à la première ligne de la base de données dans la boîte à la gauche du bouton «test»

Si la valeur apparaît, vous êtes prêt à recevoir des données, pour ce faire, cliquez sur «GET IT».

Les données peuvent être sauvegardées dans un fichier en cliquant sur le bouton «SAVE TO FILE»

9.1 Retour connecter à partir de MSSQL
Utilisé pour faire bekkonnekt à partir de la base de données. Il utilise une procédure de master..xp_cmdshell base de données MSSQL pour bekkonekta, il est nécessaire de vérifier l'adresse IP dans la ligne et définir le chemin à l' onglet NetCat sur les réglages -> MAIN.

En opération réussie, vous aurez une console de commande qui va ouvrir une connexion au serveur.
10.1 Travailler avec des fichiers

10.1.1 MySQL
Il permet de gérer des fichiers via SQL - injection

Lecture 10.1.1.1 Fichier

La fonction ne fonctionnera que si vous avez au moins un champ de sortie, et le nombre de champs définis.

Vous devez enregistrer le chemin absolu vers le fichier sur le serveur dans le cadre inférieur.

Exemple: /home/user/public_hmtl/index.php

Et appuyez sur le bouton «READ». Dans le cas d'une lecture réussie, le fichier sera affiché dans la fenêtre de l' éditeur, où vous pouvez enregistrer le fichier en utilisant l'élément de menu «SAVE FILE»

10.1.1.2 Charger un fichier sur le serveur

La fonction ne fonctionnera que si:
1) vous avez au moins un champ de sortie,
2) le nombre de champs définis.
3) Dans le serveur de configuration ne doit pas échapper les guillemets !!


Encore une fois, il est nécessaire d'enregistrer le chemin absolu du fichier à créer sur le serveur dans le champ supérieur du cadre.

Ensuite, il y a 2 options téléchargement de fichier.
- UNION - utiliser INTO OUTFILE (standard)
- ENCLOSED BY - utilisée dans MySQL depuis la version 3 (Il est conseillé d'utiliser lorsqu'ils ne sont pas en cours d' exécution 1 variante)

Le fichier texte pour remplir le serveur sont entrés dans la zone de texte ci-dessous.

10.1.2 MSSQL
Tout se fait par analogie avec p.10.1.1

11.1 Terminal (Terminal)
Utilisé pour envoyer des paquets arbitraires sur le serveur, ainsi que pour afficher le serveur (en-tête et de la réponse du corps) réponse. Il y a une fonction de recherche dans le corps.

Demande écrite en «DEMANDE HTTP»
En- tête de réponse écrite «REPONSE: HTTP HEADER»
Le corps de la réponse est écrit «REPONSE: HTTP BODY»

L' envoi de la demande est effectuée en appuyant sur le «Envoyer la demande» bouton

12.1 Histoire (Histoire)
Ici sont affichées toutes les requêtes vers le serveur, et des informations supplémentaires.
Il peut économiser en utilisant l'élément de menu «HISTOIRE -> Enregistrer le journal», ou de le nettoyer en appuyant sur la même «HISTOIRE -> EFFACER LOG»

13.1 Paramètres (Settings)
13.1.1 général (Main)
Interface de traduction (chemin d'accès au fichier de langue).
Way to NetCat (Path to NetCat) - utilisé à l' article 9.1
paramètres de proxy
- Utiliser un proxy
- Adresse IP
- Port
L' espacement des caractères (BruteForce intervalle de code de symbole) - utilisé dans 4.1.2-4.1.5 et 7.1

Menu 1. Fermez l'instruction SQL (Fermer SQL) - utilisé pour couper la demande initiale, il ne semble pas l'erreur.
différent "Zakryvashki" utilisé pour chaque base
- MySQL = / *
- MSSQL = -

Menu 2. Modifier citations sur analogique (Change cite à)
Utilisé pour contourner les scripts de filtrage.

Menu 3. Variation de l'écart analogique (changement d' espace pour)
Il est utilisé pour contourner les scripts de filtrage

Autres caractéristiques:

Le menu principal.

Double Outils - fenêtre augmente, vous pouvez librement assembler des programmes onglets pour plus de commodité, comme une fenêtre du terminal, ou l' histoire, l'encodeur et le décodeur

Paramètres par défaut - réinitialiser tous les paramètres du programme.

STOP - arrête le programme.

La partition utilitaire (Outils)

Contient une variété de codeurs et décodeurs de lignes, comme HEX, BASE64, URL-LIKE, PHP CHR


Votre SQLHack.