22
33set -e
44
5- echo -e " \e[1;31m
5+ bold=" \e[1m"
6+ version=" 1.2.0"
7+ red=" \e[1;31m"
8+ green=" \e[32m"
9+ blue=" \e[34m"
10+ cyan=" \e[0;36m"
11+ end=" \e[0m"
12+
13+ echo -e " $cyan
614 ██████╗ ██╗ ██╗██╗ ██████╗██╗ ██╗ ██╗ ██╗███████╗███████╗
715 ██╔═══██╗██║ ██║██║██╔════╝██║ ██╔╝ ╚██╗██╔╝██╔════╝██╔════╝
816 ██║ ██║██║ ██║██║██║ █████╔╝ ╚███╔╝ ███████╗███████╗
917 ██║▄▄ ██║██║ ██║██║██║ ██╔═██╗ ██╔██╗ ╚════██║╚════██║
1018 ╚██████╔╝╚██████╔╝██║╚██████╗██║ ██╗ ██╔╝ ██╗███████║███████║
1119 ╚══▀▀═╝ ╚═════╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝
12-
13- \e[0m "
20+ $end "
21+
22+ printf " $bold$blue ** Developed by theinfosecguy <3 ** \n\n$end "
23+
24+ contruct_mode (){
25+ if [ -d " results" ]
26+ then
27+ cd results;
28+ else
29+ mkdir results;
30+ cd results;
31+ fi
32+
33+ echo -e " ${green} Creating Directory for $1 ....$end " ;
34+
35+ if [ -d " $1 " ]; then
36+ printf " $red $1 Directory already exits. Please try again.\n\n$end " ;
37+ exit 1;
38+ fi
39+
40+ mkdir $1
41+ cd $1
42+
43+ echo -e " \nFinding URLs for $domain using Waybackurls ...."
44+
45+ echo " $domain " | waybackurls | tee " $domain " .txt > /dev/null 2>&1 ;
46+ printf " URLS fetched using waybackurls & Stored in $blue$domain .txt$end "
47+ printf " \n\nFinding URLs for $domain using gau ....\n"
48+ echo " $1 " | gau | tee -a $domain .txt > /dev/null 2>&1 ;
49+ printf " URLS fetched using gau & appended in $blue$domain .txt$end \n\n"
1450
51+ echo -e " \nFinding valid URLs for XSS using GF Patterns \n"
1552
16- echo -e " \n\n "
53+ cat " $domain " .txt | gf xss | sed ' s/=.*/=/ ' | sed ' s/URL: // ' | tee " $domain " _temp_xss.txt > /dev/null 2>&1 ;
1754
18- echo -e " \e[1;34mCreating Directory for $1 .... \e[0m"
55+ sort " $domain " _temp_xss.txt | uniq | tee " $domain " _xss.txt > /dev/null 2>&1 ;
56+ printf " \nXSS Vulnerable URL's added to $blue " $domain " _xss.txt$end \n\n"
57+ }
1958
20- mkdir $1
21- cd $1
59+ usage (){
60+ printf " QuickXSS Usage:\n\n"
61+ printf " ./QuickXSS.sh -d <target.com>\n"
62+ printf " ./QuickXSS.sh -d <target.com> -b <blindxss.xss.ht>\n"
63+ printf " ./QuickXSS.sh -d <target.com> -o xss_results.txt \n"
64+ printf " ./QuickXSS.sh -d <target.com> -b <blindxss.xss.ht> -o xss_results.txt\n\n"
65+ exit 1;
66+ }
2267
23- echo -e " \e[1;34m\nFinding URLs for $1 .... \n \e[0m"
68+ missing_arg (){
69+ echo -e " ${red}${bold} Missing Argument $1 $end \n" ;
70+ usage;
71+ }
2472
25- echo " $1 " | waybackurls | tee $1 .txt
73+ # Handling user arguments
74+ while [ -n " $1 " ]; do
75+ case $1 in
76+ -d|--domain)
77+ domain=$2
78+ shift ;;
79+ -b|--blind)
80+ blind=$2
81+ shift
82+ ;;
83+ -o| --output)
84+ out=$2
85+ shift
86+ ;;
87+ -h|--help)
88+ usage
89+ ;;
90+ -v|--version)
91+ echo " Version of QuickXSS: $version "
92+ exit 0 ;;
93+ * )
94+ echo " [-] Unknown Option: $1 "
95+ usage ;;
96+ esac
97+ shift
98+ done
2699
27- echo -e " \e[1;31m\nFinding valid URLs for XSS \n \e[0m"
100+ # Creating Dir and fetch urls for a domain
101+ [[ $domain ]] && contruct_mode " $domain " || missing_arg " -d" ;
28102
29- cat $1 .txt | gf xss | sed ' s/=.*/=/' | sed ' s/URL: //' | tee $1 _temp_xss.txt
103+ # Check if Results Argument is present or not.
104+ if [ -z " $out " ]
105+ then
106+ out=" results.txt"
107+ printf " No Output File selected, Results will be stored in $out \n"
108+ fi
30109
31- sort $1 _temp_xss.txt | uniq | tee $1 _xss.txt
110+ # STart XSS Hunting by checking if Blind XSS payload is present or not.
111+ if [ -z " $blind " ] ; then
112+ echo " XSS Automation Started using Dalfox.."
113+ dalfox file $domain_xss .txt -o $out
114+ else
115+ echo " XSS Automation Started using Dalfox with your Blind Payload.."
116+ dalfox file " $domain " _xss.txt -b $blind -o $out
117+ fi
32118
33- dalfox file $1 _xss.txt pipe -b $2
119+ # Final Result
120+ echo -e " XSS automation completed, Results stored in$blue results/$domain ${end} Directory"
0 commit comments