>The single best thing you can do to become a hacker is learn to program— You have to master in most of the programming languages. Programming is the real base of hacking. If you know programming, you will be able to analyze code, write your own scripts or your own hacking tools.
>Thinking like a pro or keeping a hacker mindset— We see many kind of technologies in our daily life. Look at them from a hacker’s prospective by thinking of way to exploit them. That’s the thing that would make you pro day by day and different from any other programmer. Hackers take a special delight in solving problems, sharpening their skills, and exercising their intelligence.
>Knowing the core of the technologies you are using— If you really want to be a professional hacker you need to work really hard. It will not happen in days or week. It may take you months or years to be a pro. If you really want to hack something complicated like power grids or nuclear plants ( Its far more complicated than you ever thought Bro !! Don’t even think of it ! ) then you must need to know how it works and knowing these thing is the most hardest part of hacking.
Now coming to your question
Now if you are interested in webhacking subject, subject then I would recommend you to learn the following languages:
1. HTML – Start with Html if you don’t know it. Its easy to learn and you will get to know it within few months.
3. SQL Databases – You should learn to work with databases, which will help you to understand the fundamentals of SQL Injection attacks which will be also explained later in this book when we come to the Web Application hacking chapter.
4. PHP – Learning PHP should be your one of your first priorities if you want to understand the mechanisms behind the web hacking attacks. I would recommend you to learn it as soon as possible.
Lynda- You can also go for Lynda video tutorials. Things are more elaborated over there
Exploit writing is a very difficult segment in hacking as it requires pure programming knowledge, which is why I will not recommend you to start with exploit writing, Exploits are/can be coded in almost any programming language e.g C/C++, Python, Perl etc, but more than 50% of the exploits you will find on the web will be coded in C/C++ languages because they were present before any one of other languages. Languages such as C and C++ are considered as programming languages where as languages such as ruby, perl and python are considered more as scripting languages.
I would recommend you to start with C languages and then to C++, C/C++ have lots of similarities, so if you could get a good grasp on any one of them you can learn the other one easily.
Talking about scripting languages, I would recommend you to start with Ruby, Ruby is one of my most favorite programming language as it’s purely objected oriented which means that everything you work on is an object. Ruby is really useful when it comes to exploit writing, Ruby is used for coding meterpreter scripts and what could be more better that the Metasploit framework itself was coded in ruby language.
Python is also a very useful programming language, it can also be used for exploit writing, If you go for python first then make sure that you learn Python socket programming as it will help you a lot in the exploit creation process.
Talking about PERL, it’s also used widely for exploit writing, you will find lots of exploits out there written in PERL, but the problem is that perl is really difficult compared to other languages such as ruby and python, so I would recommend you to learn it at the very end.
Reverse engineering is an act of tampering softwares, applications to make them work out way, If you are interested in reverse engineering and software cracking stuffs then you would surely need to learn Assembly language.