Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default 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   Report Post  
Posted to microsoft.public.excel.programming
Ed Ed is offline
external usenet poster
 
Posts: 399
Default 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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default 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
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Security Question JBW Excel Discussion (Misc queries) 2 August 29th 08 03:16 PM
2007 question - Macro Security Otto Moehrbach Excel Discussion (Misc queries) 2 October 28th 07 07:40 PM
Question about Worksheet Security Paul B Excel Programming 0 April 7th 05 03:30 PM
2003 to 2000 security question Sunset Superman Excel Discussion (Misc queries) 2 January 27th 05 03:31 PM
Macro security question Daniel Bonallack[_2_] Excel Programming 6 January 6th 04 10:10 PM


All times are GMT +1. The time now is 03:20 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"