We are starting a series of articles which will help you get a grip of python from the perspective of security professionals.
In the first post of the series I am posting a number of links that you should go through in order to get a grip on both the process of programming and python.
Here we go
Why do I need to learn programming?http://catb.org/~esr/faqs/hacker-howto.htmlhttp://www.ethicalhacker.net/component/option,com_smf/Itemid,54/topic,2503.0/http://seclists.org/pen-test/2006/Feb/0188.htmlwhy python?http://www.linuxjournal.com/article/3882http://www.amk.ca/python/howto/advocacy/Actually if you learn any one programming language thoroughly then it is very easy to pick up another within a week or so. The main thing is to master the programming paradigm. Once you do that you have to learn just the syntax of the programming language because you already know the concepts. We have chosen python because of various reasons (you can read some of then in the links above).
How to be a programmer?http://samizdat.mines.edu/howto/HowToBeAProgrammer.htmlHow to be a good programmer?http://norvig.com/21-days.htmlhttp://www.wikihow.com/Improve-your-Skills-as-a-Programmerhttp://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/Perfection-oriented vs performance-oriented people. http://www.labri.fr/perso/strandh/Teaching/Langages-Enchasses/Common/Strandh-Tutorial/psychology.htmlHow I can participate?Read the above articles to get a feel of what programming is all about. But saying that reading about programming will teach you programming is like saying that you can learn to drive by correspondence.
You can learn programming in only one way, that is, by programming. So after some research we have come up with a good tutorial of python which suits both non-programmers and people with a little bit of programming experience. Here it is-
How to think like a computer scientist
http://openbookproject.net//thinkCSpy/While we are going through the tutorial I will post articles that will help you apply your existing knowledge of python into various areas of security. For example, once you master simple string processing and number crunching, I will post an article on how to make and break ciphers using python. Similarly after learning network programming with python you will get an article that’ll help you learn to write scanners, spoofers, HTTP fuzzers and what not.
You should complete the first two chapters of the tutorial by 5th July. I will post my first article on the same date. Until then we will discuss the concepts of the first chapters.
After completion of this project I am sure that the participants will have a thorough grip of python and how to apply it to solve their day to day security problems.
Post any problems that you encounter while reading the tutorial and get ready for the roller coaster ride of hacking python as well as hacking with python.
Any suggestions and criticisms are welcome.
-shakuni
(
shakuni.you.bet@gmail.com)