Муҳаққиқон аз Check Point
Барои ҳамлаи бомуваффақият, қобилияти тағир додани файлҳои пойгоҳи додаҳои замимаҳои ҳамлашуда лозим аст, ки ин усулро ба ҳамлаҳо ба барномаҳое, ки базаи SQLite-ро ҳамчун формати транзитӣ ва вуруди додаҳо истифода мебаранд, маҳдуд мекунад. Ин усул инчунин метавонад барои тавсеаи дастрасии мавҷудаи маҳаллӣ, масалан, барои ҳамгироии пушти дарҳои пинҳонӣ ба замимаҳои истифодашуда, инчунин барои гузаштан аз механизмҳои амниятӣ ҳангоми таҳлили нармафзори зараровар аз ҷониби муҳаққиқони амният истифода шавад. Амалиёт пас аз иваз кардани файл дар лаҳзаи иҷро кардани дархости SELECT-ро дар муқобили ҷадвали пойгоҳи додаҳои тағирёфта иҷро мекунад.
Ҳамчун мисол, мо қобилияти иҷро кардани кодро дар iOS ҳангоми кушодани китоби суроғаҳо нишон додем, файл бо махзани "AddressBook.sqlitedb" бо истифода аз усули пешниҳодшуда тағир дода шуд. Ҳамла як осебпазириро дар функсияи fts3_tokenizer (CVE-2019-8602, қобилияти истинод ба нишондиҳанда), ки дар навсозии SQLite 2.28 апрели соли ҷорӣ муқаррар карда шудааст ва дар баробари дигар
Усули ҳамла ба истифодаи ду техникаи "Таъмини дархостҳо" ва "Барномасозии ба дархост нигаронидашуда" асос ёфтааст, ки имкон медиҳанд мушкилоти худсаронаеро, ки боиси фасоди хотира дар муҳаррики SQLite мешаванд, истифода баранд. Моҳияти "Таъмини дархост" иваз кардани мундариҷаи майдони "sql" дар ҷадвали хидматрасонии sqlite_master мебошад, ки сохтори пойгоҳи додаҳоро муайян мекунад. Майдони муайян блоки DDL (Забони муайянкунии маълумот)-ро дар бар мегирад, ки барои тавсифи сохтори объектҳо дар базаи маълумот истифода мешавад. Тавсиф бо истифода аз синтаксиси стандартии SQL муайян карда мешавад, яъне. сохтори "ҶАДВАЛ офарин" истифода мешавад,
ки дар ҷараёни оғозкунии пойгоҳи додаҳо иҷро карда мешавад (ҳангоми оғози аввал
Функсияҳои sqlite3LocateTable барои сохтани сохторҳои дохилии ба ҷадвал алоқаманд дар хотира.
Идея дар он аст, ки дар натиҷаи иваз кардани "ҶАДВАЛ Эҷод кардан" бо "Эҷод кардани VIEW" имкон пайдо мекунад, ки ҳама гуна дастрасӣ ба пойгоҳи додаҳо тавассути муайян кардани назари худ назорат карда шавад. Бо истифода аз "CREATE VIEW" амалиёти "SELECT" ба ҷадвал вобаста аст, ки он ба ҷои "CREATE TABLE" номида мешавад ва ба шумо имкон медиҳад, ки қисматҳои гуногуни тарҷумони SQLite дастрас шавед. Минбаъд, соддатарин усули ҳамла даъват кардани функсияи "load_extension" хоҳад буд, ки ба шумо имкон медиҳад китобхонаи ихтиёриро бо васеъкунӣ бор кунед, аммо ин функсия бо нобаёнӣ ғайрифаъол аст.
Барои анҷом додани ҳамла, вақте ки имкони иҷрои амалиёти "SELECT" имконпазир аст, техникаи "Барномасозии ба дархост нигаронидашуда" пешниҳод карда мешавад, ки имкон медиҳад мушкилоти SQLite истифода шавад, ки боиси вайроншавии хотира мегардад. Техника барномасозии ба бозгашт нигаронидашударо ба хотир меорад (
Манбаъ: opennet.ru