Skip to content

Commit 002633b

Browse files
Merge pull request #6 from theinfosecguy/dev_app
QuickXSS v2.0.0
2 parents b678512 + 235ba2f commit 002633b

File tree

1 file changed

+100
-13
lines changed

1 file changed

+100
-13
lines changed

QuickXSS.sh

100644100755
Lines changed: 100 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,119 @@
22

33
set -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

Comments
 (0)