Comment Patrick Webster email to IT staff (Score 5, Informative) 231
Hello, I am Patrick. I cannot reproduce the email their staff replied with, except it says something along the lines of thank you for raising this matter for our attention and that is was fixed within an hour or two.
Below is my email to them, with certain parts redacted, which includes the heavily debated script. The email was a follow up after a lengthy discussion with staff and they were most thankful for the call.
I'm publishing this just so that you are better informed and can form your own opinions based on this.
From: Patrick Webster [mailto:patrick@osisecurity.com.au]
Sent: Thursday, 22 September 2011 1:26 PM
To: [REDACTED]
Subject: Privacy breach in pillar.com.au website
Hello [REDACTED],
Thanks for taking the time to speak with me today.
As mentioned, I am a FSS member from my time a NSW Police Force. My personal background is in IT Security and I am the owner of OSI Security (www.osisecurity.com.au).
You're welcome to see my personal history at http://www.linkedin.com/in/patrickwebster - the past 10 or 11 years I have been working in securing information systems etc, which is how I came across this bug.
Yesterday, I received the FSS email notification to download my member statement.
So I logged in to the pillar / FSS members portal and went to statements and clicked to download the statement, which is in PDF format.
My *personal* statement is at
https://services.pillar.com.au/FSSMembers/secure/Statement.aspx?documentId=107/1388-%5BREDACTED%5D8&page=0
You're welcome to have a look (I have [REDACTED] in super, yay).
So after I saw my statement I noticed the 'documentId' number and, based on my security background, I have natural concerns my information is stored securely.
So I incremented the number to see what happens (expecting to be rejected);
I.e.
https://services.pillar.com.au/FSSMembers/secure/Statement.aspx?documentId=107/1388-%5BREDACTED%5D8&page=0
becomes
https://services.pillar.com.au/FSSMembers/secure/Statement.aspx?documentId=107/1388-%5BREDACTED%5D9&page=0
Amazingly (and coincidentally I might add) the statement I downloaded is my former colleague at [REDACTED] (if you look at my LinkedIn profile and see my connections you will see that we are connected).
I then did a random spot test to see if it worked for any number, which indeed it did.
I quickly wrote a linux bash script to enumerate documentId numbers and discovered it worked.
Script source is below:
#!/bin/bash
#[REDACTED]
for i in {[REDACTED]..[REDACTED]}
do
echo $i
wget "https://services.pillar.com.au/FSSMembers/secure/Statement.aspx?documentId=107/1388-$i&page=0"
--no-cookies --header "Cookie: [REDACTED]"
done
You can see the script runs from [REDACTED]..[REDACTED] in member numbers (just a guess on my part) and then tells the wget software to fetch the documentId with the 'for loop' number which is $i.
I was then able to download every member statement, including my own of course.
Naturally I find this extremely concerning so contacted you today (I found this around 9pm last night).
All the data I obtained has been destroyed / deleted but validated my concerns.
Ideally the pillar website should generate some kind of hash (such as member ID + unique salt = 'documentId') instead of a direct object reference.
See: https://www.owasp.org/index.php/Top_10_2010-A4-Insecure_Direct_Object_References
That is about it... if you have any questions please contact me via email or details below.
Kind Regards,
Patrick Webster ...