Ilana tuntun fun ilokulo awọn ailagbara ni SQLite ti ṣafihan.

Oluwadi lati Ṣayẹwo Point ṣiṣi silẹ ni apejọ DEF CON, awọn alaye ti ilana tuntun fun ikọlu awọn ohun elo nipa lilo awọn ẹya ipalara ti SQLite. Ọna Ṣayẹwo Point ṣe akiyesi awọn faili ibi ipamọ data bi aye lati ṣepọ awọn oju iṣẹlẹ fun ilokulo awọn ailagbara ni ọpọlọpọ awọn eto inu inu SQLite ti kii ṣe ilokulo taara. Awọn oniwadi tun ti pese ilana kan fun ilokulo awọn ailagbara nipa fifi koodu ilo nilokulo ni irisi pq kan ti awọn ibeere Yan ninu aaye data SQLite, eyiti o fun ọ laaye lati fori ASLR.

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 ailagbara ni imuse ti awọn iṣẹ window. Ni afikun, lilo ọna kan fun gbigba iṣakoso latọna jijin ti olupin ẹhin ti ikọlu ti a kọ sinu PHP, eyiti o ṣajọpọ awọn ọrọ igbaniwọle ti o wọle lakoko iṣẹ ti koodu irira (awọn ọrọ igbaniwọle ti o gba wọle ni a gbejade ni irisi data SQLite kan), ti ṣafihan.

Ọ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 (R.O.P., Siseto-Oorun Pada), ṣugbọn kii lo awọn snippets ti koodu ẹrọ lati kọ pq awọn ipe (“awọn ohun elo”), ṣugbọn awọn ifibọ sinu ṣeto awọn ibeere inu Yan.

Ilana tuntun fun ilokulo awọn ailagbara ni SQLite ti ṣafihan.

Ilana tuntun fun ilokulo awọn ailagbara ni SQLite ti ṣafihan.

orisun: opennet.ru

Fi ọrọìwòye kun