Otro cliente me pidió que verificara la seguridad de su SQL Server.
En el trabajo, eliminé el guión, lo comprobé no en el cliente, sino en el banco (no especificaré el nombre), es cierto en el servidor DEV, ¡y listo! - 522 SQL Login con contraseñas simples. Y este es un agujero de seguridad.
En general, propongo verificar vulnerabilidades similares en mi servidor SQL. Como recordará, la lista de contraseñas simples se complementa, algunas contraseñas simples, la tomé de las primeras 2-3 páginas después de buscar en Google.
El guión en sí:
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)