Bruce Vaughan, who shared the overnight lead with Moore, struggled with a 73 in Round 2. The American joined South Africans Andrew McLardy and Louis Oosthuizen, and Gregory Havret of France at 6-under-par 138.
Moore, whose best finish on the European Tour is a tie for ninth at this event last year, tried to follow Thursday's brilliant 65 with a solid start, but the difficult layout on the front side at Durban Country Club cost him three bogeys along with a single birdie at the par-4 seventh.
'Around the turn I was just trying to hang in there because I wasn't playing that well,' said Moore.
The 28-year-old took advantage of the opportunities on the inward half, however, starting with a birdie at the par-4 13th. He followed that up with a birdie at the par-5 14th and added a birdie at the par-4 16th.
Moore then birdied the par-four 18th to pad his advantage heading into the weekend.
'I was trying to get my round back to even par to be honest so to get it to 2 under with a nice finish was good,' said Moore. 'You always prefer to finish well after starting badly rather than the other way round.'
Van der Walt, a member at Durban Country Club, found trouble early with a bogey at the par-3 second, but countered with an eagle at the very next hole. He stumbled again with a bogey at the fifth, but picked up a birdie at the eighth and another at the 10th to take the lead at 8 under.
He tallied a birdie at the 14th to reach 9 under, but his quest for the 36-hole lead was derailed by three straight bogeys starting at the par-3 15th. The 30-year-old salvaged what he could with a birdie at the last to complete a round of 71.
Buhrmann collected four birdies on a blemish-free front nine and kept on rolling with a birdie at the 10th that lifted him to 7 under. He faltered with a bogey at the 12th, but got that shot back with a birdie at the 14th.
The 41-year-old then bogeyed the 17th, but a birdie at the 18th was good for a round of 67.
Tim Clark, who won this event in 2002, managed a 71 to finish alongside Graeme Storm and Ross Wellington at 5-under-par 139.
The 36-hole cut fell at 2-over-par 146 with 77 players qualifying for the weekend. Darren Clarke hit his drive to the edge of the green at the short par-4 18th and drained the long eagle putt to make the cut on the number after a round of 74.