Smith, Green in for injured skipper Finch and David for Australia
Opener Finch and middle order batsman David both suffered hamstring strains in Monday's victory over Ireland and were unable to prove their fitness in time for the Adelaide Oval clash.
In Finch's absence, Matt Wade will captain Australia, who lost the toss and will bat first.
Defending champions Australia almost certainly need a big win over the Afghans in their final Super 12 match to stay in the race for one of the top two spots in Group 1 and a place in the semi-finals.
Green, who came into the squad as an injury replacement for Josh Inglis, will open with David Warner, while Smith will bat at number four. Kane Richardson also comes into the fast-bowling unit in place of Mitchell Starc.
Winless Afghanistan's best player, spinner Rashid Khan, jarred his knee in the loss to Sri Lanka on Tuesday but was passed fit to play at what is his home ground in the Big Bash League.