{"id":37011,"date":"2019-10-31T22:15:16","date_gmt":"2019-10-31T19:15:16","guid":{"rendered":"https:\/\/prohoster.info\/blog\/predstavlena-novaya-tehnika-ekspluatatsii-uyazvimostej-v-sqlite\/"},"modified":"2019-10-31T22:15:16","modified_gmt":"2019-10-31T19:15:16","slug":"predstavlena-novaya-tehnika-ekspluatatsii-uyazvimostej-v-sqlite","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/predstavlena-novaya-tehnika-ekspluatatsii-uyazvimostej-v-sqlite","title":{"rendered":"Une nouvelle technique d'exploitation des vuln\u00e9rabilit\u00e9s dans SQLite a \u00e9t\u00e9 pr\u00e9sent\u00e9e","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Les chercheurs de la soci\u00e9t\u00e9 Check Point <noindex><a rel=\"nofollow\" href=\"https:\/\/research.checkpoint.com\/select-code_execution-from-using-sqlite\/\">ont r\u00e9v\u00e9l\u00e9<\/a><\/noindex> ont pr\u00e9sent\u00e9 lors de la conf\u00e9rence DEF CON des d\u00e9tails sur une nouvelle technique d'attaque visant des applications utilisant des versions vuln\u00e9rables de SQLite. La m\u00e9thode de Check Point consid\u00e8re les fichiers de base de donn\u00e9es comme une opportunit\u00e9 d'int\u00e9gration de sc\u00e9narios d'exploitation des vuln\u00e9rabilit\u00e9s dans diverses sous-syst\u00e8mes internes de SQLite, qui ne sont pas accessibles \u00e0 l'exploitation directe. Les chercheurs ont \u00e9galement d\u00e9velopp\u00e9 une technique d'exploitation des vuln\u00e9rabilit\u00e9s en codant l'exploit sous forme de cha\u00eenes de requ\u00eates SELECT dans une base de donn\u00e9es SQLite, permettant de contourner l'ASLR.<\/p>\n<p>Pour r\u00e9ussir une attaque, il est n\u00e9cessaire d'avoir la possibilit\u00e9 de modifier les fichiers de base de donn\u00e9es des applications cibl\u00e9es, ce qui limite la m\u00e9thode aux applications utilisant SQLite comme format pour les donn\u00e9es transitaires et d'entr\u00e9e. Cette m\u00e9thode peut \u00e9galement \u00eatre utilis\u00e9e pour \u00e9largir l'acc\u00e8s local d\u00e9j\u00e0 obtenu, par exemple pour int\u00e9grer des implants cach\u00e9s dans les applications utilis\u00e9es, ainsi que pour contourner les m\u00e9canismes de protection lors de l'analyse de logiciels malveillants par les chercheurs en s\u00e9curit\u00e9. L'exploitation apr\u00e8s la substitution du fichier se produit au moment o\u00f9 l'application effectue la premi\u00e8re requ\u00eate SELECT sur la table dans la base de donn\u00e9es modifi\u00e9e.<\/p>\n<p>\u00c0 titre d'exemple, il est d\u00e9montr\u00e9 comment ex\u00e9cuter du code sur iOS lors de l'ouverture du carnet d'adresses, dont le fichier de base de donn\u00e9es &#171;AddressBook.sqlitedb&#187; a \u00e9t\u00e9 modifi\u00e9 \u00e0 l'aide de la m\u00e9thode propos\u00e9e. L'attaque a exploit\u00e9 une vuln\u00e9rabilit\u00e9 dans la fonction fts3_tokenizer (CVE-2019-8602, possibilit\u00e9 de d\u00e9r\u00e9f\u00e9rencement d'un pointeur), corrig\u00e9e dans la mise \u00e0 jour d'avril de SQLite 2.28, ainsi qu'une autre. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50658\">vuln\u00e9rabilit\u00e9<\/a><\/noindex> dans l'impl\u00e9mentation des fonctions de fen\u00eatres. De plus, l'utilisation de la m\u00e9thode a \u00e9t\u00e9 d\u00e9montr\u00e9e pour le contr\u00f4le \u00e0 distance d'un serveur backend \u00e9crit en PHP par des attaquants, destin\u00e9 \u00e0 accumuler des mots de passe intercept\u00e9s lors de l'ex\u00e9cution de code malveillant (les mots de passe intercept\u00e9s \u00e9taient transmis sous forme de base de donn\u00e9es SQLite).<\/p>\n<p>La m\u00e9thode d'attaque repose sur l'utilisation de deux techniques &#171;Query Hijacking&#187; et &#171;Query Oriented Programming&#187;, permettant d'exploiter des probl\u00e8mes arbitraires menant \u00e0 une corruption de la m\u00e9moire dans le moteur SQLite. L'essence du &#171;Query Hijacking&#187; r\u00e9side dans la substitution du contenu du champ &#171;sql&#187; dans la table syst\u00e8me sqlite_master, d\u00e9finissant la structure de la base de donn\u00e9es. Ce champ contient un bloc DDL (Data Definition Language), utilis\u00e9 pour d\u00e9crire la structure des objets dans la base de donn\u00e9es. La description est d\u00e9finie \u00e0 l'aide de la syntaxe SQL standard, c'est-\u00e0-dire qu'elle utilise la construction &#171;CREATE TABLE&#187;.<br \/>\nqui est ex\u00e9cut\u00e9e lors de l'initialisation de la base de donn\u00e9es (lors de la premi\u00e8re ex\u00e9cution<br \/>\nde la fonction sqlite3LocateTable) pour cr\u00e9er les structures internes li\u00e9es \u00e0 la table en m\u00e9moire.<\/p>\n<p>L'id\u00e9e est qu'en rempla\u00e7ant &#171;CREATE TABLE&#187; par &#171;CREATE VIEW&#187;, il devient possible de contr\u00f4ler toute demande \u00e0 la base de donn\u00e9es \u00e0 travers la d\u00e9finition de sa propre vue. Gr\u00e2ce \u00e0 &#171;CREATE VIEW&#187;, une op\u00e9ration &#171;SELECT&#187; est associ\u00e9e \u00e0 la table, qui sera appel\u00e9e \u00e0 la place de &#171;CREATE TABLE&#187; et permet d'acc\u00e9der \u00e0 diff\u00e9rentes parties de l'interpr\u00e9teur SQLite. Ensuite, la m\u00e9thode d'attaque la plus simple serait d'appeler la fonction &#171;load_extension&#187;, qui permet de charger une biblioth\u00e8que arbitraire avec une extension, mais cette fonction est d\u00e9sactiv\u00e9e par d\u00e9faut.<\/p>\n<p>Pour ex\u00e9cuter l'attaque dans des conditions permettant l'ex\u00e9cution de l'op\u00e9ration &#171;SELECT&#187;, une technique appel\u00e9e &#171;Query Oriented Programming&#187; a \u00e9t\u00e9 propos\u00e9e, permettant d'exploiter des probl\u00e8mes dans SQLite conduisant \u00e0 une corruption de la m\u00e9moire. Cette technique ressemble \u00e0 la programmation orient\u00e9e retour (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=48730#rop\">ROP<\/a><\/noindex>, Return-Oriented Programming), mais utilise pour la construction de cha\u00eenes d'appels (&#171;gadgets&#187;) non pas des extraits de code machine existants, mais des insertions dans un ensemble de sous-requ\u00eates \u00e0 l'int\u00e9rieur de SELECT.<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/research.checkpoint.com\/wp-content\/uploads\/2019\/08\/qop_fake_obj.png\"><img decoding=\"async\" alt=\"Une nouvelle technique d&#039;exploitation des vuln\u00e9rabilit\u00e9s dans SQLite a \u00e9t\u00e9 pr\u00e9sent\u00e9e\" src=\"\/wp-content\/uploads\/2019\/08\/0f9e597805684258ef8a1ca4a47e7a21.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><br \/>\n<center><noindex><a rel=\"nofollow\" href=\"https:\/\/research.checkpoint.com\/wp-content\/uploads\/2019\/08\/pwndbg_fake_obj.png\"><img decoding=\"async\" alt=\"Une nouvelle technique d&#039;exploitation des vuln\u00e9rabilit\u00e9s dans SQLite a \u00e9t\u00e9 pr\u00e9sent\u00e9e\" src=\"\/wp-content\/uploads\/2019\/08\/1397889ee625b6e1f9779f5f22102d41.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51259\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Check Point \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DEF CON \u0434\u0435\u0442\u0430\u043b\u0438 \u043d\u043e\u0432\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u0430\u0442\u0430\u043a \u043d\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 SQLite. \u041c\u0435\u0442\u043e\u0434 Check Point \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0441 \u0411\u0414 \u043a\u0430\u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 SQLite, \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0432 \u043b\u043e\u0431. \u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0430 \u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0441 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u0430 \u0432 \u0444\u043e\u0440\u043c\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27740,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-37011","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Check Point \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DEF CON \u0434\u0435\u0442\u0430\u043b\u0438 \u043d\u043e\u0432\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u0430\u0442\u0430\u043a.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/predstavlena-novaya-tehnika-ekspluatatsii-uyazvimostej-v-sqlite\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 SQLite | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Check Point \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DEF CON \u0434\u0435\u0442\u0430\u043b\u0438 \u043d\u043e\u0432\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u0430\u0442\u0430\u043a.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/predstavlena-novaya-tehnika-ekspluatatsii-uyazvimostej-v-sqlite\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:15:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:15:16+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Une nouvelle technique d'exploitation des vuln\u00e9rabilit\u00e9s dans SQLite a \u00e9t\u00e9 pr\u00e9sent\u00e9e | ProHoster","description":"Des chercheurs de la soci\u00e9t\u00e9 Check Point ont r\u00e9v\u00e9l\u00e9 lors de la conf\u00e9rence DEF CON les d\u00e9tails d'une nouvelle technique d'attaques.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/predstavlena-novaya-tehnika-ekspluatatsii-uyazvimostej-v-sqlite","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 SQLite | ProHoster","og:description":"\u0418\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Check Point \u0440\u0430\u0441\u043a\u0440\u044b\u043b\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DEF CON \u0434\u0435\u0442\u0430\u043b\u0438 \u043d\u043e\u0432\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u0430\u0442\u0430\u043a.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/predstavlena-novaya-tehnika-ekspluatatsii-uyazvimostej-v-sqlite","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:15:16+00:00","article:modified_time":"2019-10-31T19:15:16+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37011","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 05:43:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:35:26","updated":"2026-01-22 05:43:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=37011"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/37011\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/27740"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=37011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=37011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=37011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}