Saturday, December 22, 2012

Shared Bash Scripts #1 - Http Method Identifination


 Σε συνεχεια των Shared Bash Scripts εκλεψα και θα παρουσιασω ενα μικρο script που η εκτέλεση του σας παρουσιαζει ποιες μεθόδους ειναι ανοιχτές σε ένα site.

Για το σκοπο αυτο δηλωνουμε μια λιστα και εκει θα δωσουμε οποια μεθοδο θελουμε να τεσταρουμε. Με ενα loop μεσα στη λιστα θα καλεσουμε τη μεθοδο σε ενα τυπικο HTTP request που περνει τη μια και μοναδικη παραμετρο που απαιτειται, το url του στοχου και θα το περασουμε απο το netcat, που θα ακουει τη port 80. Η μονη προυποθεση οπότε είναι να εχουμε εγκατεστημένο το nc. Οπως καταλαβαινετε θα μπορουσαμε να ρυθμισουμε ειτε hard-code έιτε με παραμέτρους για να τσεκάραμε αλλες πορτες.

Αυτό ήταν! Πιο απλό δε γίνεται!
#!/bin/bash
for webservmethod in GET POST PUT TRACE CONNECT OPTIONS PROPFIND;
do

printf "$webservmethod " ;
printf "$webservmethod / HTTP/1.1\nHost: $1\n\n" | nc -q 1 $1 80 | grep "HTTP/1.1"
done