SQLite рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рддрдХрдиреАрдХ рдкреЗрд╢ рдХреА рдЧрдИ рд╣реИред

рдЪреЗрдХ рдкреНрд╡рд╛рдЗрдВрдЯ рдХреЗ рд╢реЛрдзрдХрд░реНрддрд╛ рдЦреБрд▓рд╛ DEF CON рд╕рдореНрдореЗрд▓рди рдореЗрдВ, SQLite рдХреЗ рдХрдордЬреЛрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рддрдХрдиреАрдХ рдХрд╛ рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ред рдЪреЗрдХ рдкреНрд╡рд╛рдЗрдВрдЯ рд╡рд┐рдзрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЖрдВрддрд░рд┐рдХ SQLite рдЙрдкрдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд╢реЛрд╖рдг рдХреЗ рд▓рд┐рдП рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреА рд╣реИ рдЬреЛ рд╕реАрдзреЗ рд╢реЛрд╖рдг рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИрдВред рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдиреЗ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ SELECT рдХреНрд╡реЗрд░реАрдЬрд╝ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реЛрд╖рдг рдХреЛ рдПрдиреНрдХреЛрдб рдХрд░рдХреЗ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдХрдиреАрдХ рднреА рддреИрдпрд╛рд░ рдХреА рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ ASLR рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рдПрдХ рд╕рдлрд▓ рд╣рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд▓рд╛ рдХрд┐рдП рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдбреЗрдЯрд╛рдмреЗрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬреЛ рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рд╣рдорд▓реЛрдВ рдХреА рд╡рд┐рдзрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрд╛рд░рдЧрдорди рдФрд░ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд░реВрдк рдореЗрдВ SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореМрдЬреВрджрд╛ рд╕реНрдерд╛рдиреАрдп рдкрд╣реБрдВрдЪ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдпреБрдХреНрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЫрд┐рдкреЗ рд╣реБрдП рдмреИрдХрдбреЛрд░ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рд╕реБрд░рдХреНрд╖рд╛ рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдореИрд▓рд╡реЗрдпрд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╕рдордп рд╕реБрд░рдХреНрд╖рд╛ рддрдВрддреНрд░ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреАред рдлрд╝рд╛рдЗрд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдмрд╛рдж рдХрд╛ рдСрдкрд░реЗрд╢рди рдЙрд╕ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╢реЛрдзрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдкрд╣рд▓реА SELECT рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, рд╣рдордиреЗ рдПрдбреНрд░реЗрд╕ рдмреБрдХ рдЦреЛрд▓рддреЗ рд╕рдордп iOS рдореЗрдВ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "AddressBook.sqlitedb" рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдорд▓реЗ рдореЗрдВ fts3_tokenizer рдлрд╝рдВрдХреНрд╢рди (CVE-2019-8602, рдкреЙрдЗрдВрдЯрд░ рдбреАрд░реЗрдлрд╝рд░реЗрдВрд╕ рдХреНрд╖рдорддрд╛) рдореЗрдВ рдПрдХ рднреЗрджреНрдпрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕реЗ рдЕрдкреНрд░реИрд▓ SQLite 2.28 рдЕрдкрдбреЗрдЯ рдореЗрдВ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рд╛рде рд╣реА рдПрдХ рдЕрдиреНрдп рднреЗрджреНрдпрддрд╛ рд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, PHP рдореЗрдВ рд▓рд┐рдЦреЗ рдХрд┐рд╕реА рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рдмреИрдХрдПрдВрдб рд╕рд░реНрд╡рд░ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рджреВрд░ рд╕реЗ рдЬрдмреНрдд рдХрд░рдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЬреЛ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХреЛрдб рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдП рдЧрдП рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдЬрдорд╛ рдХрд░рддрд╛ рд╣реИ (рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдП рдЧрдП рдкрд╛рд╕рд╡рд░реНрдб SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ), рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╣рдорд▓реЗ рдХреА рд╡рд┐рдзрд┐ рджреЛ рддрдХрдиреАрдХреЛрдВ "рдХреНрд╡реЗрд░реА рд╣рд╛рдИрдЬреИрдХрд┐рдВрдЧ" рдФрд░ "рдХреНрд╡реЗрд░реА рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ" рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рдордирдорд╛рдиреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬреЛ SQLite рдЗрдВрдЬрди рдореЗрдВ рдореЗрдореЛрд░реА рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИрдВред "рдХреНрд╡реЗрд░реА рд╣рд╛рдИрдЬреИрдХрд┐рдВрдЧ" рдХрд╛ рд╕рд╛рд░ sqlite_master рд╕реЗрд╡рд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ "sql" рдлрд╝реАрд▓реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдПрдХ DDL (рдбреЗрдЯрд╛ рдбреЗрдлрд┐рдирд┐рд╢рди рд▓реИрдВрдЧреНрд╡реЗрдЬ) рдмреНрд▓реЙрдХ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рд╡рд░рдг рдорд╛рдирдХ SQL рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред "рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ" рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдЬрд┐рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрд░рдВрднреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди (рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдХреЗ рджреМрд░рд╛рди) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
sqlite3LoateTable рдореЗрдореЛрд░реА рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛-рд╕рдВрдмрдВрдзрд┐рдд рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛рдПрдБ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред

рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐, "рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ" рдХреЛ "рджреГрд╢реНрдп рдмрдирд╛рдПрдВ" рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рджреГрд╢реНрдп рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдХрд┐рд╕реА рднреА рдкрд╣реБрдВрдЪ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред "рдХреНрд░рд┐рдПрдЯ рд╡реНрдпреВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ "рд╕реЗрд▓реЗрдХреНрдЯ" рдСрдкрд░реЗрд╢рди рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ "рдЯреЗрдмрд▓ рдмрдирд╛рдПрдВ" рдХреЗ рдмрдЬрд╛рдп рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ SQLite рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╣рд┐рд╕реНрд╕реЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдорд▓реЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ "load_extension" рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдордирдорд╛рдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИред

рдЬрдм "SELECT" рдСрдкрд░реЗрд╢рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд╣рдорд▓реЗ рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, "рдХреНрд╡реЗрд░реА рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ" рддрдХрдиреАрдХ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИ, рдЬреЛ SQLite рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреА рд╣реИ рдЬреЛ рдореЗрдореЛрд░реА рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИрдВред рдпрд╣ рддрдХрдиреАрдХ рд░рд┐рдЯрд░реНрди-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддреА рд╣реИ (ROP, рд░рд┐рдЯрд░реНрди-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ), рд▓реЗрдХрд┐рди рдХреЙрд▓ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ ("рдЧреИрдЬреЗрдЯреНрд╕") рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╢реАрди рдХреЛрдб рдХреЗ рдореМрдЬреВрджрд╛ рд╕реНрдирд┐рдкреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди SELECT рдХреЗ рдЕрдВрджрд░ рд╕рдмрдХреНрд╡реЗрд░реА рдХреЗ рдПрдХ рд╕реЗрдЯ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред

SQLite рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рддрдХрдиреАрдХ рдкреЗрд╢ рдХреА рдЧрдИ рд╣реИред

SQLite рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рддрдХрдиреАрдХ рдкреЗрд╢ рдХреА рдЧрдИ рд╣реИред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ