Essential Programming Languages for Ethical Hackers


Why you need to learn Programming languages?

Every hacking requires understanding of application logic, before hacking anything one needs to understand this logic and it is only possible when you understand How an Application works. If you don’t understand how program works, you may not be able to find logical flaw but if you know programming language then you can easily understand and proceed to find vulnerabilities.
To Hack something, First you need to understand the logic of an application, then find the vulnerability and then hack it by exploiting the weakness.

Programming languages for Web Hacking and Pentesting

Web hacking is very common these days but not so easy when it comes to secure targets. So you may have wondered what languages should I know to hack or penetrate web applications?

HTML : Hyper Text Markup  Language is in every web-site you see in your browser and it is also one of the simple and widely used web language. It is recommended to learn HTML very well, It can help you to understand  web actions, response, and web-app logic.

HTML is a static markup language.

JavaScript : JavaScript is a client-side web programming language widely used in web sites for quick response and increase user interface. You should learn it on high priority mode, It can help you to find client-side flaws as well as common web vulnerabilities.

SQL : SQL is a database programming language used in almost all data storing sites. SQL is responsible for storing and managing most sensitive and confidential data such as user credentials, credit card or even bank details. You must know about database programming and its vulnerability.

PHP : PHP is one of the most popular dynamic programming language, unlike JavaScript its a server-side language which is responsible for managing information, web-apps and database.

PHP is strongly recommended to every beginner in Hacking and Penetration testing.

Programming languages for writing Exploits

Exploit writing is an advance part of Hacking, It requires higher level of programming language. Every professional hacker must know Exploit Writing, It can be done in any programming language like C, C++, Ruby, Perl, Python etc.

Python : Python is widely used language for exploit writing or creating pentesting/hacking tools. A Hacker must know Python and  Python Socket Programming. It helps lot learning exploit creation.

Ruby : A simple but complicated object-oriented programming language. Ruby is very useful in exploit writing. It is used for meterpreter scripting and you may know Metasploit framework itself programmed in Ruby.

C : C is most used in software programming for Linux, Windows etc… However it is also used for Exploit writing and development. It may not provide wider flexibility as compared to Python yet it is very useful in some cases.

Programming languages for Reverse Engineering

Assembly language, the one and only Assembly nothing but Assembly.

Assembly Language : Assembly is low level programming language but very complicated. One can instruct a machine hardware or software using Assembly language. Reverse Engineers uses Assembly language, and if you want to learn Reverse engineering, you must need to learn Assembly language.

Final Words…

I’ve already explained you why programming is so important for hacking. It also depends upon application you want to hack, For example – If a web-app is coded in ASP.NET then you may find it difficult to understand its structure and flow, However you may understand its logic but to execute your command you must be familiar with app language and code logic.

Posted From r00t @ l0wsec


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s