which language should i learn for hacking

The Past month i received lots of mails and Fb Messages from Various Readers asking me questions such as "Which programming language i should to learn for Hacking ?", "How to become A professional Pen tester / Hacker?" etc, So from today onwards i will be writing a series of articles on various topics mentioned above. Today i will be writing an article on the Programming Languages that you should learn

Why Programming
So the first question many people will ask is why should i learn any programming language when there are so many tools and Frameworks such as MSF (Metasploit framework) to do my job. All i need to know is how the tool works and what is the purpose of it ?. The Answer for the question is both an Yes and No, You can become a Pentester/Hacker without knowing any programming but how ever your not going to become a good  pentester /Hacker.

So Knowing Programming Will
  • Differentiate you from Script kiddies and Tool Lovers 
  • Help You in Understanding About Vulnerabilities
  • Help You in writing Your own tools, scripts
  • Help You in writing exploits, Shell codes etc
  • Help You modifying Existing scripts, tools according to your needs 

Which Programming Language to Learn ?
So now that you have understood the importance of knowing programming, The next question in your mind is which programming language should i learn, The answer for this question depends on your interests and goals

For Web App Pentesting /Hacking

Hypertext Markup Language (HTML) is the basics for creating web pages and other information that can be displayed in a web browser. So if you don't know HTML you should first learn it

Learning java script. Will help you understand the basics of Cross Site Scripting

Majority of web applications are written using PHP and MySQL .So it is a must to learn PHP

For Writing / Understanding Exploits, Shell Codes, Root kits etc
C & C++
More than 60 % of the exploits you will find on the web are written in C & C ++, Learning C & C++ will help you understand about Buffer overflows, Stack overflow etc, So learning C and C ++ is must for every hacker/Pen tester

Learning assembly will help you in Writing/understanding Shell codes , Will Help you in Reverse Engineering applications and software's

For Building Tools And Scripts
Python is a very powerful high level language , Its Easy to learn and code, most of the tools and scripts for automation are written in Python . Knowing Python socket programming will help you a lot in Exploit writing

Ruby is an another language which is used to write scripts, tools. Metasploit Frame Work is written in Ruby. so learning ruby will help you understand the in and outs of msf

Learning Bash is very Useful in writing small scripts for automation

Hope this info helps you, If you have any doubts Regarding the article Please let me know them via comments