No. Given some output x, any input m such that h(m) = x is called a preimage. Though there are a lot of possible preimage, finding any of them is unfeasible -- that is, if the hash function is indeed cryptographically strong.
The three classical properties of cryptographic hash functions are:
- Resistance to preimages: given x, it is not feasible to find any value m such that h(m) = x.
- Resistance to second preimages: given m, it is not feasible to find any value m' such that m ≠ m' and h(m') = h(m).
- Resistance to collisions: it is not feasible to find m and m' such that m ≠ m' and h(m') = h(m).
In other words:
- If I give you a hash output, you cannot find a matching input -- not only the one I used in the first place, but you cannot find any other as well.
- If I give you a hash output and a matching input, you cannot find another, distinct input that yields the same output.
- Even if I let you choose messages as you wish, without any constraint, you cannot find two distinct inputs that yield the same output.
Of course all these resistances are up to some (very high) computational effort. For instance, finding a preimage can be done with a method called "luck", i.e. trying random inputs until a match is found. If the hash function offers a 256-bit output, then luck will find a matching input in an average of 2256 tries, which is totally out of reach of existing and future technology (by a very very long margin). A function is said to be "cryptographically strong" if the hash function output size is such that luck is nowhere near practical, and there is no known better method.