7/8/2012
Niewiele osób zwróciło uwagę na błąd, jaki został załatany w poprzedni microsoftowy Patch Tuesday. A jest on bardzo ciekawy, żeby nie powiedzieć, prymitywny…
Wstrzyknięcie argumentu linii poleceń
Pliki w Windows są otwierane przez odpowiednie programy (bazując na zarejestrowanych rozszerzeniach). Przykład dla WinRAR:
"C:\Program Files\WinRAR\WinRAR.exe" "%1"
(%1 jest zamieniane na nazwę klikniętego pliku)
Adi Cohen z IBM zastanowił się, co by było, gdyby plik na Windows miał w nazwie znak “? Niestety, napotkał na problem — nazwy plików w Windows nie mogą zawierać znaku podwójnego cudzysłowa. Ale na Linuksie już tak.
Stworzył więc taki plik pod Linuksem i udostępnił go Windowsowi poprzez NetBIOS. Okazało się jednak, że Windows, mimo iż plik zauważył, to zmienił mu nazwę, usuwając znak “… I tu zaczyna się robić ciekawie, bo Adi wpadł na pomysł, ze skoro w nazwie pliku “ nie może występować, to może da się tak nazwać sambowy udział?
Bingo! Wstrzyknięcie się udało:
Jak można wykorzystać tę podatność?
Atakujący tworzy zasób o nazwie:
xxxxx & start calc.exe &
Kiedy ofiara skorzysta np. z menu kontekstowego “CMD Prompt Here” (dostępne pod prawym przyciskiem myszy, wywołujące komendę “cmd.exe” /k cd %1″) na katalogu/pliku w tak nazwanym zasobie, odpalona zostanie komenda:
"cmd.exe" /k cd \\10.0.0.1\xxxxx & start calc.exe &\AnyOtherFolder
Adi na blogu IBM podaje jeszcze exploita automatycznie tworzącego i kompilującego program pod Visual Studio. Na szczęście, z tym błędem Microsoft poradził sobie w tym patchu.
Popularność tego typu błędów
Wstrzyknięcia to według wielu raportów jedne z najpopularniejszych błędów w aplikacjach, zwłaszcza webowych — jeśli chcesz wiedzieć więcej o popularnych błędach w serwisach internetowych i systemach operacyjnych, zapraszamy na nasze szkolenia.
bez praw admina to oni mogą sobie powstrzykiwać co najwyżej lewatywe.
Niekoniecznie panie jioaef.
Na oryginalnym blogu w komentarzu został opisany dodatkowy patent, który wymaga edycji rejestrów:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Shares]
“for \”xxx & calc.exe”=hex(7):43,00,53,00,43,00,46,00,6c,00,61,00,67,00,73,00,\
3d,00,30,00,00,00,4d,00,61,00,78,00,55,00,73,00,65,00,73,00,3d,00,34,00,32,\
00,39,00,34,00,39,00,36,00,37,00,32,00,39,00,35,00,00,00,50,00,61,00,74,00,\
68,00,3d,00,43,00,3a,00,5c,00,54,00,65,00,73,00,74,00,00,00,50,00,65,00,72,\
00,6d,00,69,00,73,00,73,00,69,00,6f,00,6e,00,73,00,3d,00,30,00,00,00,52,00,\
65,00,6d,00,61,00,72,00,6b,00,3d,00,00,00,53,00,68,00,61,00,72,00,65,00,4e,\
00,61,00,6d,00,65,00,3d,00,66,00,6f,00,72,00,20,00,22,00,78,00,78,00,78,00,\
20,00,26,00,20,00,63,00,61,00,6c,00,63,00,2e,00,65,00,78,00,65,00,00,00,54,\
00,79,00,70,00,65,00,3d,00,30,00,00,00,00,00
To wszystko przez tego szatańskiego linuksa! a kysz! demonie !!
Windows to mainstream… a mainstream to avatar szatana. :P
jioaef: polecam wrócić do szkółki niedzielnej :D
dziwi mnie dlaczego dopiero teraz to jest na niebezpieczniku…
ten błąd był opisany kilkanaście dni temu :>
aż zaczynam się bać moich źródeł
” nazwy plików w Windows nie mogą zawierać znaku podwójnego cudzysłowa”
Bardzo ciekawe, ja właśnie utworzyłem taki plik, i ma się dobrze.
Zdaje się, że nie chodzi o to co masz na klawiaturze, a o to: “
tj. podwójny cudzysłów brytyjski.
raczej chodzi o ” – inaczej nie udałoby się wstrzyknięcie
Zobaczcie kiedy został uruchomiony WinRar na zrzucie ekranu. Pod koniec 2011 roku!
Winrar? Ktoś tego jeszcze używa?