IPB

Welcome Guest ( Log In | Register )


> Alright .NET gurus, solve this one
Hartmann
post Feb 12 2008, 11:55 AM
Post #1





Group: Admin
Posts: 3,403
Joined: 23-February 06
From: PDX/TXL
Member No.: 35



I have been scraping data off of a site (300KB) and they recently changed their URI string so that the date parameter has a hash of a date instead of the date itself.

The piece of the string I am looking at looks like this:

CODE
FDate=ZVbeOGQGDBnVmWDrJ6901w==&RDiret=Status


And more exactly the FDate parameter. Any ideas on the hashing mechanism? I know it can't be one way encryption because there would be no way to interpret that as a date (and they have to interpret it as a date).


--------------------

"There is a level of cowardice lower than that of the conformist: that of the fashionable non-conformist."
Go to the top of the page
 
+Quote Post
 
Start new topic
Replies
impala454
post Feb 14 2008, 10:02 AM
Post #2





Group: Members
Posts: 10,620
Joined: 23-February 06
From: Houston, TX
Member No.: 48



I guess I'd have to know what the site is to undersand the meaning of those querystrings.

If the MD5 hash is just an encoded date and you have a reasonable idea of the format of the date, you can set up a quick program like this:

(obviously pseudocode)
CODE
string hashtodecode = ytghdgadoghdlurgh9438gh48hg
datettime date = startdate

while(date < enddate)
{
  date = date.adddays(1)
  if(getmd5hash(date.tostring) == hashtodecode)
        break
}


edit: you can do a quick google search for MD5 get hash C# or whatever language you're using to get the standard method everyone uses
edit2: you'll also have to play around with the date.tostring("yyyy/MM/dd"), with different formats until you guess it correctly
Go to the top of the page
 
+Quote Post
Hartmann
post Feb 14 2008, 10:07 AM
Post #3





Group: Admin
Posts: 3,403
Joined: 23-February 06
From: PDX/TXL
Member No.: 35



QUOTE (impala454 @ Feb 14 2008, 10:02 AM) *
I guess I'd have to know what the site is to undersand the meaning of those querystrings.

If the MD5 hash is just an encoded date and you have a reasonable idea of the format of the date, you can set up a quick program like this:

(obviously pseudocode)
CODE
string hashtodecode = ytghdgadoghdlurgh9438gh48hg
datettime date = startdate

while(date < enddate)
{
  date = date.adddays(1)
  if(getmd5hash(date.tostring) == hashtodecode)
        break
}


edit: you can do a quick google search for MD5 get hash C# or whatever language you're using to get the standard method everyone uses



Well the issue is more the format of the date (MM/DD/YYYY, YYYMMDD, etc.) as each of those have a different representation when hashed by MD5.

Basically, the query string takes this parameter and compares it to a field in the database that holds a replica of it next to its actual value. It verifies that the data coming in is valid.


--------------------

"There is a level of cowardice lower than that of the conformist: that of the fashionable non-conformist."
Go to the top of the page
 
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



Lo-Fi Version Time is now: 14th August 2026 - 09:19 PM
Skin made by: skeedio.com