Ho hlahisitsoe mokhoa o mocha oa ho sebelisa hampe bofokoli ho SQLite.

Bafuputsi ba tsoang Check Point koaheloa Sebokeng sa DEF CON, lintlha tsa mokhoa o mocha oa ho hlasela lits'ebetso ho sebelisa mefuta e tlokotsing ea SQLite. Mokhoa oa Check Point o nka lifaele tsa database e le monyetla oa ho kopanya maemo a ho sebelisa hampe bofokoli lits'ebetsong tse fapaneng tsa kahare tsa SQLite tse sa sebelisoeng ka kotloloho. Bafuputsi ba boetse ba lokiselitse mokhoa oa ho sebelisa hampe bofokoli ka ho kenya ts'ebetsong ka mokhoa oa lipotso tsa KHETHA ho database ea SQLite, e u lumellang ho feta ASLR.

Bakeng sa tlhaselo e atlehileng, hoa hlokahala ho khona ho fetola lifaele tsa database tsa lits'ebetso tse hlasetsoeng, tse fokotsang mokhoa oa ho hlasela lits'ebetso tse sebelisang database ea SQLite joalo ka sebopeho sa data ea lipalangoang le ea ho kenya. Mokhoa ona o ka boela oa sebelisoa ho holisa phihlello e teng ea lehae, mohlala, ho kopanya mamati a ka morao a patiloeng lits'ebetsong tse sebelisitsoeng, hammoho le ho feta mekhoa ea ts'ireletso ha ho hlahlojoa malware ke bafuputsi ba ts'ireletso. Ts'ebetso ka mor'a hore faele e nkeloe sebaka e etsoa ka nako eo kopo e phethahatsang potso ea pele ea KHETHA khahlano le tafole ho database e fetotsoeng.

Ka mohlala, re bontšitse bokhoni ba ho tsamaisa khoutu ho iOS ha re bula buka ea aterese, faele e nang le "AddressBook.sqlitedb" database e fetotsoe ho sebelisa mokhoa o reriloeng. Tlhaselo e sebelisitse ts'oaetso ts'ebetsong ea fts3_tokenizer (CVE-2019-8602, pointer dereference capability), e hlophisitsoeng ntlafatsong ea April SQLite 2.28, hammoho le e 'ngoe. bofokodi ts'ebetsong ea mesebetsi ea fensetere. Ho phaella moo, ho ile ha bontšoa tšebeliso ea mokhoa oa ho laola ka thōko ho seva sa backend sa mohlaseli se ngotsoeng PHP, se bokellang li-passwords tse nkiloeng nakong ea ts'ebetso ea khoutu e mpe (li-passwords tse nkiloeng li fetisitsoe ka mokhoa oa SQLite database).

Mokhoa oa tlhaselo o ipapisitse le ts'ebeliso ea mekhoa e 'meli ea "Query Hijacking" le "Query Oriented Programming", e lumellang ho sebelisa mathata a sa tsotelleng a lebisang ho bobolu ba mohopolo mochining oa SQLite. Moko-taba oa "Query Hijacking" ke ho nkela litaba tsa "sql" sebakeng sa tafole ea ts'ebeletso ea sqlite_master, e khethollang sebopeho sa database. Sebaka se boletsoeng se na le "block" ea DDL (Data Definition Language) e sebelisetsoang ho hlalosa sebopeho sa lintho tse ka har'a database. Tlhaloso e hlalositsoe ho sebelisoa syntax e tloaelehileng ea SQL, ke hore. ho sebelisoa kaho ea "CREATE TABLE",
e etsoang nakong ea ts'ebetso ea ho qala database (nakong ea tlhahiso ea pele
sqlite3LocateTable e sebetsa ho theha meaho ea kahare e amanang le tafole mohopolong.

Maikutlo ke hore, ka lebaka la ho fetola "CREATE TABLE" ka "CREATE VIEW", hoa khoneha ho laola phihlello efe kapa efe ho database ka ho hlalosa maikutlo a hau. Ho sebelisa "CREATE VIEW" ts'ebetso ea "KHETHA" e tlameletsoe tafoleng, e tla bitsoa "CREATE TABLE" 'me e u lumella ho fumana likarolo tse fapaneng tsa mofetoleli oa SQLite. Ka mor'a moo, mokhoa o bonolo ka ho fetisisa oa ho hlasela e tla ba ho letsetsa mosebetsi oa "load_extension", o u lumellang hore u laole laebrari e sa lumellaneng le katoloso, empa mosebetsi ona o holofetse ka ho sa feleng.

Ho etsa tlhaselo ha ho khoneha ho etsa ts'ebetso ea "KHETHA", mokhoa oa "Query Oriented Programming" o hlahisoa, o etsang hore ho khonehe ho sebelisa mathata a SQLite a lebisang ho bobolu ba mohopolo. Mokhoa ona o re hopotsa ka mananeo a shebaneng le ho khutla (Rop, Return-Oriented Programming), empa e sebelisa likotoana tse seng li le teng tsa khoutu ea mochini ho etsa letoto la mehala ("gadgets"), empa e kenya ka sete ea lipotso tse ka hare ho SELECT.

Ho hlahisitsoe mokhoa o mocha oa ho sebelisa hampe bofokoli ho SQLite.

Ho hlahisitsoe mokhoa o mocha oa ho sebelisa hampe bofokoli ho SQLite.

Source: opennet.ru

Eketsa ka tlhaloso