Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
SQL injection prowadzący do RCE w… certyfikacie SSL/TLS :D
Zerknijcie na ciekawą podatność SQL injection, prowadzącą do RCE (CVE-2023-32530, aplikacja webowa Trend Micro Apex Central 2019).
Z poziomu uwierzytelnionego użytkownika (ale nie admina), można uploadować do aplikacji certyfikat TLS. Na przykład taki:
Jak się domyślacie, aplikacja pobiera pewne dane z certyfikatu, umieszcza je w bazie, a przy okazji nie realizuje żadnego filtrowania wejścia. Nie używa również np. zapytań parametryzowanych (co mogłoby uchronić przed SQLi). Na powyższym zrzucie widzicie fragment z ATTACH DATABASE, co jest standardowym trickiem jeśli chodzi o wykonanie kodu (RCE) z wykorzystaniem SQLi na bazie SQLite. Dalej już z górki:
~ms
Najlepszy wektor to taki, gdzie programista był pewny, że tutaj to na pewno nikt nie zaatakuje, dlatego ciągle działają ataki typu Blind XSS injection (payload wykonuje się w wewnętrznym panelu admina, no bo przecież kto tam zaatakuje).
Smutne jest to że niestety coraz częściej programista który pisze kawałek kodu nie pomyśli i jeśli nie ma w zleceniu jawnie jakis warunków zabezpieczających proces to on nawet palcem nie kiwnie aby się zapytać, albo od poprawić kod aby był prawidłowy i obejmował jak nawieksza cześć procesu. Ale nie klient przetestuje jak znajdzie poprawimy a godziny lecą projekty się rozciągają w czasie. I zamiast pół roku wdrożenia robi się lekko rok jak nie dwa. Choć znam jeden co już leci 7 rok i dalej nie wystartował….