O Dalfox é uma poderosa ferramenta de código aberto que se concentra na automação, tornando-o ideal para digitalizar rapidamente falhas de XSS e analisar parâmetros. Seu mecanismo de teste avançado e recursos de nicho foram projetados para otimizar o processo de detecção e verificação de vulnerabilidades.
Quanto ao nome, Dal (달) é a palavra coreana para "lua", enquanto "Fox" significa "Finder of XSS" ou?
Modo: url sxss pipe file server payload
| Aula | Recurso -chave | Descrição |
|---|---|---|
| Descoberta | Análise de parâmetros | - Encontre param refletido - Encontre altos/maus chars especiais, manipulador de eventos e código de ataque - Identificação de pontos de injeção (html/js/atributo) inHTML-none inJS-none inJS-double inJS-single inJS-backtick inATTR-none inATTR-double inATTR-single |
| Análise estática | - Verifique bad-he-header como csp, xfo, etc. com base req/res | |
| Análise BAV | - Testando BAV (Basic Outra Vulnerabilidade), por exemplo, sqli ssti open-redirects , crlf , esii | |
| Mineração de parâmetros | - Encontre um novo param com ataque de dicionário (o padrão é o GF-Patterns) -Suporte ao arquivo de dicionário personalizado ( --mining-dict-word )- Encontre novo param com DOM -Use o WordList remoto para mineração ( --remote-wordlists ) | |
| Grepping embutido | - Identifica o vazamento de informações básicas de SSTI, credencial, erro SQL, e assim por diante | |
| Detecção e evasão WAF | - Detecte -se com WAF (Firewall do aplicativo da Web). - se encontrado waf e usando bandeira especial, evasão usando a solicitação lenta --- --waf-evasion | |
| Varredura | Digitalização XSS | - XSS refletido / XSS / DOM XSS - Dom Base Verificando - Base sem cabeça verificando -Testes XSS cegos com param, cabeçalho ( -b , -opções --blind )-apenas testando parâmetros selecionados ( -p , --param )-Somente teste de análise de parâmetros ( --only-discovery ) |
| Oleoduto amigável | - Modo de URL único ( dalfox url )- Do modo de arquivo ( dalfox file urls.txt )- do modo io (pipeline) ( dalfox pipe )-Do modo de arquivo de solicitação http bruto ( dalfox file raw.txt --rawdata ) | |
| Consulta de otimização de cargas úteis | - Verifique o ponto de injeção através da abstração e gerou a carga útil de ajuste. - Eliminar cargas úteis desnecessárias com base em Badchar | |
| Codificador | - Todas as cargas úteis de teste (embutidas, seu costume/cego) são testadas em paralelo com o codificador. - para dobrar o codificador de URL - para HTML Hex Encoder | |
| Sequência | -Verifique automaticamente a página especial para XSS armazenado ( --trigger )-Opções de suporte ( --sequence ) para XSS armazenado, apenas o modo sxss | |
| Http | Opções HTTP | -substituir o método http ( -X , --method )-Siga os redirecionamentos ( --follow-redirects )-Adicionar cabeçalho ( -H , --header )-Adicione Cookie ( -C , --cookie )-Adicionar agente de usuário ( --user-agent )-Defina o timeout ( --timeout )-Defina o atraso ( --delay )-Definir proxy ( --proxy )-Conjunto de códigos de retorno ignore ( --ignore-return )-Carregue biscoito da Raw Solicy ( --cookie-from-raw ) |
| Simultaneidade | Trabalhador | -Defina o número do trabalhador ( -w , --worker ) |
| N * hosts | -Use o modo multicast ( --multicast ), apenas o modo file / pipe | |
| Saída | Saída | - Somente o código POC e as informações úteis são escritos como stdout -Salvar saída ( -o , --output ) |
| Formatar | -JSON / PLAIN ( --format ) | |
| Impressão | -Modo de silêncio ( --silence )-Você pode optar por não imprimir a cor ( --no-color )-Você pode optar por não imprimir o spinner ( --no-spinner )-Você pode escolher mostrar apenas código POC especial ( --only-poc ) | |
| Relatório | -Mostrar Relatório de detalhe ( --report e --report-format=<plain/json> ) | |
| Extensibilidade | Rest API | - Servidor API e Swagger ( dalfox server ) |
| Modo de carga útil | - Gere e enumerará cargas úteis para testes XSS ( dalfox payload ) | |
| Ação encontrada | - Permite especificar as ações a serem executadas quando detectadas. -Notificar, por exemplo ( --found-action ) | |
| Grepping personalizado | - pode grep com expressões regulares personalizadas sobre resposta -Se a detecção duplicada, ele executa desduplicação ( --grep ) | |
| Cargas úteis personalizadas | -Use Arquivo de Lista de Cargas Pays personalizadas ( --custom-payload )-Valor de alerta personalizado ( --custom-alert-value )-Tipo de alerta personalizado ( --custom-alert-type ) | |
| Cargas úteis remotas | -Use cargas úteis remotas de PortSwigger, PayloadBox, etc. ( --remote-payloads ) | |
| Pacote | Gerente de pacotes | - pkg.go.dev - Homebrew com torneira - Snapcraft |
| Docker Env | - Docker Hub - pacote github de docker | |
| Outro | - Ação do Github |
E as várias opções necessárias para o teste: 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.Mais informações? Leia o Guia de Instalação
dalfox [mode] [target] [flags]
Modo de destino único
dalfox url http://testphp.vulnweb.com/listproducts.php ? cat = 123 & artist = 123 & asdf = ff
-b https://your-callback-urlModo de destino múltiplo do arquivo
dalfox file urls_file --custom-payload ./mypayloads.txtModo de pipeline
cat urls_file | dalfox pipe -H " AuthToken: bbadsfkasdfadsf87 "Outras dicas, consulte o Wiki para obter instruções detalhadas!
Amostra de log 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
Formatar
| Identidade | Tipo | Informação | EM BRANCO | Código POC |
|---|---|---|---|---|
| POC | G | Interno/dalfox-error-mysql/get | http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123DalFox | |
| POC | R | PEGAR | http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123%22%3e%3csvg%2fclass%3D%22DalFox%2onload%3DalerTeR%284593D%22DalFox%2onload%3DalerTe | |
| POC | V | PEGAR | http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123%22%3e%3csvg%2fclass%3D%22DalFox%2onload%3DalerTeR%284593D%22DalFox%2onload%3DalerTe |
G (grep), R (refletido), V (verifique)Por que há uma lacuna? É um método para facilitar a análise apenas do código POC através do corte etc. Por exemplo, você pode fazer isso.
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} |
Expandir
Informações adicionais
Aplicativos Relacionados
Recomendado para você
Informações Relacionadas
Todos
|
|---|