Wolves took the lead inside the first 15 minutes but the lead lasted less than 10 minutes, as Nathan Porritt equalised for Boro.
Neither side could break the deadlock in the second half so the game went into extra-time.
An enforced substitution was inspirational for Boro as Nathan Fisher scored with his first touch from a Jonathan Franks cross.
Boro hung on to earn a place in the fifth round, the last sixteen.
Boro team:
Steele, Honeyman, Bennett, Langthorne, Johnson, Smallwood, Franks, Robson (Fisher), Thompson, Walker (Hillerby), Porritt