Fisher had an eagle and seven birdies, including a run of three straight in his last four on the back nine, for a 9-under 62 on the West Course at Royal Johannesburg and Kensington Golf Club.
Overnight co-leader Sterne went bogey-free for the second consecutive round for his 7-under 65 on the longer East Course — and a total of 128, the lowest after two days at the tournament.
They lead by three shots going into the weekend and were two of five South Africans in the top six at the European Tour event.
Locals George Coetzee and two-time winner Charl Schwartzel moved into contention in the second round to sit three shots and five shots off the lead respectively. Coetzee had an 8-under 64 with eight birdies on the East and two-time winner Schwartzel a 6-under 65 on the West.
Defending champion Branden Grace, No. 10 on the European money list, missed the cut after rounds of 72 and 70 for a 1-under total.
Like Sterne, Fisher also went bogey-less through Friday and was facing one of the biggest weekends of his career in his search for a first European Tour title.
"My last three or four years have been good on the (South African) Sunshine Tour. But I need to get to the next level now," he said. "It's been good for me in terms of the steppingstones I've taken in the last 10 years. But I've stepped on a lot of stones. I need to get to the top now."