Merge branch 'unix-ninja-master'

This commit is contained in:
Offensive Security 2016-09-12 22:07:44 +00:00
commit 79d7b397e6
2 changed files with 29 additions and 1 deletions

View file

@ -23,11 +23,13 @@ Example:
-e, --exact Perform an EXACT match on exploit title (Default is AND) [Implies "-t"].
-h, --help Show this help screen.
-j, --json Show result in JSON format.
-m, --mirror Mirror (Copy) exploit to current path.
-o, --overflow Exploit title's are allowed to overflow their columns.
-p, --path Show the full path to an exploit (Copies path to clipboard if possible).
-t, --title Search just the exploit title (Default is title AND the file's path).
-u, --update Update exploit database from git.
-w, --www Show URLs to Exploit-DB.com rather than local path.
-x, --examine Examine exploit in terminal pager.
--colour Disable colour highlighting.
--id Display EDB-ID value rather than local path.

View file

@ -23,8 +23,10 @@ progname="$( basename "$0" )"
## Default options
COLOUR=1
COPY_EXPLOIT=0
EDBID=0
EXACT=0
EXAMINE=0
FILEPATH=1
GETPATH=0
JSON=0
@ -64,11 +66,13 @@ function usage()
echo " -e, --exact Perform an EXACT match on exploit title (Default is AND) [Implies \"-t\"]."
echo " -h, --help Show this help screen."
echo " -j, --json Show result in JSON format."
echo " -m, --mirror Mirror (Copy) exploit to current path."
echo " -o, --overflow Exploit title's are allowed to overflow their columns."
echo " -p, --path Show the full path to an exploit (Copies path to clipboard if possible)."
echo " -t, --title Search just the exploit title (Default is title AND the file's path)."
echo " -u, --update Update exploit database from git."
echo " -w, --www Show URLs to Exploit-DB.com rather than local path."
echo " -x, --examine Examine exploit in terminal pager."
echo " --colour Disable colour highlighting."
echo " --id Display EDB-ID value rather than local path."
echo
@ -150,6 +154,9 @@ for param in "$@"; do
SCASE=1
elif [[ "${param}" == "--exact" ]]; then
EXACT=1
elif [[ "${param}" == "--examine" ]]; then
GETPATH=1
EXAMINE=1
elif [[ "${param}" == "--help" ]]; then
usage >&2
elif [[ "${param}" == "--json" ]]; then
@ -180,7 +187,7 @@ done
## Parse short arguments
while getopts "cehjoptuw" arg "${ARGS}"; do
while getopts "cehjmoptuwx" arg "${ARGS}"; do
if [[ "${arg}" = "?" ]]; then
usage >&2;
fi
@ -189,11 +196,13 @@ while getopts "cehjoptuw" arg "${ARGS}"; do
e) EXACT=1;;
h) usage >&2;;
j) JSON=1;;
m) COPY_EXPLOIT=1;;
o) OVERFLOW=1;;
p) GETPATH=1;;
t) FILEPATH=0;;
u) update;;
w) WEBLINK=1;;
x) GETPATH=1; EXAMINE=1;;
esac
shift $(( OPTIND - 1 ))
done
@ -229,6 +238,16 @@ if [[ "${GETPATH}" -eq 1 ]]; then
fi
fi
if [[ "${EXAMINE}" -eq 1 ]]; then
if [[ "${PAGER}" ]]; then
/bin/sh -c ${PAGER} ${location}
elif [[ -f "$(which pager 2> /dev/null)" ]]; then
pager ${location}
else
less ${location}
fi
fi
## Done
exit 0
else
@ -240,6 +259,13 @@ if [[ "${GETPATH}" -eq 1 ]]; then
fi
fi
if [[ "${COPY_EXPLOIT}" -eq 1 ]]; then
for exploit in $TAGS; do
find ${cvspath} -name ${exploit}'.*' -exec cp {} . \; -exec echo 'Copied {} to '$(pwd) \;
done
exit 0
fi
## If we are doing an exact match, do not check folder path.
if [[ "${EXACT}" -eq 1 ]]; then