Dalfox est un puissant outil open-source qui se concentre sur l'automatisation, ce qui le rend idéal pour scanner rapidement les défauts XSS et analyser les paramètres. Son moteur de test avancé et ses fonctionnalités de niche sont conçus pour rationaliser le processus de détection et de vérification des vulnérabilités.
Quant au nom, Dal (달) est le mot coréen pour "Moon", tandis que "Fox" signifie "Finder of XSS" ou?
MODE: payload server file pipe sxss url
| Classe | Caractéristique clé | Description |
|---|---|---|
| Découverte | Analyse des paramètres | - trouver param reflété - Trouver des caractères spéciaux vivants / mauvais, le gestionnaire d'événements et le code d'attaque - Identification des points d'injection (HTML / JS / Attribut) inHTML-none inJS-none inJS-double inJS-single inJS-backtick inATTR-none inATTR-double inATTR-single |
| Analyse statique | - Vérifiez Bad-Header comme CSP, XFO, etc. avec une base req / res | |
| Analyse de BAV | - Tester Bav (Basic une autre vulnérabilité), par exemple sqli ssti open-redirects , crlf , esii | |
| Exploration de paramètres | - Trouver un nouveau param avec une attaque de dictionnaire (la valeur par défaut est GF-satterns) - Prise en charge du fichier de dictionnaire personnalisé ( --mining-dict-word )- Trouver un nouveau param avec DOM - Utilisez une liste de mots distante à l'exploitation minière ( --remote-wordlists ) | |
| Greping intégré | - il identifie la fuite d'informations de base de SSTI, des informations d'identification, une erreur SQL, etc. | |
| Détection et évasion WAF | - Détecter à WAF (pare-feu d'application Web). - Si vous êtes trouvé WAF et en utilisant un drapeau spécial, l'évasion en utilisant la demande lente - --waf-evasion | |
| Balayage | Scan XSS | - reflété XSS / XSS stocké / DOM XSS - Vérification de la base DOM - Base sans tête Vérification - Test de Blind XSS avec param, en-tête ( -b , - options --blind )- Tester uniquement les paramètres sélectionnés ( -p , --param )- uniquement l'analyse des paramètres ( --only-discovery ) |
| Pipeline amical | - Mode URL unique ( dalfox url )- à partir du mode fichier ( dalfox file urls.txt )- du mode IO (pipeline) ( dalfox pipe )- à partir du mode de fichier de demande HTTP RAW ( dalfox file raw.txt --rawdata ) | |
| Requête d'optimisation des charges utiles | - Vérifiez le point d'injection par abstraction et généré la charge utile de l'ajustement. - Éliminez les charges utiles inutiles basées sur Badchar | |
| Encodeur | - Toutes les charges utiles de test (intégrées, votre personnalité / aveugle) sont testées en parallèle avec l'encodeur. - Encodeur à double URL - Encodeur HTML HEX | |
| Séquence | - Vérifiez automatiquement la page spéciale pour XSS stocké ( --trigger )- Options de support ( --sequence ) pour XSS stocké, uniquement le mode sxss | |
| Http | Options HTTP | - Écraser la méthode HTTP ( -X , --method )- Suivez les redirectes ( --follow-redirects )- Ajouter en-tête ( -H , --header )- Ajouter du cookie ( -C , --cookie )- Ajouter User-Agent ( --user-agent )- Set TimeOut ( --timeout )- Régler Delay ( --delay )- Set Proxy ( --proxy )- Définir les codes de retour ignorer ( --ignore-return )- Chargez le cookie de la demande brute ( --cookie-from-raw ) |
| Concurrence | Travailleur | - Définir le numéro du travailleur ( -w , --worker ) |
| N * hôtes | - Utilisez le mode multidiffusion ( --multicast ), seul le mode file / pipe | |
| Sortir | Sortir | - Seul le code POC et les informations utiles sont écrites sous forme de stdout - Enregistrer la sortie ( -o , --output ) |
| Format | - JSON / PLAINE ( --format ) | |
| Impression | - Mode de silence ( --silence )- Vous pouvez choisir de ne pas imprimer la couleur ( --no-color )- Vous pouvez choisir de ne pas imprimer le spinner ( --no-spinner )- Vous pouvez choisir un code POC spécial uniquement afficher ( --only-poc ) | |
| Rapport | - Afficher le rapport détaillé ( --report et --report-format=<plain/json> ) | |
| Extensibilité | API REST | - API Server et Swagger ( dalfox server ) |
| Mode de charge utile | - Générer et énumérer les charges utiles pour les tests XSS ( dalfox payload ) | |
| Action trouvée | - Vous permet de spécifier les actions à prendre lorsqu'elle est détectée. - notifier, par exemple ( --found-action ) | |
| Grepping personnalisé | - peut grep avec des expressions régulières personnalisées sur la réponse - Si la détection en double, il effectue une déduplication ( --grep ) | |
| Charges utiles personnalisées | - Utilisez le fichier de liste des charges utiles personnalisées ( --custom-payload )- Valeur d'alerte personnalisée ( --custom-alert-value )- Type d'alerte personnalisé (- type --custom-alert-type ) | |
| Charges utiles distantes | - Utilisez des charges utiles distantes de PortSwigger, Payloadbox, etc. ( --remote-payloads ) | |
| Emballer | Gestionnaire de packages | - pkg.go.dev - Homebrew avec robinet - Snapcraft |
| Docker env | - Docker Hub - package github de docker | |
| Autre | - Action GitHub |
Et les différentes options requises pour les tests: D
brew install dalfox
# https://formulae.brew.sh/formula/dalfox sudo snap install dalfox
go install github.com/hahwul/dalfox/v2@latest
# The actual release might slightly differ. This is because go install references the main branch.Plus d'informations? Veuillez lire le guide d'installation
dalfox [mode] [target] [flags]
Mode cible unique
dalfox url http://testphp.vulnweb.com/listproducts.php ? cat = 123 & artist = 123 & asdf = ff
-b https://your-callback-urlMode cible multiple à partir du fichier
dalfox file urls_file --custom-payload ./mypayloads.txtMode pipeline
cat urls_file | dalfox pipe -H " AuthToken: bbadsfkasdfadsf87 "Autres conseils, voir Wiki pour des instructions détaillées!
Exemple de journal POC
[POC][G][BUILT-IN/dalfox-error-mysql/GET] http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123DalFox
[POC][V][GET] http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123%22%3E%3Csvg%2Fclass%3D%22dalfox%22onLoad%3Dalert%2845%29%3E
Format
| Identité | Taper | Information | VIDE | Code POC |
|---|---|---|---|---|
| POC | G | Intégré / dalfox-error-mysql / get | http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123Dalfox | |
| POC | R | OBTENIR | http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123%22%3E%3CSVG%2FClass%3D%22Dalfox%22onload%3DALert%2845%29%3E | |
| POC | V | OBTENIR | http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123%22%3E%3CSVG%2FClass%3D%22Dalfox%22onload%3DALert%2845%29%3E |
G (grep), R (reflété), V (Vérifier)Pourquoi y a-t-il un écart? Il s'agit d'une méthode pour faciliter l'analyse du code POC uniquement par le code POC, etc. Par exemple, vous pouvez le faire.
dalfox url http://testphp.vulnweb.com/listproducts.php ? cat = 123 & artist = 123 & asdf = ff
| cut -d " " -f 2 > output
cat output
# http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123DalFox
# http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123%22%3E%3Csvg%2FOnLoad%3D%22%60%24%7Bprompt%60%60%7D%60%22+class%3Ddalfox%3E package main
import (
"fmt"
dalfox "github.com/hahwul/dalfox/v2/lib"
)
func main () {
opt := dalfox. Options {
Cookie : "ABCD=1234" ,
}
result , err := dalfox . NewScan (dalfox. Target {
URL : "https://xss-game.appspot.com/level1/frame" ,
Method : "GET" ,
Options : opt ,
})
if err != nil {
fmt . Println ( err )
} else {
fmt . Println ( result )
}
}go build -o xssapp ; ./xssapp
# [] [{V GET https://xss-game.appspot.com/level1/frame?query=%3Ciframe+srcdoc%3D%22%3Cinput+onauxclick%3Dprint%281%29%3E%22+class%3Ddalfox%3E%3C%2Fiframe%3E}] 2.618998247s 2021-07-11 10:59:26.508483153 +0900 KST m=+0.000794230 2021-07-11 10:59:29.127481217 +0900 KST m=+2.619792477} |
Développer
Informations supplémentaires
Applications connexes
Recommandé pour vous
Actualités connexes
Tout
|
|---|