I really think it's a bad idea to go into finance for the salaries. You're going to be miserable, and no, you are not guaranteed a million dollars by 25. Obviously, there are many different career paths in finance, but all of the ones that involve making a lot of money include one or all of the following: stress, long hours (80-100/week), and risk (think how many financial crashes tend to happen. guess who loses their jobs?)
Of course, if you're willing to persevere through all that, and have very good people and/or sales skills, then sure, you might be able to join the ultra elite who own their private jets and have an island in Thailand. You'll need some luck for that too, though.
I think the only people that will 'make it' in finance are those that are genuinely passionate enough to endure the horrible work conditions and lifestyle while possessing the people/sales skills to be successful. Remember, to make it to the top in finance firms, you need to bring in revenue. With the exclusion of trading, this generally involves sales skills. Same goes for management consulting and probably law as well.
You could always become a developer in the finance sector, there are plenty of finance devs in the $200k-$300k range. If you're a top-tier dev working in front-office/hedge-fund you can make $600k-$700k/year.
You want to start focusing on low-level programming: learn about C++ and assembly languages and cache behavior. Or possibly get into functional programming. I could see Haskell getting bigger in trading. Learning some statistics and math won't hurt.
I don't think there's a "too late", but there's a different skill set you need, especially to get a good job in finance.