Oluwadi lati Ṣayẹwo Point
Fun ikọlu aṣeyọri, o jẹ dandan lati ni anfani lati yipada awọn faili data data ti awọn ohun elo ti o kọlu, eyiti o ṣe opin ọna lati kọlu awọn ohun elo ti o lo aaye data SQLite gẹgẹbi ọna kika fun gbigbe ati data titẹ sii. Ọna naa tun le ṣee lo lati faagun iraye si agbegbe ti o wa tẹlẹ, fun apẹẹrẹ, lati ṣepọ awọn ẹhin ti o farapamọ sinu awọn ohun elo ti a lo, bakannaa lati fori awọn ọna aabo nigbati o n ṣe itupalẹ malware nipasẹ awọn oniwadi aabo. Iṣiṣẹ lẹhin ti fidipo faili ti wa ni ṣiṣe ni akoko ti ohun elo naa n ṣiṣẹ ibeere YAN akọkọ lodi si tabili kan ninu aaye data ti a tunṣe.
Gẹgẹbi apẹẹrẹ, a ṣe afihan agbara lati ṣiṣẹ koodu ni iOS nigbati o ṣii iwe adirẹsi kan, faili pẹlu “AddressBook.sqlitedb” database ti yipada ni lilo ọna ti a dabaa. Ikọlu naa lo ailagbara kan ninu iṣẹ fts3_tokenizer (CVE-2019-8602, agbara ifasilẹ itọka), ti o wa titi ni imudojuiwọn Kẹrin SQLite 2.28, pẹlu miiran
Ọna ikọlu da lori lilo awọn imọ-ẹrọ meji “Ibeere Hijacking” ati “Ibeere Oorun Eto”, eyiti o gba laaye lilo awọn iṣoro lainidii ti o yori si ibajẹ iranti ni ẹrọ SQLite. Koko-ọrọ ti “Ibeere Hijacking” ni lati rọpo awọn akoonu ti aaye “sql” ni tabili iṣẹ iṣẹ sqlite_master, eyiti o pinnu eto ipilẹ data naa. Aaye pàtó kan ni DDL kan (Ede Itumọ data) bulọọki ti a lo lati ṣapejuwe igbekalẹ awọn nkan inu aaye data. Awọn apejuwe ti wa ni pato nipa lilo boṣewa SQL sintasi, i.e. “ṢẸDA TABLE” ti lo ikole,
eyiti o ṣiṣẹ lakoko ilana ipilẹṣẹ data (lakoko ifilọlẹ akọkọ
sqlite3LocateTable awọn iṣẹ lati ṣẹda tabili-jẹmọ ti abẹnu ẹya ni iranti.
Ero naa ni pe, bi abajade ti rirọpo “ṢẸDA TABLE” pẹlu “ṢẸDA wiwo”, o ṣee ṣe lati ṣakoso eyikeyi wiwọle si ibi ipamọ data nipa asọye wiwo tirẹ. Lilo “ṢẸDA wiwo” iṣẹ “Yan” wa ni owun si tabili, eyiti yoo pe ni dipo “ṢẸDA TABLE” ati gba ọ laaye lati wọle si awọn ẹya oriṣiriṣi ti onitumọ SQLite. Nigbamii ti, ọna ti o rọrun julọ ti ikọlu yoo jẹ lati pe iṣẹ "load_extension", eyiti o fun ọ laaye lati ṣajọpọ ile-ikawe lainidii pẹlu itẹsiwaju, ṣugbọn iṣẹ yii jẹ alaabo nipasẹ aiyipada.
Lati ṣe ikọlu nigbati o ṣee ṣe lati ṣe iṣẹ “Yan”, ilana “Ibeere Oriented Programming” ti dabaa, eyiti o jẹ ki o ṣee ṣe lati lo awọn iṣoro ni SQLite ti o yori si ibajẹ iranti. Ilana naa jẹ iranti ti siseto ipadabọ-pada (
orisun: opennet.ru