O se auala fou mo le faʻaogaina o faʻafitauli i SQLite ua faʻalauiloaina.

Tagata su'esu'e mai Check Point lē ufiufia i le DEF CON conference, faʻamatalaga o se auala fou mo le osofaʻia o talosaga e faʻaaoga ai faʻafitauli vaivai o SQLite. O le Check Point method e manatu i faila fa'amaumauga o se avanoa e tu'ufa'atasia ai fa'aaliga mo le fa'aogaina o fa'aletonu i totonu ole vaega ole SQLite i totonu e le mafai ona fa'aoga sa'o. Ua saunia foi e le au suʻesuʻe se metotia mo le faʻaogaina o faʻafitauli e ala i le faʻaogaina o le faʻaogaina i le tulaga o se filifili o fesili FILIFILI i le SQLite database, lea e mafai ai ona e pasia le ASLR.

Mo se osofaʻiga manuia, e manaʻomia le mafai ona suia faila faʻamaumauga o talosaga osofaʻi, lea e faʻatapulaʻaina ai le auala e osofaʻia ai talosaga e faʻaogaina ai le SQLite database e fai ma faʻasologa mo femalagaiga ma faʻamatalaga faʻapipiʻi. E mafai fo'i ona fa'aoga le metotia e fa'alautele ai avanoa fa'apitonu'u, mo se fa'ata'ita'iga, e tu'ufa'atasia faitoto'a natia i totonu o fa'aoga fa'aoga, fa'apea fo'i ma le fa'aogaina o faiga fa'apolopolo pe a su'esu'eina malware e tagata su'esu'e puipuiga. Fa'agaioiga pe a uma ona sui faila e fa'atinoina i le taimi lava e fa'atino ai e le talosaga le fesili muamua FILIFILI i luga o se laulau i totonu o fa'amaumauga ua suia.

Mo se faʻataʻitaʻiga, na matou faʻaalia le mafai ona faʻatautaia le code i iOS pe a tatalaina se tusi tuatusi, o le faila ma le "AddressBook.sqlitedb" database na faʻaleleia e faʻaaoga ai le auala fuafuaina. O le osofaʻiga na faʻaaogaina ai se faʻafitauli i le fts3_tokenizer galuega (CVE-2019-8602, faʻasologa o le faʻaogaina o le mafai), faʻamautu i le April SQLite 2.28 faʻafouina, faʻatasi ai ma le isi. vaivai i le faʻatinoga o galuega faʻamalama. E le gata i lea, o le faʻaogaina o le auala mo le faʻaogaina mamao o le faʻaogaina o le backend server o loʻo tusia i le PHP, lea e faʻaputuina ai upu faʻamaonia na faʻalavelaveina i le taimi o le faʻagaioiina o tulafono leaga (o upu faʻamaonia na tuʻuina atu i le tulaga o se database SQLite), na faʻaalia.

O le osofaʻiga auala e faʻavae i luga o le faʻaogaina o auala e lua "Query Hijacking" ma le "Query Oriented Programming", lea e faʻatagaina ai le faʻaogaina o faʻafitauli faʻaletonu e mafua ai le leaga o le mafaufau ile masini SQLite. O le aano o le "Query Hijacking" o le suia lea o mea o loʻo i totonu o le "sql" fanua i le sqlite_master service table, lea e fuafua ai le fausaga o le database. O le fanua faʻamaonia o loʻo i ai se poloka DDL (Data Definition Language) faʻaaogaina e faʻamatala ai le fausaga o mea faitino i totonu o faʻamaumauga. O le faʻamatalaga o loʻo faʻamaonia mai le faʻaogaina o le SQL syntax masani, i.e. o lo'o fa'aaogaina le faufale "CREATE TABLE",
lea e faʻatinoina i le taimi o le faʻasologa o faʻamaumauga faʻamaumauga (i le taimi o le faʻalauiloaina muamua
sqlite3LocateTable galuega e fatu ai fausaga totonu e fesoʻotaʻi laulau i le mafaufau.

O le manatu, o se taunuuga o le suia o le "CREATE TABLE" ma le "CREATE VIEW", e mafai ona pulea soʻo se avanoa i le database e ala i le faʻamalamalamaina o lau lava vaʻaiga. O le fa'aogaina o le "CREATE VIEW" o lo'o fa'apipi'i le fa'agaioiga "FILIFILI" i le laulau, lea o le a ta'ua nai lo le "CREATE TABLE" ma fa'atagaina oe e maua vaega eseese o le fa'aliliuga SQLite. O le isi, o le auala sili ona faigofie o le osofaʻiga o le taʻua lea o le "load_extension" galuega, lea e mafai ai ona e utaina se faletusi faʻapitoa ma se faʻaopoopoga, ae o lenei galuega e le mafai ona faʻaogaina.

Ina ia faia se osofaʻiga pe a mafai ona faia le "FILIFILI" gaioiga, o le "Query Oriented Programming" o loʻo faʻatulagaina, lea e mafai ai ona faʻaaogaina faʻafitauli i SQLite e oʻo atu ai i le faʻaleagaina o mafaufauga. O le metotia e faamanatu mai ai polokalame toe foʻi (ROP, Polokalama Fa'ata'ita'i, ae fa'aaoga e le'o iai snippets o fa'ailoga masini e fausia ai se filifili o telefoni ("gadgets"), ae fa'aofi i totonu o se seti o subqueries i totonu SELECT.

O se auala fou mo le faʻaogaina o faʻafitauli i SQLite ua faʻalauiloaina.

O se auala fou mo le faʻaogaina o faʻafitauli i SQLite ua faʻalauiloaina.

puna: opennet.ru

Faaopoopo i ai se faamatalaga