One such story, which happened back in 2000 with a certain young man, prompted me to begin such a study. Not being a hacker, he wanted to crack the mailbox of one person. Her login ended in two digits, like this: masha86@mail.com. After the trivial passwords that did not come up, the guy suggested that the password might look like this: mashaDD, where DD is two random numbers. The complexity of this attack is only 100 attempts, and at about the twentieth attempt the password came up, the box was cracked. What can you not do in your youth because of jealousy and for the sake of love ...
Mail passwords | Passwords from the site | |||||
amount | ‰ | amount | ‰ | |||
Password is equal to login | 86908 | 14.3 | Password is equal to login | 49327 | 14.0 | |
Top 1 "123456" | 82830 | 13.6 | Top 1 "qwerty" | 33322 | 9.5 | |
Top 2 qwerty | 53144 | 8.7 | Top 2 "123456" | 21775 | 6.2 |
Mail passwords | Passwords from the site | ||||
Type of attack | Complexity | amount | ‰ | amount | ‰ |
Password and login are different one last character | ~ 70 | 1835 | 0.30 | 20869 (!) | 5.93 |
Differ by two characters, and the numbers: | 100 | 1702 | 0.28 | 1226 | 0.35 |
One character added for password | ~ 100 | 5508 | 0.90 | 1930 | 0.55 |
Or two | ~ 10,000 | 5087 | 0.84 | 3269 | 0.93 |
Added 4, but only numbers | from 100 up to 10,000 | 7267 | 1.19 | 3252 | 0.92 |
123456 | 82830 |
qwerty | 53144 |
123456789 | 23286 |
111111 | 13831 |
qwertyuiop | 12399 |
qwe123 | 9021 |
1234567890 | 8364 |
1234567 | 7452 |
12345 | 6420 |
password | 6410 |
12345678 | 6374 |
123321 | 6170 |
7777777 | 5861 |
123123 | 5533 |
0 | 4977 |
666666 | 4197 |
1qaz2wsx | 4181 |
qazwsx | 4143 |
1q2w3e4r | 3982 |
654321 | 3760 |
555555 | 3539 |
123qwe | 2973 |
1q2w3e4r5t | 2967 |
zxcvbnm | 2832 |
qweqwe | 2816 |
gfhjkm | 2806 |
1q2w3e | 2748 |
klaster | 2695 |
112233 | 2565 |
121212 | 2445 |
987654321 | 2371 |
159753 | 2338 |
777777 | 2204 |
qwer1234 | 2015 |
1234qwer | 1999 |
qwerty123 | 1846 |
1234 | 1801 |
asdfgh | 1779 |
abc123 | 1722 |
123654 | 1568 |
222222 | 1557 |
I love you | 1508 |
987654321 | 1432 |
samsung | 1427 |
zxcvbn | 1422 |
ghbdtn | 1313 |
88888888 | 1311 |
marina | 1284 |
131313 | 1268 |
asdfghjkl | 1243 |
qwerty | 33322 |
123456 | 21775 |
(empty password) | 20002 |
UsdopaA (bots) | 16016 |
123456789 | 8298 |
1234567890 | 4117 |
qwertyuiop | 2247 |
123321 | 2235 |
1234567 | 2214 |
1q2w3e4r5t | 2142 |
111111 | 2004 |
1q2w3e4r | 1682 |
123qwe | 1554 |
123123 | 1364 |
qazwsx | 1319 |
1q2w3e | 1256 |
qazwsxedc | 1196 |
qwe123 | 1186 |
qweasdzxc | 1126 |
9379992 | 1020 |
0 | 1018 |
4815162342 | 1015 |
I love you | 991 |
12345678 | 979 |
666666 | 977 |
zxcvbnm | 957 |
asdfgh | 930 |
Jskasgfdfjg | 923 |
gfhjkm | 914 |
qwertyuiop [] | 904 |
1234qwer | 899 |
1q2w3e4r5t6y | 890 |
qwerty123 | 839 |
nastya | 799 |
555555 | 770 |
987654321 | 755 |
ghbdtn | 746 |
12345qwert | 740 |
159753 | 737 |
loveyou | 735 |
1234554321 | 716 |
7777777 | 711 |
1qaz2wsx | 708 |
123123123 | 679 |
samsung | 670 |
123qweasdzxc | 662 |
adidas | 642 |
asdfghjkl | 641 |
789456123 | 636 |
################################################ DATA <- readRDS( file = "ClearData.rds" ) ################################################ ################################################ # : 3520000 nrow(DATA) # : 49327 length( which( DATA$login == DATA$passwd) ) ################################################ # : 1930 length( which( substr( DATA$login ,0, nchar(DATA$login) ) == substr( DATA$passwd ,0, nchar(DATA$passwd)-1 ) ) ) # : 3269 length( which( substr( DATA$login ,0, nchar(DATA$login) ) == substr( DATA$passwd ,0, nchar(DATA$passwd)-2 ) ) ) ################################################ # ( ): 3252 length( which( ( substr( DATA$login ,0, nchar(DATA$login) ) == substr( DATA$passwd ,0, nchar(DATA$passwd)-4 ) ) & ( grepl( "\\d\\d\\d\\d", substr( DATA$passwd ,nchar(DATA$passwd)-3,nchar(DATA$passwd) ) ) ) ) ) ################################################ # : 20869 length( which( ( substr( DATA$login ,0, nchar(DATA$login)-1 ) == substr( DATA$passwd ,0, nchar(DATA$passwd)-1 ) ) & ( DATA$login != DATA$passwd ) ) ) ################################################ # (1477), : 1226 length( which( ( substr( DATA$login ,0, nchar(DATA$login)-2 ) == substr( DATA$passwd ,0, nchar(DATA$passwd)-2 ) ) & ( DATA$login != DATA$passwd ) & ( substr( DATA$login ,0, nchar(DATA$login)-1 ) != substr( DATA$passwd ,0, nchar(DATA$passwd)-1 ) ) & ( grepl( "\\d\\d", substr( DATA$passwd ,nchar(DATA$passwd)-1,nchar(DATA$passwd) ) ) ) ) ) ################################################ ################################################ ### library(dplyr) tmpD <- DATA[,c(3,4)] PASS_SUM <- summarise(group_by(tmpD,passwd), count = sum(count) ) PASS_SUM <- arrange(PASS_SUM,desc(count)) # : 2132935 nrow(subset(PASS_SUM, PASS_SUM$count==1)) # : 887 nrow(subset(PASS_SUM, PASS_SUM$count>64)) PASS_100 <- PASS_SUM[1:100,] write.csv(PASS_100,file = "SpPassSum100.csv", row.names = F) ###########################################
Source: https://habr.com/ru/post/261331/
All Articles