Read the problem again. Were such assumptions needed you can be sure I would have stated them. But they are not.

The key is that your random number needs some chance of falling in the interval between the numbers. As long as you can guarantee that, you get better than even odds. But it turns out that is not hard to guarantee. However if the two numbers differ by, say, 1 from each other it turns out that on average you are ahead by all of zero percent (very large tails with probabilities near 50% dominate). So against a mildly malicious opponent you - on average - don't come out ahead. But that is an average across an infinite number of situations, every last one of which you came out ahead in. (Infinity has lots of strange stuff like this.)

Again, the probability of your winning depends on the two numbers that I have. But it is always better than even. And you can guarantee that no matter how I tried to produce my numbers.