Słyszałem, że Python jest bardzo dobry do pięciostopni. Ma do tego dobre moduły. Ale to nie jest dobre ramy, takie jak Metasploit.Czy Python lub Ruby są dobre do testowania penetracji?
Odpowiedz
Każdy język, który ma dobre i łatwe możliwości obsługi ciągów, dobrze pasuje do testów penetracyjnych. Właśnie dlatego języki skryptowe są najczęściej używanymi językami w tego typu zadaniach.
Aby odpowiedzieć na pytanie, są równie dobre.
O ile mi wiadomo, Python i Ruby są znacznie bardziej wyraziste. Kiedy naprawdę do tego dojdziesz, w zasadzie robią to samo, wszystko zależy od twoich preferencji. Metasploit został napisany w Ruby, a wiele fantastycznych narzędzi do pisania zostało napisanych w Pythonie. Perl to również dobry wybór i często go używam. Ma wiele przydatnych modułów, nie wspominając o CPAN (polecam to sprawdzić, jeśli jeszcze tego nie zrobiłeś). Jest dobry do skryptów gniazdowych, manipulowania danymi i renomy dzięki doskonałej obsłudze regexp. Inne rzeczy, które lubię w Perlu i Ruby, to możesz wykonać polecenie Linuksa i przechwycić dane wyjściowe w zmiennej.
np
#!/usr/bin/perl -w
use strict;
my $user = `whoami`;
chomp($user); # usually there's a newline character at the end of the output.
print "You are " . $user . "\n";
Kocham tę funkcjonalność. Jest sposób na zrobienie czegoś podobnego w Pythonie, ale jest o wiele bardziej zdyszany.
Większość programów na milw0rm jest kodowanych w języku C - ale tak naprawdę nie jest to język skryptowy i nie jest tak proste, aby napisać szybki skrypt w locie, jeśli jest to konieczne.
Moja konkluzja jest Ruby i Python są w porządku do testowania pióra i generalnie robić te same rzeczy - ale Perl zawsze będzie moim ulubionym :-)
dobrze myślę, że c jest mocniejszy niż obu językach, a jest lepszy do testowania pióra.
Ale C nie jest językiem skryptowym, istnieje wiele argumentów potwierdzających, że python/ruby są lepsze do testowania pióra. Na przykład przy C nie można zautomatyzować tak szybko, jak w python/ruby, python/ruby jest językiem wysokiego poziomu, a pisanie programów na nich jest dużo łatwiejsze niż C. Ale jeśli chcesz poradzić sobie z testowaniem piórem, powinieneś nauczyć się Pythona lub innego języka skryptowego i C/C++ lub innych języków, takich jak PHP, na co testujesz, ale powinieneś znać przynajmniej jeden język skryptowy, który sprawia, że niektóre rzeczy są o wiele łatwiejsze. .
- 1. Dobre zasoby dotyczące testowania jednostkowego?
- 2. Czy istnieje dobre opakowanie openCL dla Ruby?
- 3. Jakie są dobre wprowadzenia online do testowania i testowania opartego na dynamice?
- 4. Jakie są dobre ramy testowania jednostek dla projektów Common Lisp?
- 5. Czy ruby są mocno lub słabo napisane?
- 6. Czy są dostępne dobre arkusze oszukiwania ASP.NET MVC2 lub MVC3?
- 7. Czy są jakieś dobre waluty javascript lub klasy dziesiętne?
- 8. Jakie są twierdzenia lub NSA, które są dobre w praktyce?
- 9. Czy są dostępne jakieś dobre geoparsery otwarte?
- 10. Czy istnieją inne dobre alternatywy dla zc.buildout i/lub virtualenv do instalowania zależności innych niż python?
- 11. Jakie są dobre wyskakujące okna dialogowe dla Ruby on Rails?
- 12. Dobre źródła klejnotów ruby?
- 13. Czy są jakieś dobre dokumenty/książki/samouczki dla xUnit.NET?
- 14. Czy są jakieś dobre alternatywy dla WebSVN?
- 15. Czy są jakieś algorytmy online do testowania płaskości?
- 16. Silniki gier 3D dla Ruby lub Python?
- 17. Czy są dostępne dobre aplikacje Grails do nauki?
- 18. Jakie są dobre zasoby do nauki Grails?
- 19. Dobre praktyki programowania Python do wyliczania list
- 20. Python: Dobre miejsce do nauki o "wieloprocesowości.
- 21. Co to jest dobre narzędzie do testowania usługi sieciowej SOAP?
- 22. Jakie są dobre samouczki do nauki pycURL?
- 23. Czy są narzędzia do testowania wydajności i obciążenia usługi REST?
- 24. Które moduły Perla są dobre do zmieniania danych?
- 25. Jakie są dobre narzędzia do analizowania języka naturalnego dla Perla?
- 26. Jakieś dobre klejnoty aplikacji konsolowych Ruby?
- 27. Czy indeksy są dobre czy złe dla dużej bazy danych?
- 28. Czy istnieje AssertEquals do testowania plików XML?
- 29. Czy jednowierszowe instrukcje "if"/"for" są dobre w stylu Pythona?
- 30. Jakie ramy testowania są używane w Railsach?
Masz rację ... ale obsługa ciągów właśnie się nie liczy. Widziałem poprzednie pytanie, który język jest najlepszy do testowania, zależy od narzędzia, którego używamy .. ruby, jeśli metasploit lub python id używamy odporności na płótno .. – Sriram
Obsługa łańcuchów liczy się bardzo! Nie wszystkie exploity wydane dziś koncentrują się na płótnie metasploit lub odporności. Niektóre z nich polegają tylko na możliwościach języka (np. Gniazdach). Zobacz większość exploitów na milw0rm. Ilu z nich korzysta z metasploit? Nieliczne. Prawie wszystkie z nich używają kodu gniazda i próbują przepełnić coś. – Geo
Przepraszam, że mówię, że obsługa sznurka w spokoju sama się nie liczy ... i miał na myśli to, co napisałeś .. część kodu powłoki to głównie rzeczy obsługujące ciągi .. i do zdalnych exploitów bibliotek gniazd, o których wspomniałeś .. – Sriram