Image
 
linkedin_logo.png rss_logo.jpg
twitter_logo.png youtube_logo.jpg
Latest Additions
 
EH-Net Login
Welcome Guest.






Lost Password?
No account yet? Register
Who's Online
We have 29 guests online
 
Advertisement

You are here: Home arrow Ethical Hacking Discussions and Related Certificationsarrow Programmingarrow Relevant programming languages for Ethical Hackers
EH-Net
May 23, 2013, 09:34:48 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Go back to The Ethical Hacker Network Online Magazine Home Page
 
   Home   Help Calendar Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Relevant programming languages for Ethical Hackers  (Read 14322 times)
0 Members and 1 Guest are viewing this topic.
skiglades
Newbie
*
Offline Offline

Posts: 4


View Profile
« on: March 19, 2009, 02:49:26 PM »

Hi everyone,

I'm looking to get some input on what is (in your opinion) the most relevant and useful programming language for an Ethical Hacker. 

I have experience with Network Pen testing, some web app experience, and *nix experience.  I have some basic understanding of what exploits are doing when executed.

I just purchased a book on perl and thought I would start there; input from the community will keep me on track. 

Thanks!
« Last Edit: March 19, 2009, 06:17:41 PM by skiglades » Logged
Ketchup
Hero Member
*****
Offline Offline

Posts: 1021



View Profile
« Reply #1 on: March 19, 2009, 04:29:14 PM »

Perl is good.   SQL is a must.   I recommend C/C++ as well.   Much of the software is written in C/C++.   Assembly is great to know as well.  Any sort of shell scripting will go a long way.
Logged

~~~~~~~~~~~~~~
Ketchup
timmedin
Sr. Member
****
Offline Offline

Posts: 469



View Profile WWW
« Reply #2 on: March 19, 2009, 05:11:04 PM »

Perl is good.   SQL is a must.   I recommend C/C++ as well.   Much of the software is written in C/C++.   Assembly is great to know as well.  Any sort of shell scripting will go a long way.

Iwas going to say the same thing as Ketchup but he beat me to it, but I'd add python to the list.
Logged

twitter.com/timmedin | http://blog.securitywhole.com
NickFnord
Full Member
***
Offline Offline

Posts: 117



View Profile WWW
« Reply #3 on: March 19, 2009, 05:50:32 PM »

I second python - only learned it this year but after forcing myself to learn perl, python feels like cheating it's so useful and quick to develop in.
Logged
LSOChris
Guest
« Reply #4 on: March 19, 2009, 05:51:41 PM »

-a scripting language(s): perl, python, ruby
- sql then syntax for various databases
- javascript for web
- low level and high level languages...so assembly & some sort of C, you can also throw VB too.

oh an English, because alot of the stuff you need can be found if you just search for it.


Logged
skiglades
Newbie
*
Offline Offline

Posts: 4


View Profile
« Reply #5 on: March 19, 2009, 06:05:02 PM »

Does anyone have a preference between Perl and Python?  Any positives / negatives, or situations where one is impractical?

SQL I agree with completely. 

I can agree with Javascript to a point I suppose.  Are there situations where you would be writing something in Javascript, or would it be beneficial for just understanding the code when looking at a web app?


Logged
Dark_Knight
Sr. Member
****
Offline Offline

Posts: 292


View Profile WWW
« Reply #6 on: March 19, 2009, 06:22:40 PM »

Does anyone have a preference between Perl and Python?  Any positives / negatives, or situations where one is impractical?

SQL I agree with completely. 

I can agree with Javascript to a point I suppose.  Are there situations where you would be writing something in Javascript, or would it be beneficial for just understanding the code when looking at a web app?




XSS attacks, cookie stealing etc javascript come in handy
Logged

CEH, OSCP, GPEN, GWAPT, GCIA
http://sector876.blogspot.com
NickFnord
Full Member
***
Offline Offline

Posts: 117



View Profile WWW
« Reply #7 on: March 19, 2009, 06:24:19 PM »

I have a personal preference for python - it's easier to read (IMHO) and can still do a lot of the things that perl can do.  perl was originally made as a text parsing language so it's very good at that sort of thing.  

I only use either for ad-hoc once-off type scripts or write-and-forget type jobs so for me they're equal in functionality with python getting huge marks for ease of maintenance but someone who uses them every day may have a different oppinion.
Logged
jason
Hero Member
*****
Offline Offline

Posts: 1012



View Profile WWW
« Reply #8 on: March 19, 2009, 08:02:14 PM »

Perl and python. I've used perl for quite some time, to the point where I even use it for relatively major programming projects. Python is a more recent addition for me and is very handy for banging things out quickly. There are some places where it makes a a better utility language than perl even.
Logged
skiglades
Newbie
*
Offline Offline

Posts: 4


View Profile
« Reply #9 on: March 20, 2009, 08:23:40 AM »

Thanks for the great feedback everyone.

Is there an overall, personal preference between C and C++?

I may move towards learning Python since the general consensus is that it's a little easier to learn.  Since I've haven't yet learned Perl or Python, Python seems like a logical place to start. 

Personally I see a lot of MS-SQL when testing.  If I follow that road, does it make sense to familiarize yourself with MS-SQL and my-SQL?  Of course there is some generic injection syntax that works over both types of database, but does it make sense to concentrate on one or gain an understanding of both?

Thanks
Logged
Ketchup
Hero Member
*****
Offline Offline

Posts: 1021



View Profile
« Reply #10 on: March 20, 2009, 09:09:19 AM »

Quote
Is there an overall, personal preference between C and C++?

I think that you need both.  I would start with C and learn how memory is allocated and destroyed.  Learn about types, pointers, and so on.  Much of the software, especially in Nix is still written in plain C.   

After you master C, move on to C++ and learn the object oriented nature of the language.  It will be a quick pickup if you can grasp OOP.

Quote
Personally I see a lot of MS-SQL when testing.  If I follow that road, does it make sense to familiarize yourself with MS-SQL and my-SQL?  Of course there is some generic injection syntax that works over both types of database, but does it make sense to concentrate on one or gain an understanding of both?

I think you should learn SQL.  Before you move on to specifics in MSSQL, Oracle, or MySQL, you have to understand the concepts.   I would recommend becoming comfortable with doing SQL Injection on the three above.  Each RDBMS is going to have its own stored procedures, views, and functions.  The syntax is different, despite accomplishing pretty much the same task.  Those are the most common database engines. 
Logged

~~~~~~~~~~~~~~
Ketchup
skiglades
Newbie
*
Offline Offline

Posts: 4


View Profile
« Reply #11 on: March 20, 2009, 10:27:26 AM »

I would start with C and learn how memory is allocated and destroyed.  Learn about types, pointers, and so on.  Much of the software, especially in Nix is still written in plain C.  

After you master C, move on to C++ and learn the object oriented nature of the language.  It will be a quick pickup if you can grasp OOP.

That makes sense.  I picked up "Hacking: The art of exploitation" and was a bit overwhelmed.  I'm sure some knowledge of C would help me understand those concepts.

Logged
NickFnord
Full Member
***
Offline Offline

Posts: 117



View Profile WWW
« Reply #12 on: March 20, 2009, 12:02:45 PM »



Personally I see a lot of MS-SQL when testing.  If I follow that road, does it make sense to familiarize yourself with MS-SQL and my-SQL?  Of course there is some generic injection syntax that works over both types of database, but does it make sense to concentrate on one or gain an understanding of both?

Thanks

I'd say the more important thing is to understand "how databases work" i.e. database theory, learn about different types of statements, what a union does, what group by and having clauses do etc.  once you know this, then you just need to find the specific syntax for whichever RDBMS you're working with. 

having said that, it's pretty much the same for all programming languages - learn the fundamentals - varialbes, pointers, loops, conditional statements, functions etc. then you should be able to pick up any language with minimal effort.  next step up from that is getting your head arround object oriented concepts, but that's not too hard either.

Logged
Ketchup
Hero Member
*****
Offline Offline

Posts: 1021



View Profile
« Reply #13 on: March 20, 2009, 12:11:08 PM »

Quote
I picked up "Hacking: The art of exploitation"

That's a great book in my opinion.  I would definitely go back and re-read it after you better understand the programming languages.
Logged

~~~~~~~~~~~~~~
Ketchup
quan991
Newbie
*
Offline Offline

Posts: 7


View Profile
« Reply #14 on: May 25, 2009, 11:42:39 PM »

I would say Assembly, C and a couple scripting languages (the more the better) .

But I think it depends on what you want to specialize in,
i.e. using tools/command line scripting attacks, etc.. or exploit development/analysis & reversing, in which case Assembly & C are a must.


Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
Joomla Bridge by JoomlaHacks.com
Valid XHTML 1.0! Valid CSS!
Page created in 0.06 seconds with 24 queries.
 
Exclusive Deal

sansfire13_245x90_cw90.jpg
SANSFIRE 2013
June 15 - 22

5% Off w/ Code: EHN_5

SANS Deals 4 EH-Netters
5% OFF Any SANS Course in Any Format!
Coupon Code: EHN_5 Including SANS Rocky Mountain 2013 & SANS Boston 2013
Polls
Compared to this year, 2013 will be:
 
Recent Forum Topics
EH-Net News Feeds
Latest Additions
 
         
Advertisement

© 2013 The Ethical Hacker Network
Joomla! is Free Software released under the GNU/GPL License.