Add script to dump passwordstore
and enable comments in the check script.
This commit is contained in:
parent
b2907f3bb1
commit
4c9798f1a1
3 changed files with 29 additions and 1 deletions
|
@ -3,10 +3,13 @@
|
||||||
These are my scripts to the haveibeenpwned.com api.
|
These are my scripts to the haveibeenpwned.com api.
|
||||||
... To be extended ...
|
... To be extended ...
|
||||||
|
|
||||||
|
> :fire: **Keep in mind that your passwordlist is highly confidential and you should be
|
||||||
|
able to delete it securely after finished.**
|
||||||
|
|
||||||
## checkPasswordList.sh
|
## checkPasswordList.sh
|
||||||
|
|
||||||
This script checks a list of passwords against the api and reports whether they hae been compromised.
|
This script checks a list of passwords against the api and reports whether they hae been compromised.
|
||||||
|
Lines starting with <space># are considered comments.
|
||||||
The passwords themselfs will NOT be send to the web-api.
|
The passwords themselfs will NOT be send to the web-api.
|
||||||
haveibeenpwned.com's k-anonymity model is used.
|
haveibeenpwned.com's k-anonymity model is used.
|
||||||
More info can be found here https://haveibeenpwned.com/API/v2#PwnedPasswords
|
More info can be found here https://haveibeenpwned.com/API/v2#PwnedPasswords
|
||||||
|
@ -21,3 +24,8 @@ __: Password c60e6754-8abf-4c0f-a7a7-2225da28637f has not been pwned.
|
||||||
__: Password c60e6754-8a f-4c0f-a7a -2225da28637f has not been pwned.
|
__: Password c60e6754-8a f-4c0f-a7a -2225da28637f has not been pwned.
|
||||||
==: 1 of 3 passwords have been pwned.
|
==: 1 of 3 passwords have been pwned.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## dumpPasswordstore.sh
|
||||||
|
Dump the passwords from [passwordstore](https://www.passwordstore.org/) into
|
||||||
|
a list to be used with checkPasswordList.sh.
|
||||||
|
The filenames will be masked as comments (see above).
|
||||||
|
|
|
@ -26,7 +26,7 @@ fi
|
||||||
echo "Checking passwords from list $1"
|
echo "Checking passwords from list $1"
|
||||||
|
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
for p in $(cat < "$pfile"); do
|
for p in $(grep --invert-match '^ #' $pfile); do
|
||||||
((cPswds++))
|
((cPswds++))
|
||||||
## Hash the password, filter non-hashy things (" -" at the end),
|
## Hash the password, filter non-hashy things (" -" at the end),
|
||||||
## translate to upper for the beauty
|
## translate to upper for the beauty
|
||||||
|
|
20
dumpPasswordstore.sh
Executable file
20
dumpPasswordstore.sh
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
## A script to decrypt and dump the passwords
|
||||||
|
## from passwordstore to a simple list.
|
||||||
|
|
||||||
|
prefix=${PASSWORD_STORE_DIR:=~/.password-store}
|
||||||
|
|
||||||
|
## Set the IFS to account for spaces in filenames
|
||||||
|
IFS=$(echo -en "\n\b")
|
||||||
|
|
||||||
|
for file in $(find $prefix -name '*.gpg')
|
||||||
|
do
|
||||||
|
nicename=$(echo $file \
|
||||||
|
| cut --characters ${#prefix}- \
|
||||||
|
| cut --characters 3- \
|
||||||
|
| rev | cut --characters 5- | rev
|
||||||
|
)
|
||||||
|
echo " # "$nicename
|
||||||
|
gpg --quiet --decrypt $file | head -n 1
|
||||||
|
done
|
Loading…
Reference in a new issue