• Lacky
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    Można, jak najbardziej. Aplikacje napisane w ASM, które mają swoją własną konwencje wywoływania funkcji są trudniejsze w analizie, bo dekompilatory mają problem, żeby to tak z marszu ogarnąć. Ręki sobie nie dam uciąć, ale chyba jedna z grup APT z Wietnamu robiła coś takiego w swoim malware żeby utrudnić jego analizę.

    • サぺルOPM
      link
      fedilink
      Polski
      arrow-up
      1
      ·
      11 months ago

      W sumie to nie wiem jak wygląda dzisiaj praca na CTF. Romantycznie sądziłem, że ludzie sami wypatrują oczywistości debuggerem lub prymitywnym deasmem. Podczas oglądania omówienia chyba dopatrzyłem się jakiejś możliwości przez zbudowanie nieprawidłowego request http.

      • Lacky
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

        Nie patrzyłem dokładnie na omówienie, ale ogólna prawidłowość jest taka, że najwięcej błędów jest parserach danych. Im bardziej pokręcony format jest parsowany, tym większa szansa na znalezienie błędu. Dlatego w libxml2 do dzisiaj znajdują się co jakiś czas błędy, a taki TinyXML2 leży sobie spokojnie, bo tam zdecydowali się implementować jedynie wybrany wycinek standardu XML.

        • サぺルOPM
          link
          fedilink
          Polski
          arrow-up
          1
          ·
          11 months ago

          Tu wszystko jest dość proste. Przy parsowaniu nagłówka jest funkcja, która przeskakuje nowe linie, aż trafi na pustą linię - początek obszaru danych. Nie pamiętam by miała ograniczenie wielkości bufora. Więc uznałem, że można sprawić by poleciała dalej niż bufor.

          Jednak ambitnie wolałbym jakby ktoś znalazł jak można uruchomić kod i mi wytłumaczył. Tu mam braki w takich rozkminach. Znam teorię, ale nie wiem jak wygląda dobry schemat myślowy.