I have been working for a very large investment bank in the U.S. for about five years and my experience definitely doesn't match this. Plenty of incompetence, but I haven't seen malice or ethical/moral issues. Honestly, some of the smartest and most helpful people I've ever worked with.
I work in the middle-office doing tech and user support for trading applications (rates and credit). My employer has a college pipeline program which is how they get a lot of their people. They also work people on contract and then make them an offer if they're good; that's how I got in. I went to an agency that had helped a friend out and landed a six month contract. The contract was extended six months and then half-way through I was asked what I would like to make if they were to offer me a position.
I got the initial contract for two reasons. Number one, I'm experienced and talented. I started working with computers when I was about five and have been programming them since age six or seven. I got access to the Internet in high school back in '91 and learned a lot about things like Usenet, Unix (SunOS) Gopher and the WWW (go Mosaic!). When I started college in '94 I got a job as an admin in the MSCS department's NeXTSTEP lab and started to learn how to do basic sysadmin work, port and compile programs, etc. I spent quite a bit of my time writing CGIs in C running on Apache. I was a student in the EECS department and was taking computer science courses; my electives were in operating systems (2 classes), computer architecture (2 classes), object oriented programming (C++ & Smalltalk) and databases systems. I also did an independent study in Java when people were first talking about it. During my third year at the University I got a job in industry working for a 5 person web development company where I was _the_ tech guy. I was the sysadmin, DBA, webmaster, etc. From there I went on to work for medium sized companies doing development work for B2C and B2B e-commerce websites using Java.
The second reason I got the job was that I presented well and could interact with people socially. A support job entails being able to communicate with a lot of different types of people and it's amazing how many candidates simply can't do this. You need to present as someone who is confident, knowledgeable, flexible and who can get along well with others. Also, don't hit on people during your interview! It's amazing, but people have actually done this before. My group would always have one of the more attractive women talk to the candidate just to get a feel for their personality and to flag the creeps.
I didn't have any prior financial experience and that wasn't a problem, I just needed to have a good attitude and a desire to learn. I'm someone who realizes that tech exists to serve the business and not just for its own sake, so I always look forward to learning the business side of things wherever I go. I'm not a diva and really don't care what language I'm using or what operating system is running on the box under my desk; I can work with anything. Some of my friends aren't that way and it has cost them opportunities.
I would definitely recommend you talk to some of the consulting agencies in your area and see if they have any reqs from financial companies. I'm not sure what part of the country/world you're in, but those kinds of jobs exist all over. They're not just in London, New York, Hong Kong and Singapore. Financial industry doesn't just mean high frequency trading, it includes community banks, loan servicing companies, etc. Be honest on your resume and when you speak with people. It's unfortunate, but employers get a lot of resumes from liars that put a bunch of stuff down that they can't back up. If you're someone who's honest then you will look like a superstar.