I want to become a so-called white hacker. You can tell me what knowledge I will need in the python language. I know the basics of the language (read Mark Lutz), but now I don’t know what to teach. Perhaps, tell me what frameworks or plugins to learn, as one python is not enough to say that I can work well with databases, other hacker things.

Closed due to the fact that it is necessary to reformulate the question so that it was possible to give an objectively correct answer by the participants Vladimir Martyanov , andreymal , Raz Galstyan , jfs , kizoso 22 Oct '17 at 12:04 .

The question gives rise to endless debates and discussions based not on knowledge, but on opinions. To get an answer, rephrase your question so that it can be given an unambiguously correct answer, or delete the question altogether. If the question can be reformulated according to the rules set out in the certificate , edit it .

  • one
    I think that you need a lower-level language for this business, C is very convenient to do what you plan, and Python is for other tasks. - Igor Igoryanych
  • And what other languages ​​can you advise? - user269883
  • one
    There is nothing better than C for your purposes, at least I do not know such languages. - Igor Igoryanych
  • 7
    I don’t even understand how databases and white hackers are connected? In general, the question does not fit the format for ruSO - andreymal
  • 2
    @IhorIgoryanych: the authors of scapy do not agree that the Python for other tasks was created - jfs

1 answer 1

Python itself and even more so frameworks and plugins will not help to become a hacker, although learning them is useful for programming skills. Therefore, take books on information security (IBIS), computer networks, computer architecture, operating systems (including studying Linux), it is advisable to take C ++ / C (read Richter’s books on programming in Windows), testing and administration. But in general it is quite a difficult niche to learn and requires a lot of effort and skill.

And so for starters try just programming, we have an excellent section with books for Python that you can use and choose something from there.

I like a quote from the book "Boris Leontiev - Hackers, hackers and other informational killers." Just from that opera, how a hacker acts, because in fact white hackers and information security specialists do the same thing, only from different ethical aspects. Pay attention to the section "disciplines in programming and computing" and "special disciplines."

Becoming a hacker is very easy. It is enough to learn and understand:

  • mathematical disciplines
    • mathematical analysis
    • theory of functions of a complex variable
    • algebra
    • geometry
    • probability theory
    • mathematical statistics
    • mathematical logic
    • Discrete Math
  • engineering disciplines
    • physics
    • computing hardware
    • basics of radio electronics
    • communication networks and protection of information from technical intelligence
  • disciplines in programming and computing
    • computer science
    • high level programming languages
    • programming methods
    • assembly language
    • Operating Systems
    • database management systems and computer networks
  • special disciplines
    • cryptography
    • theoretical foundations of computer systems protection

This is a fairly comprehensive list. But if we talk about more detailed hacker things, then you need to know that there are things in the world:

  • cryptographic methods in the protection of state, confidential and - commercial information.
  • cryptographic methods and means of protection and decryption of information.
  • mathematical methods for calculating the reliability of cipher systems.
  • mathematical models of processes arising from the protection of information.
  • methods for solving probabilistic, statistical and algorithmic problems - cryptographic analysis, synthesis of cipher systems and cryptographic protocols.
  • methods for identifying information security threats.
  • methods for constructing mathematical models of protected information, ciphers and cipher systems.
  • methods for converting information in networks of various types.
  • methods for predicting estimates of cryptographic security.
  • ensuring the reliability of the hardware encryption and testing of hardware and software implementations of cryptographic algorithms.
  • identification of information leakage channels by measuring and calculating parameters of hazardous signals.
  • the main provisions of the theory of electrical circuits.
  • basic principles of organization of communication systems and networks and features of modern network architectures.
  • the main types of ciphers, cipher systems, cryptographic protocols and how to choose a security system.
  • features of the development and maintenance of software for workgroups and paraprogramming.
  • principles of building ciphers, encryption systems and cryptographic protocols.
  • typical methods of cryptographic analysis and evaluation of cryptographic security.

PS In any case, you can always become just a good programmer and not strive to jump over your head.

  • 3
    If you find such lists interesting, you can google it: Mind map of information security - jfs
  • For me, programmers are divided into two types, which are either related to the web, or create programs (games, etc.). I like programming, but I don’t like any of the topics I listed above. And also, why do we need an assembly language? - user269883
  • 2
    @TarasYaitskiy there are still database developers who think through the optimal and fast storage architecture for various data. The assembly language helps to understand how the computer and programs work at a basic level, and is also used for reverse engineering and searching for vulnerabilities of various dextup programs. At the moment, you just need to read the general fundamental book by Andrew Tanenbaum - "Computer Architecture", as well as he has a book on the networks "Computer Networks" and on the OS "Modern Operating Systems". - Alex Krass
  • one
    @TarasYaitskiy but generally treat the answer as something in common. I find it difficult to point out any particular path or skills, since I am not familiar with this area. Basically, the institute in this area focused on the study of networks, operating systems and programming in C ++ and Ruby (you can use Python, someone taught Perl), a lot of different equipment and third-party programs were administered. - Alex Krass
  • one
    @TarasYaitskiy considering that assembler is a processor language, what is surprising about it? Any language eventually turns into assembly instructions and the same Python is not an exception, because its interpreter executes assembler commands as a result. I still remember how I was surprised to read reverse-engineering StarCraft 2 and reverse-engineering Diablo III . It is very interesting, though I still don’t understand more than half of what was stated in the articles ... Well, for some reason, the pictures for SC2 now aren’t loaded for some reason ( - Alex Krass