Outro cliente me pediu para verificar a segurança do SQL Server.
No trabalho, tracei o script, verifiquei não no cliente, mas no trabalho no banco (não especificarei o nome), é verdade no servidor DEV e pronto! - 522 SQL Login com senhas simples. E isso é uma brecha na segurança.
Em geral, proponho verificar vulnerabilidades semelhantes no meu SQL Server. A lista de senhas simples é complementada, como você se lembra, algumas senhas simples, que tirei das primeiras 2 a 3 páginas após pesquisar no Google.
O script em si:
declare @popular_passwords table ( pwd varchar(4000) not null ) insert @popular_passwords VALUES ('!@#$%^&*') ,('000000') ,('1') ,('11') ,('111') ,('1111') ,('11111') ,('111111') ,('121212') ,('123123') ,('12') ,('123') ,('1234') ,('12345') ,('123456') ,('1234567') ,('12345678') ,('123456789') ,('1234567890') ,('131313') ,('1qaz2wsx') ,('55555') ,('654321') ,('666666') ,('696969') ,('7777777') ,('987654') ,('987654321') ,('aa123456') ,('abc123') ,('abcd1234') ,('admin') ,('affair') ,('amanda') ,('andrew') ,('anthony') ,('asdfasdf') ,('asdfg') ,('asdfgh') ,('asdfghjkl') ,('ashley') ,('ashleymadison') ,('asshole') ,('baseball') ,('batman') ,('bigdick') ,('buster') ,('charlie') ,('cheater') ,('computer') ,('corvette') ,('cowboys') ,('dallas') ,('DEFAULT') ,('donald') ,('dragon') ,('football') ,('freedom') ,('fuckme') ,('fuckoff') ,('fuckyou') ,('george') ,('harley') ,('hello') ,('hockey') ,('horny') ,('hosts') ,('hunter') ,('iloveyou') ,('jackson') ,('jennifer') ,('jessica') ,('jordan') ,('jordan23') ,('kazuga') ,('killer') ,('letmein') ,('liverpool') ,('looking') ,('madison') ,('maggie') ,('master') ,('matthew') ,('michael') ,('money') ,('monkey') ,('mustang') ,('P@ssw0rd') ,('P@ssword') ,('Pa$$w0rd') ,('Pa$$word') ,('password') ,('password1') ,('pepper') ,('princess') ,('pussy') ,('qazwsx') ,('qwert') ,('qwerty') ,('qwerty123') ,('qwertyuiop') ,('ranger') ,('robert') ,('secret') ,('shadow') ,('soccer') ,('steelers') ,('summer') ,('sunshine') ,('superman') ,('thomas') ,('tigger') ,('welcome') ,('whatever') ,('william') ,('yankees') ,('zxcvbnm') select l.name, p.pwd, l.type_desc, l.is_disabled, sl.sysadmin, sl.dbcreator, sl.serveradmin from @popular_passwords p join sys.sql_logins l on pwdcompare(p.pwd,l.password_hash)=1 join sys.syslogins sl on sl.name = l.name union all select -- l.name, l.name, l.type_desc, l.is_disabled, sl.sysadmin, sl.dbcreator, sl.serveradmin from sys.sql_logins l join sys.syslogins sl on sl.name = l.name and pwdcompare(l.name,l.password_hash)=1 order by 4, 5 desc, 1 option(recompile)