I adapted @pozs answer, since I didn't have timestamps to go off of.
90 days is the time window you want and the 30 days is how far out to push the time window. This is helpful when running it via a job instead of at a set time.
select NOW() + (random() * (NOW()+'90 days' - NOW())) + '30 days';