Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
~50% programistów PHP nie wie jak chronić się przed SQLi? Rozpylają dalej tą (nie)wiedzę na Stack Overflow
Ciekawy projekt mający na celu namierzać wystąpienia podatności SQL injection w wątkach dotyczących PHP na Stack Overflow. Według autorów projektu, miesięcznie pytań tego typu (zawierających SQLi) jest spokojnie ponad 1000:
Z kolei wśród pytań dotyczących PHP/MySQL – procentowa zawartość SQLi oscyluje w okolicach 50%:
Jest też trochę swojskich wątków (wystarczy kliknąć na dane zapytanie aby przenieść się do konkretnego pytania na SO). Pierwszy przykład z brzegu:
28/11/2016 22:29:31 $zapytanie = „SELECT iloscsurmaterialu, Produkt FROM receptaprodukt WHERE surowiec=’$mat'”
Udanego copy-paste ;-)
PS
W temacie ochrony przed SQL injection polecam zerknąć na strony OWASP – a przede wszystkim na mechanizm zapytań parametryzowanych.
SQLi można też poćwiczyć na naszym serwisie rozwal.to, lub wbić się na odpowiednie szkolenie.
–ms
Wszystko cudnie, ale proszę – „tę” niewiedzę :-)
Na rozwalił.to dostałem bana;(
to może jakiś error :/ raczej banów jest b. mało chyba że admin coś kliknął nie tak :P
Panowie, serio nie ma sensowniejszych i rzetelniej opracowanych tematów? Projekt do którego linkujecie:
* analizuje _pytania_, więc teza o 'rozpylaniu dalej (nie)wiedzy’ jest od czapy
* wyszukuje wystąpienia zmiennych w jednych stringach z zapytaniami, które może nie jest dobrą praktyką, ale samo w sobie nie warunkuje wystąpienia SQLi
* analizuje miejsce, gdzie wypowiadają się osoby szukające wiedzy, więc pisanie '50% programistów PHP’ to nagłówek godny pudelka
* analizuje krótkie snippety, gdzie czasem robi się skróty
Podsumowując – ogarnijcie się. Sam projekt jest naciągany, a komentarz jaki dopisaliście godny portalozy.
my widzimy w pentestach na żywych aplikacjach +- podobną ilość SQLi. Dokładnie licząc co do procenta to pewnie że nie będzie to się zgadzało. Ale przybliżenie imo może być niezłe.
Nie no, panowie, ale nie mieszajmy systemów walutowych, nie bądźmy peweksami. Może po kolei:
* Zalinkowany skrypt wyciąga użycie zmiennych w SQLkach, które samo w sobie dowodem na SQLi nie jest
* We wnioskach podaje liczbę pytań
* W tekście napisaliście o liczbie programistów
* W komentarzu napisaliście o liczbie skryptów
Nawet jeśli robiąc mocną gimnastykę umysłową i ludzi, którzy zadają pytania na SO o PHP nazwie się „programistami PHP”, to pisanie takich wniosków jak wyżej jest mocno naciągane.
Ja tylko jeszcze dodam, że nierzadko tacy programiści są programistami innych języków, którzy na szybko stali się tymczasowymi programistami PHP, bo akurat trzeba coś w PHP zrobić, „a przecież pehap taki prosty”. Co dotnetowcy potrafią w PHP natworzyć to się nawet filozofom nie śniło. :D
Według mnie, projekt ten wcale nie jest ciekawy. Jest wręcz bez sensu. Na stack, podaje się osobom pytającym same rozwiązania koncepcji i oczekuje się, że wdrąży to walidacje już do projektu.
Zgadzam się, z Tobą – najczęściej szukam koncepcji lub przykładu, na podstawie którego piszę własną implementację. Przecież nie chodzi tam o kopiuj-wklej, tylko by pokazać jak rozwiązać dany problem.
Dorzucę swoje 3 gr. ½ PHP-owców nie potrafi chronić się przez SQLi — z moich [smutnych] obserwacji wynika, że sporo z nich „aktywnie” protestuje przeciwko potrzebie takiego zabezpieczenia.
Ciekawe, w ilu wątkach nadal używane jest rozszerzenie mysql zamiast pdo :/.
Nie potrzebujecie czasem webdeva do ogarnięcia rwd na tej stronie? Katorga..
jakoś tak chałpniczo ciągniemy przez 3 lata ;)
Quick and dirty:
@media (max-width: 940px) {
#content, #sidebar {
float: none !important;
width: 100% !important;
}
.wrapper, header#header nav ul {
width: auto !important;
margin: 0 20px !important;
}
header#header nav ul li {
display: block !important;
padding: 12px 0 !important;
}
header#header nav ul li a {
border-right: none !important;
}
}
Korzystajcie i modyfikujcie do woli :)
Ja pracuję 3 lata jako programista php i nigdy nie spotkałem się z taką praktyką. Wszyscy używają PDO, a naj Wczęściej jakiegoś ORM. Wszystko to ma w tutorialu preparing, więc nawet jak nie wiedzą o co chodzi to ludzie się uczą pisać kwerendy sparametryzowane.
Oby tak było wszędzie :) W takiej np. Joomli nie zawsze o tym pamiętają; https://sekurak.pl/nieuwierzytelniony-sql-injection-w-joomli-mozliwosc-przejecia-sesji-administratora/