This is a question I posted on yahoo awhile ago, so i'm just going to copy and paste it, and maybe add a little more information on what my question is.
________________________________________________________________________

Okay, let me get started off by saying I don't intend using any hacking knowledge for bad, but only for learning purposes. I'm a 13yr old programmer looking to get some extra knowledge on how certain things work.

What I want to know is, what are all the types of hacking.....such as keylogging, phishng, ect. I want to know all the methods form computer hacking to phoe hacking to hardware/software hacking to every other hacking used.

I just want to get to know a bit more about how a hacker thinks and the methods used....etc. I know there are many many methods, but can someone please list all of the ones that are used, and I mean ALL (if possible). Even if it's a very criminal and barbaric method of hacking such as hacking into street streetlights, phones, or others computers.
________________________________________________________________________

INFO ABOUT BE:

I'm 13yrs old and I am learning many things. I'm studying mathematics, physics, computer programming, and computer engineering. I plan on learning C, C#, C++, and every other programming language. I want to further my education a bit by learning how a hacker/cracker thinks and how they break into things. I figure the only way to protect yourself against hackers is to think like a hacker. If anyone can please help me out, that would be fantastic.

Also, I plan on finding a mentor of some sort who will be able to assist me in learning everything about hacking/programming/etc. If anyone would be willing to help me out with that, that would also be great.

I mentioned that I don't intend to use any of my knowledge for bad, but in all truth i'm a bit like the people of Anonymous. In other words i'm more of a grey hat hacker. I will use my hacking knowledge for bad if I really feel the need to in some circumstances.

Caleb M Dunn

Hacking can loosly be defined as maniuplating programmable systems outside of their intended use. In general as a hacker you want to figure out how something works on the lowest level possible and figure out ways how you can get in between the low level and high level functionality and maniplate the outcome of the functionality. This is very generalized but I feel it applies well to most instances of hacking. For example, software exploitation usually involves some sort of memory corruption. What this means is a problem in the way the high level code (C,C++) was written allows for an attacker to overwrite areas of memory (low level). Or another example of this concept would be a network based attack. For instance to perform a man in the middle attack an attacker on a user's web session (high level) they would attempt to manipulate network traffic via ARP, DNS, or other means (low level). A hardware hacker might try to change the functionality of their xbox (high level) by creating custom chips and installing them (low level).
One could think of hacking as using low level means to change the outcome of high level functionality.

There are many different types of attacks but they all rely on that principal. All attacks I can think of rely on the hacker finding an area where they can influence low level outcomes through high level funcionality. Sort of get in the middle of the process and make things go the way they want it to. There are tons of different attacks... See: https://www.owasp.org/index.php/Category:Attack

So this brings me to the conclusion, dont think of hacking as "installing a key logger" or "running tool x" or something like that. That is not hacking. Hacking isn't a destination, its a journey. It's like martial arts, any master will tell you that martial arts isn't about winning a fight, its a way of life. Learn everything you can and try to dig as deep as possible into everything you try to learn.

This is all my own personal philosophy, so feel free to take it with a couple truckloads of salt.

The question itself, "what are all the types of hacking" shows a fundamental misunderstanding of what hacking is. It's impossible to learn all the types of hacking because hacking is not a discrete list of skills, it is a way of thinking. Computer hacking, phreaking, social engineering, these are all just the same mindset applied to different settings and systems.

Every system, whether it be hardware, software, biological, legal, whatever, is built on rules. However, each system has two sets of rules, what I think of as the Intended rules and the Implemented rules. The gap between them is where hacking happens.

Let me give an example. Say a business only wants to allow employees to enter the office building. So, they give every employee an RFID badge they swipe in order to unlock the entrance. The intended rule is that only employees are allowed to enter the building. The implemented rule is that the door only unlocks from the exterior when the lock is presented with what it believes to be a valid ID code. These are obviously completely different, and this difference can be exploited. A card could be stolen or cloned, an intruder could tailgate in behind an employee, the lock software may have an exploitable bug, etc.

If you want to be a hacker, the most important thing to do isn't learning a dozen different languages or how to pick locks, it's developing the ability to look at a system, any system, and understand how it is supposed to work, how it actually works, and how you can exploit the difference in the two to your own advantage.