Non puoi, normalmente, eseguire un file .jar
(che è un file Java ARchive ) usando il comando open
su OS X. Non è un file eseguibile, non fornisce al sistema alcun suggerimento su come dovrebbe essere eseguito normalmente, quindi open
ti dà l'errore LSOpenURLsWithRole()
che vedi sopra.
Per prima cosa, devi installare Java sul tuo Mac. Il modo più semplice per farlo è aprire una finestra Terminal.app
e digitare:
java -version
Se restituisce una versione java come questa:
IanCsiMac:~ |ruby-2.1.5|
> java -version
java version "1.8.0_20"
Java(TM) SE Runtime Environment (build 1.8.0_20-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
Il gioco è fatto. Java è pronto per essere utilizzato. Se java non è presente sul tuo sistema, eseguendo quel comando comparirà una finestra che ti chiederà se vuoi installarlo. Segui le istruzioni e quando hai finito, java -version
ti mostrerà qualcosa di simile a ciò che vedi sopra. La versione potrebbe essere diversa, ma il comando ora funzionerà.
Ora devi eseguire il tuo file .jar
usando il comando java
. È necessario fornire tre opzioni al comando java
affinché funzioni correttamente:
- L'opzione
-jar
che dice a java
che stai eseguendo il contenuto di un file Java ARchive;
- Un'opzione di memoria per la Java Virtual Machine nel formato
-Xmx1024m
; e infine
- Il percorso del file
.jar
sul disco.
Per il tuo download apparirà tutto questo:
java -jar -Xmx1024m /Users/user/Downloads/burpsuite_free_v1.6.01.jar
Questo avvierà il programma TUTTAVIA ancora non sarà in grado di collegarsi alle porte 80 e 443. Quelle sono porte protette. Le porte < 1024 su qualsiasi macchina Mac OS X possono essere associate solo ai processi avviati come root
.
Il modo corretto di eseguire programmi come root
è di usare comando sudo , non a login
come root
utente. Ciò fornisce un livello di controllo e di riferimento indiretto alle tue azioni in modo da non fare qualcosa di sciocco accidentalmente come rm -rf /
senza un prompt che ti chieda se sei sicuro di voler fare una cosa così stupida.
Quindi, la forma finale del tuo comando sarà:
sudo java -jar -Xmx1024m /Users/user/Downloads/burpsuite_free_v1.6.01.jar
Ti verrà richiesta la password e, supponendo che nient'altro sia già associato alle porte 80 e 443, l'applicazione inizierà e sarà in ascolto su quelle porte.
Se fallisce perché non può legare a 80 e 443, dovrai scoprire cosa c'è già legato e chiuderlo. Puoi utilizzare il comando lsof per capirlo .
Per la porta 80 la chiamata è:
sudo lsof -iTCP:80 -sTCP:LISTEN -n -P
Per 443 è:
sudo lsof -iTCP:443 -sTCP:LISTEN -n -P
L'output di quel comando, supponendo che qualcosa sia in ascolto sulla porta, sarà simile a questo:
> sudo lsof -iTCP:80 -sTCP:LISTEN -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 50 root 9u IPv6 0x8978b255ac4ef0b7 0t0 TCP *:80 (LISTEN)
Come puoi vedere, ho un processo chiamato nginx
porta di ascolto 80. Ha l'ID di processo 50.
Posso uccidere quel processo con:
sudo pkill nginx
Questo non garantisce necessariamente che non provi a tornare indietro, ma come affrontare tutto questo completamente e completamente è meglio definirlo come una questione completamente separata sul sito.