At least 18 protesters have been killed and 800 others wounded in an attack on anti-government demonstrations in Iraqi city of Karabala, according to local media and activists.