dont sanitize single char tokens, add file extensions to whitelist, minor giturl fix

pull/13/head
Simon Let 6 years ago
parent c9f703bc7f
commit c48b819589
  1. 13
      sanitize-history/resh-sanitize-history.go
  2. 69
      sanitizer_data/whitelist.txt

@ -264,6 +264,9 @@ func (s *sanitizer) sanitizeCmdLine(cmdLine string) (string, error) {
} }
func (s *sanitizer) sanitizeGitURL(rawURL string) (string, error) { func (s *sanitizer) sanitizeGitURL(rawURL string) (string, error) {
if len(rawURL) <= 0 {
return rawURL, nil
}
parsedURL, err := giturls.Parse(rawURL) parsedURL, err := giturls.Parse(rawURL)
if err != nil { if err != nil {
return rawURL, err return rawURL, err
@ -272,6 +275,9 @@ func (s *sanitizer) sanitizeGitURL(rawURL string) (string, error) {
} }
func (s *sanitizer) sanitizeURL(rawURL string) (string, error) { func (s *sanitizer) sanitizeURL(rawURL string) (string, error) {
if len(rawURL) <= 0 {
return rawURL, nil
}
parsedURL, err := url.Parse(rawURL) parsedURL, err := url.Parse(rawURL)
if err != nil { if err != nil {
return rawURL, err return rawURL, err
@ -280,7 +286,6 @@ func (s *sanitizer) sanitizeURL(rawURL string) (string, error) {
} }
func (s *sanitizer) sanitizeParsedURL(parsedURL *url.URL) (string, error) { func (s *sanitizer) sanitizeParsedURL(parsedURL *url.URL) (string, error) {
// Scheme string
parsedURL.Opaque = s.sanitizeToken(parsedURL.Opaque) parsedURL.Opaque = s.sanitizeToken(parsedURL.Opaque)
userinfo := parsedURL.User.Username() // only get username => password won't even make it to the sanitized data userinfo := parsedURL.User.Username() // only get username => password won't even make it to the sanitized data
@ -330,7 +335,8 @@ func (s *sanitizer) sanitizeTwoPartToken(token string, delimeter string) (string
func (s *sanitizer) sanitizeCmdToken(token string) (string, error) { func (s *sanitizer) sanitizeCmdToken(token string) (string, error) {
// there shouldn't be tokens with letters or digits mixed together with symbols // there shouldn't be tokens with letters or digits mixed together with symbols
if len(token) <= 0 { if len(token) <= 1 {
// NOTE: do not sanitize single letter tokens
return token, nil return token, nil
} }
if s.whitelist[token] == true { if s.whitelist[token] == true {
@ -366,7 +372,8 @@ func (s *sanitizer) sanitizeCmdToken(token string) (string, error) {
} }
func (s *sanitizer) sanitizeToken(token string) string { func (s *sanitizer) sanitizeToken(token string) string {
if len(token) <= 0 { if len(token) <= 1 {
// NOTE: do not sanitize single letter tokens
return token return token
} }
if s.whitelist[token] { if s.whitelist[token] {

@ -33,6 +33,8 @@ arch
arpd arpd
arping arping
as as
asm
au
autoload autoload
awk awk
b2sum b2sum
@ -49,11 +51,13 @@ bin
bind bind
bindkey bindkey
bisect bisect
blend
blkdeactivate blkdeactivate
blkdiscard blkdiscard
blkid blkid
blkzone blkzone
blockdev blockdev
bmp
boot boot
bootctl bootctl
branch branch
@ -65,6 +69,7 @@ builtin
bunzip2 bunzip2
busctl busctl
bye bye
bz2
bzcat bzcat
bzcmp bzcmp
bzdiff bzdiff
@ -76,6 +81,7 @@ bzip2
bzip2recover bzip2recover
bzless bzless
bzmore bzmore
c
cal cal
ca-legacy ca-legacy
caller caller
@ -84,9 +90,11 @@ captoinfo
case case
cat cat
catchsegv catchsegv
cc
cd cd
certutil certutil
cfdisk cfdisk
cfg
c++filt c++filt
chacl chacl
chage chage
@ -109,6 +117,7 @@ chroot
chrt chrt
chsh chsh
cksum cksum
class
clear clear
clear_console clear_console
clock clock
@ -141,6 +150,7 @@ compset
comptags comptags
comptry comptry
compvalues compvalues
conf
continue continue
convert convert
coproc coproc
@ -148,6 +158,7 @@ coredumpctl
cp cp
cpgr cpgr
cpio cpio
cpp
cppw cppw
cracklib-check cracklib-check
cracklib-format cracklib-format
@ -156,6 +167,8 @@ cracklib-unpacker
create-cracklib-dict create-cracklib-dict
crlutil crlutil
csplit csplit
css
csv
ctrlaltdel ctrlaltdel
ctstat ctstat
curl curl
@ -164,6 +177,7 @@ cvtsudoers
cz cz
dash dash
date date
db
db_archive db_archive
db_checkpoint db_checkpoint
db_deadlock db_deadlock
@ -191,6 +205,7 @@ dbus-update-activation-environment
dbus-uuidgen dbus-uuidgen
db_verify db_verify
dd dd
deb
debconf debconf
debconf-apt-progress debconf-apt-progress
debconf-communicate debconf-communicate
@ -207,6 +222,7 @@ delgroup
delpart delpart
deluser deluser
depmod depmod
desktop
dev dev
devlink devlink
df df
@ -243,6 +259,7 @@ dpkg-split
dpkg-statoverride dpkg-statoverride
dpkg-trigger dpkg-trigger
dracut dracut
dtd
du du
dumpe2fs dumpe2fs
dwp dwp
@ -334,6 +351,7 @@ getopt
getopts getopts
getpcaps getpcaps
getty getty
gif
gio gio
gio-launch-desktop gio-launch-desktop
gio-querymodules-64 gio-querymodules-64
@ -369,8 +387,10 @@ grpunconv
gsettings gsettings
gtar gtar
gunzip gunzip
gz
gzexe gzexe
gzip gzip
h
halt halt
hardlink hardlink
hash hash
@ -382,6 +402,8 @@ home
hostid hostid
hostname hostname
hostnamectl hostnamectl
htm
html
http http
https https
hwclock hwclock
@ -414,6 +436,8 @@ ipcrm
ipcs ipcs
ischroot ischroot
isosize isosize
jar
java
jobs jobs
join join
journalctl journalctl
@ -423,6 +447,9 @@ kill
killall5 killall5
kmod kmod
kpartx kpartx
ksp
kss
kwd
last last
lastb lastb
lastlog lastlog
@ -486,15 +513,21 @@ lusermod
lz4 lz4
lz4c lz4c
lz4cat lz4cat
m3u
m4a
m4p
machinectl machinectl
make make
makedb makedb
makedeltarpm makedeltarpm
make-dummy-cert make-dummy-cert
man
mapfile mapfile
mawk mawk
mcookie mcookie
md5
md5sum md5sum
md5sums
md5sum.textutils md5sum.textutils
media media
merge merge
@ -518,6 +551,7 @@ mkpasswd
mkswap mkswap
mktemp mktemp
mnt mnt
mo
modinfo modinfo
modprobe modprobe
modulemd-validator-v1 modulemd-validator-v1
@ -525,6 +559,8 @@ modutil
more more
mount mount
mountpoint mountpoint
mp3
mpg
mv mv
namei namei
nawk nawk
@ -546,9 +582,11 @@ nproc
nsenter nsenter
nstat nstat
numfmt numfmt
o
objcopy objcopy
objdump objdump
od od
ogg
oldfind oldfind
openssl openssl
opt opt
@ -567,12 +605,17 @@ pam_timestamp_check
partx partx
passwd passwd
paste paste
patch
pathchk pathchk
pdf
perl perl
perl5.26.1 perl5.26.1
perl5.28.1 perl5.28.1
pgawk pgawk
pgrep pgrep
php
phps
phtml
pidof pidof
pinentry pinentry
pinentry-curses pinentry-curses
@ -588,11 +631,15 @@ pivot_root
pk12util pk12util
pkg-config pkg-config
pkill pkill
pl
pldd pldd
pls
pmap pmap
png
policy-rc.d policy-rc.d
popd popd
portablectl portablectl
pov
poweroff poweroff
pr pr
print print
@ -601,6 +648,7 @@ printf
private private
prlimit prlimit
proc proc
properties
ps ps
ptx ptx
pull pull
@ -615,9 +663,12 @@ pwhistory_helper
pwmake pwmake
pwscore pwscore
pwunconv pwunconv
py
pyc
pydoc pydoc
pydoc3 pydoc3
pydoc3.7 pydoc3.7
pyo
python python
python2 python2
python2.7 python2.7
@ -630,6 +681,8 @@ r
ranlib ranlib
raw raw
rbash rbash
rc
rdf
rdisc rdisc
rdma rdma
read read
@ -685,6 +738,7 @@ rpmquery
rpmverify rpmverify
rtacct rtacct
rtcwake rtcwake
rtf
rtmon rtmon
rtstat rtstat
run run
@ -695,6 +749,7 @@ run-parts
runuser runuser
rvi rvi
rview rview
s
sasldblistusers2 sasldblistusers2
saslpasswd2 saslpasswd2
savelog savelog
@ -731,6 +786,7 @@ sha256sum
sha384sum sha384sum
sha512sum sha512sum
shadowconfig shadowconfig
share
sh.distrib sh.distrib
shift shift
shopt shopt
@ -748,6 +804,7 @@ slabtop
sleep sleep
sln sln
snice snice
so
sort sort
sotruss sotruss
source source
@ -821,6 +878,8 @@ telinit
tempfile tempfile
test test
testgdbm testgdbm
tga
tgz
then then
tic tic
time time
@ -843,9 +902,11 @@ truncate
trust trust
tset tset
tsort tsort
ttf
tty tty
ttyctl ttyctl
tune2fs tune2fs
txt
type type
typeset typeset
tzconfig tzconfig
@ -907,6 +968,7 @@ wait
wall wall
watch watch
watchgnupg watchgnupg
wav
wc wc
wdctl wdctl
weak-modules weak-modules
@ -923,9 +985,14 @@ w.procps
write write
x86_64 x86_64
xargs xargs
xbel
xml
xmlcatalog xmlcatalog
xmllint xmllint
xmlwf xmlwf
xpm
xsd
xsl
xz xz
xzcat xzcat
xzcmp xzcmp
@ -948,6 +1015,7 @@ yum-debug-dump
yum-debug-restore yum-debug-restore
yumdownloader yumdownloader
yum-groups-manager yum-groups-manager
Z
zcat zcat
zcmp zcmp
zcompile zcompile
@ -959,6 +1027,7 @@ zforce
zformat zformat
zgrep zgrep
zic zic
zip
zle zle
zless zless
zmodload zmodload

Loading…
Cancel
Save