A Kevin Lisbie penalty proved the only consolation for the hosts, whose eight-match winning streak came to an abrupt end.
After a scrappy first half, all four goals came after the break and it was full-back Ribeiro who put the Iron ahead after 61 minutes against the run of play.
He exchanged passes with Mark Duffy before slipping the ball between the legs of O's keeper Ryan Allsop.
Eight minutes later Scunthorpe doubled their advantage when the impressive Duffy took a quick free-kick and Hawley evaded his marker to slide the ball past Allsop from 15 yards.
The O's were given a lifeline after 76 minutes when Ribeiro was adjudged to have handled a David Mooney header and Lisbie stepped up to score his ninth goal of the season.
But it took the visitors just three minutes to restore their two-goal cushion when Mozika met a cross from Tom Newey, although his shot took a wicked deflection past Allsop on its way into the net.