A couple of kinds, Naval Jelly and some stuff that gets marketed as extend and other names i can't remember. Naval Jelly is phosphoric acid in a jelly medium, it will take rusted metal bare. The other stuff is a Hydrochloric acid (I think) etcher in a thin watery latex base, you put it on over mild rust (no loose stuff) and it etches everything, turns black etc. Works great here onboard ship, keeps the decks from rusting under the paint and lifting it. Works good on my old GMC too. You still have to prime it. If you want it to be pretty you need to go after any pits with a filler, blend the area and repaint. This stuff won't fix rust in crevices or seams.
As an aside, if you have a really neglected radiator that has sat for a long time with crap antifreeze in it Naval Jelly is your best friend. I had a car that wouldn't idle without overheating, radiator probably 90% plugged. Ran it on a mix of a pint of naval jelly and filled with water, run it as long as you can before it overheats and then drain and flush with garden hose into the engine coolant reurn. So much crap came out it looked like beach sand on the street. Car ran great for two years, probably still out there. Man I love hazardous chemicals!
IDPA is about as real-life as a porn video.