Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Question about Worksheet Security
The code determines an acceptable password and unprotects the sheet - same
as if you provided it. What is the mystery. This is called a brute force attack. Excel's implementation of passwords for sheet and workbook level are particularly weak. Excel isn't designed to be secure. Password protection is to assist the user in not making unintentional errors. This is fairly common knowledge among most users of Excel. Welcome to the group. <g Event the more robust file level protection and password protection of code can all be broken with commercial password crackers. -- Regards, Tom Ogilvy "Philip" wrote in message ... Hi, I don't understand why this code works...surely if I put a password on a worksheet to protect it, then only that password should unprotect it... what is wrong with this, is it a bug in Excel? here is the code: Sub PasswordBreaker() 'Author unknown 'Breaks worksheet password protection. Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Integer Dim i1 As Integer, i2 As Integer, i3 As Integer Dim i4 As Integer, i5 As Integer, i6 As Integer Dim lCount As Long On Error Resume Next For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If ActiveSheet.ProtectContents = False Then MsgBox "One usable password is " & Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) Debug.Print Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) Debug.Print lCount Exit Sub End If lCount = lCount + 1 Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next End Sub thanks if anyone can explain this behaviour of Excel where it seems to not in actual fact be secure at all... Philip |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Question about Worksheet Security
Hmm - it came up with a totally nonsensical combination for me. Didn't at
all resemble the password I put in. But it worked. I need to keep this handy for when I forget my protection password, or go on vacation and forget to give it to someone who might need it (had that happen before). Ed "Tom Ogilvy" wrote in message ... The code determines an acceptable password and unprotects the sheet - same as if you provided it. What is the mystery. This is called a brute force attack. Excel's implementation of passwords for sheet and workbook level are particularly weak. Excel isn't designed to be secure. Password protection is to assist the user in not making unintentional errors. This is fairly common knowledge among most users of Excel. Welcome to the group. <g Event the more robust file level protection and password protection of code can all be broken with commercial password crackers. -- Regards, Tom Ogilvy "Philip" wrote in message ... Hi, I don't understand why this code works...surely if I put a password on a worksheet to protect it, then only that password should unprotect it... what is wrong with this, is it a bug in Excel? here is the code: Sub PasswordBreaker() 'Author unknown 'Breaks worksheet password protection. Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Integer Dim i1 As Integer, i2 As Integer, i3 As Integer Dim i4 As Integer, i5 As Integer, i6 As Integer Dim lCount As Long On Error Resume Next For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If ActiveSheet.ProtectContents = False Then MsgBox "One usable password is " & Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) Debug.Print Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) Debug.Print lCount Exit Sub End If lCount = lCount + 1 Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next End Sub thanks if anyone can explain this behaviour of Excel where it seems to not in actual fact be secure at all... Philip |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Question about Worksheet Security
If you check the link that Paul B posted, you will see an explanation of why
the nonsensical password works. Paul's post wasn't visible to me when I posted, or I wouldn't have duplicated the information offered -- as the link is better. -- Regards, Tom Ogilvy "Ed" wrote in message ... Hmm - it came up with a totally nonsensical combination for me. Didn't at all resemble the password I put in. But it worked. I need to keep this handy for when I forget my protection password, or go on vacation and forget to give it to someone who might need it (had that happen before). Ed "Tom Ogilvy" wrote in message ... The code determines an acceptable password and unprotects the sheet - same as if you provided it. What is the mystery. This is called a brute force attack. Excel's implementation of passwords for sheet and workbook level are particularly weak. Excel isn't designed to be secure. Password protection is to assist the user in not making unintentional errors. This is fairly common knowledge among most users of Excel. Welcome to the group. <g Event the more robust file level protection and password protection of code can all be broken with commercial password crackers. -- Regards, Tom Ogilvy "Philip" wrote in message ... Hi, I don't understand why this code works...surely if I put a password on a worksheet to protect it, then only that password should unprotect it... what is wrong with this, is it a bug in Excel? here is the code: Sub PasswordBreaker() 'Author unknown 'Breaks worksheet password protection. Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Integer Dim i1 As Integer, i2 As Integer, i3 As Integer Dim i4 As Integer, i5 As Integer, i6 As Integer Dim lCount As Long On Error Resume Next For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If ActiveSheet.ProtectContents = False Then MsgBox "One usable password is " & Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) Debug.Print Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) Debug.Print lCount Exit Sub End If lCount = lCount + 1 Next: Next: Next: Next: Next: Next Next: Next: Next: Next: Next: Next End Sub thanks if anyone can explain this behaviour of Excel where it seems to not in actual fact be secure at all... Philip |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Security Question | Excel Discussion (Misc queries) | |||
2007 question - Macro Security | Excel Discussion (Misc queries) | |||
Question about Worksheet Security | Excel Programming | |||
2003 to 2000 security question | Excel Discussion (Misc queries) | |||
Macro security question | Excel Programming |