I wrote a program that emails me when one of my friends orders Domino's
reddit.com
reddit.com
https://order.dominos.com/orderstorage/GetTrackerData?Phone=...
for each phone number of input.
(Also, this is the original post, may want to edit the link: http://www.technologyversus.com/pizza/ )
If I knew someone's phone number I could potentially use this to impersonate a delivery driver to gain access to someone (at a residential address or business)...
I mean sure, I could just knock on a door or walk in impersonating someone else... but expecting a pizza delivery is different than ignoring/alerting someone to an unknown solicitor.
OR you could also potentially use it to locate someone based on phone number by following a delivery driver from the local Domino's?
You could also just use it to steal pizza. Just find the contact information of a bunch of people in a nearby condo building and wait at the door and say "Oh is that for John Doe? That's me, I'll take it"
Almost free because you shouldn't forget to tip the driver you're stealing the pizza from!
No connection to the neighborhood makes it very difficult to track down the perpetrator, and doing it in nice neighborhoods means that the driver is less likely to suspect trouble and more likely to be carrying cash.
Now GaTechs area code happens to be 404 and there are few biz that share that area code. One notable one was a Papa Johns 404-6xx and some more numbers you can google.
The key thing is if you have a dorm phone you have to dial 9 to dial out... you see where I'm going with this...
My junior and senior and +.5 super senior year (alas that is another GT thing) I took hundreds of orders with credit card numbers.
Now I never did anything bad with those credit cards but there sure were a lot of angry people that didn't get their pizza (some I would call back and tell them but it got pretty annoying so....).
The really funny thing was there were even faculty and staff that made this mistake. You could say they got shafted (another GT thing).
I strangely miss that Papa Johns. Their garlic sauce was so glorious and yet so disgusting. It was like liquid cocaine transfat.
Good work though, I had no idea the dominoes USA website lets you just enter a phone number to get order details. That's pretty poor
What's a 'standard integer'?
The ID in the URL is just a string of digits, and you don't have to be that careful (in simple scripts like this at least) for Python not to care how high you go.
> A string of digits doth not an integer make.
The URL contains a string of digits as the order ID, if that's not where you think the problem is, where?
> Commonly 65535 (for uint)
Not in Python, as I said:
> ... you don't have to be that careful (in simple scripts like this at least) for Python not to care how high you go.
A string of numbers != an integer, saying an integer in an ambiguous settings where for many people it's +-32K or 65K for unsigned often creates some confusion.
Not in Python, as I said: > ... you don't have to be that careful (in simple scripts like this at least) for Python not to care how high you go.
Python cares very much how high you go, Python sets a limit to integers also which is 2^31-1 for 32 bit and 2^63-1 for 64 bit runtimes. So even with Python if once you commonly go above 2147483647 you'll get into problems ;)
I'm well aware. I'm just trying to understand where you think the problem is.
> Python cares very much how high you go, Python sets a limit to integers also which is 2^31-1 for 32 bit and 2^63-1 for 64 bit runtimes.
Try this:
>>> print(f'Are you sure dogma? {2**128}')
Are you sure dogma? 340282366920938463463374607431768211456
> So even with Python if once you commonly go above 2147483647 you'll get into problems ;)I didn't claim it never goes wrong. I said 'in simple scripts like this', I had a quick look after you expressed surprise that their orders fit into 'standard integers', and I didn't see anything that would impose such a restriction.
Use sys.maxint / sys.maxsize =) 2147483647 is the limit for 32bit systems as I said, 2^63-1 is for a 64bit run time.
I mean, we're circling back on it on 'what do you mean by...' - and my basic point which is a lot of the time, especially for simple stuff like this, it's completely arbitrary.
>>> print(int(2**128))
340282366920938463463374607431768211456
You can tell me it "doesn't mean it's an integer" all you like, it's integer enough.Perhaps this whole thread would have been better summarised if I'd initially asked Where is it being stored as what you're terming a 'standard integer'?
Edit - actually, I did ask that, in my second reply:
> My point is - where do you think the problem is?
And yes I know that the definition of an integer is any whole number including zero, but still some of us still think in datatypes. And since many (or most) languages still limit Int (at least by default) to 4 or 2 bytes that was what brought it up.
And to some extent I see this problem every day that people define datatypes too casually like defining an interoperable interface with a datatype of Int and then pushing 340282366920938463463374607431768211456 through it without thinking about datatypes in different languages.
I wonder if it also opens the doors to some kind of social engineering attack, with someone pretending to be Domino's asking for money over the phone.
As an aside I thought this is rather cool - Pizza Party a CLI for Domino's https://www.youtube.com/watch?v=J691aLfkWP0
(One day I'd like to be able to afford to cron job something like that ;)
https://internetorder.dominos.com.au/eStore/en/Tracker?order...
(That's a random UUID so it doesn't work. I've got some working UUIDs in my browser history, but not sharing them since they tell you my home address..)
Seriously, against my better instincts I had more than a few slices of their "product" at a meetup the other night. My innards are still cursing me for it.
The magic will be real.
Wow.