{"id":22449,"date":"2021-07-27T16:55:13","date_gmt":"2021-07-27T14:55:13","guid":{"rendered":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/"},"modified":"2021-07-27T16:55:13","modified_gmt":"2021-07-27T14:55:13","slug":"php-quanti-tutorial-contengono-vulnerabilita","status":"publish","type":"post","link":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/","title":{"rendered":"PHP: quanti tutorial contengono vulnerabilit\u00e0?"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>Lo sviluppatore tedesco Philip Waritschlager, creatore dell\u2019open data browser Produpedia, ha effettuato una breve ricerca riguardo ai risultati di Google collegati a tutorial <strong>PHP<\/strong> in cui sono presenti delle vulnerabilit\u00e0 in grado di favorire i tentativi di <strong>SQL injection<\/strong>. Durante il test, una volta lanciata la query \u201c<em>php mysql email register<\/em>\u201d il motore di ricerca avrebbe restituito una serie di articoli, how-to e porzioni di codice permettendo di registrare ben 16 risultati su 30 contenenti istruzioni SQL potenzialmente rischiose.<span id=\"more-404229\"\/><\/p>\n<p>Per ottenere una selezione quanto pi\u00f9 precisa possibile Waritschlager ha omesso tutti i contenuti non correlati con l\u2019argomento della query e le risorse dietro paywall, sono stati invece inclusi tutti i risultati in cui sono stati pubblicati snippet come il seguente:<\/p>\n<pre><code class=\"language-php\">\nmysqli_query(\"SELECT * FROM user WHERE id = '\" . $_POST[\"user'] . \"'\");\n<\/code><\/pre>\n<p>dove il passaggio di una variabile di metodo (<code>POST<\/code> nell\u2019esempio) come argomento dell\u2019istruzione, e nello specifico della clausola <code>WHERE<\/code>, potrebbe esporre al passaggio arbitrario di parametri in query.<\/p>\n<h2>Classificazione del codice vulnerabile<\/h2>\n<p>Le pagine Web contenute nella SERP prodotta dalla ricerca sono state suddivise in base al livello di rischio derivante dall\u2019errore rilevato. Abbiamo quindi:<\/p>\n<ol>\n<li>query SQL in cui si \u00e8 proceduto correttamente all\u2019escape dei parametri;<\/li>\n<li>parametri sottoposti ad escape solo quando (ritenuto) strettamente necessario;<\/li>\n<li>query contenenti vulnerabilit\u00e0 nonostante il tentativo di operare l\u2019escape;<\/li>\n<li>assenza totale di escape dei parametri.<\/li>\n<\/ol>\n<p>Apparterrebbero alla prima categoria 12 pagine Web, mentre soltanto 2 farebbero riferimento alla seconda. <\/p>\n<p><a href=\"https:\/\/www.html.it\/app\/uploads\/2021\/07\/catturya.png\"><img loading=\"lazy\" src=\"https:\/\/www.html.it\/app\/uploads\/2021\/07\/catturya.png\" alt=\"\" width=\"854\" height=\"334\" class=\"aligncenter size-full wp-image-404231\" srcset=\"https:\/\/cdn.html.it\/KK6Jsg16pFZ6qLM65OJ4WZfBybI=\/854x\/smart\/https:\/\/www.html.it\/app\/uploads\/2021\/07\/catturya.png 854w, https:\/\/cdn.html.it\/g5FUFoBTCaEBAMnXRfxZzsD43_Y=\/300x\/smart\/https:\/\/www.html.it\/app\/uploads\/2021\/07\/catturya.png 300w, https:\/\/cdn.html.it\/dH3nt7Ld7hMGzKB-1fIJrKqiS0M=\/600x\/smart\/https:\/\/www.html.it\/app\/uploads\/2021\/07\/catturya.png 600w\" sizes=\"(max-width: 854px) 100vw, 854px\"\/><\/a><\/p>\n<p>Pi\u00f9 interessante il dato relativo al terzo e quarto gruppo con ben 9 risultati ascrivibili a quest\u2019ultimo e 2 risorse trovate in video di YouTube sulle 7 classificabili nella categoria precedente.<\/p>\n<h2>Come operare la selezione dei risultati<\/h2>\n<p>In quasi tutti i casi rilevati le vulnerabilit\u00e0 riguarderebbero la mancata sanitizzazione delle variabili in una condizione del comando <code>SELECT<\/code>, cosa che avverrebbe per esempio nella selezione di utenti dalla relativa tabella:<\/p>\n<pre><code class=\"language-php\">\n\"SELECT * FROM users WHERE email='$email' LIMIT 1\";\n<\/code><\/pre>\n<p>o in istruzioni per l\u2019aggiornamento dei record:<\/p>\n<pre><code class=\"language-php\">\n$query = \"update users set status='1' where token='$token'\";\n<\/code><\/pre>\n<p>Le ragioni di questo fenomeno sono da ricercarsi in particolare nella mancanza di un processo di revisione, soprattutto quando si parla di contenuti autoprodotti, cos\u00ec come nel fatto che su Internet sono presenti numerosi contenuti obsoleti. Chiaramente devono essere ormai esclusi dalla consultazione tutti i tutorial pi\u00f9 datati (compresi quelli dell\u2019autore di questo post) in cui si fa ancora ricorso alle <em>mysql functions<\/em> e, nello stesso modo, quelli basati sulle estensioni <strong>MySQLi<\/strong> e <strong>PDO<\/strong> in cui non vengono utilizzati i <strong>prepared statements<\/strong> quando necessari. <\/p>\n<p><em>Fonte<\/em>: <a href=\"https:\/\/waritschlager.de\/sqlinjections-in-google-results.html\" class=\"text-link text-link--special\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><span class=\"underline\">Philip Waritschlager<\/span><i class=\"ico-external\"\/><\/a><\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"http:\/\/feedproxy.google.com\/~r\/htmlitedit\/~3\/RmdbzkDO-OY\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lo sviluppatore tedesco Philip Waritschlager, creatore dell\u2019open data browser Produpedia, ha effettuato una breve ricerca riguardo ai risultati di Google collegati a tutorial PHP in cui sono presenti delle vulnerabilit\u00e0 in grado di favorire i tentativi di SQL injection. Durante il test, una volta lanciata la query \u201cphp mysql email register\u201d il motore di ricerca&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_s2mail":""},"categories":[37],"tags":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PHP: quanti tutorial contengono vulnerabilit\u00e0? - AGENZIA WEB Italia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP: quanti tutorial contengono vulnerabilit\u00e0? - AGENZIA WEB Italia\" \/>\n<meta property=\"og:description\" content=\"Lo sviluppatore tedesco Philip Waritschlager, creatore dell\u2019open data browser Produpedia, ha effettuato una breve ricerca riguardo ai risultati di Google collegati a tutorial PHP in cui sono presenti delle vulnerabilit\u00e0 in grado di favorire i tentativi di SQL injection. Durante il test, una volta lanciata la query \u201cphp mysql email register\u201d il motore di ricerca...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/\" \/>\n<meta property=\"og:site_name\" content=\"AGENZIA WEB Italia\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-27T14:55:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.html.it\/app\/uploads\/2021\/07\/catturya.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\"},\"headline\":\"PHP: quanti tutorial contengono vulnerabilit\u00e0?\",\"datePublished\":\"2021-07-27T14:55:13+00:00\",\"dateModified\":\"2021-07-27T14:55:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/\"},\"wordCount\":395,\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"articleSection\":[\"News\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/\",\"name\":\"PHP: quanti tutorial contengono vulnerabilit\u00e0? - AGENZIA WEB Italia\",\"isPartOf\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\"},\"datePublished\":\"2021-07-27T14:55:13+00:00\",\"dateModified\":\"2021-07-27T14:55:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP: quanti tutorial contengono vulnerabilit\u00e0?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#website\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"name\":\"AGENZIA WEB Italia\",\"description\":\"Web design Web agency Italia\",\"publisher\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization\",\"name\":\"Multimedia Web\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"contentUrl\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png\",\"width\":200,\"height\":57,\"caption\":\"Multimedia Web\"},\"image\":{\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g\",\"caption\":\"admin\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP: quanti tutorial contengono vulnerabilit\u00e0? - AGENZIA WEB Italia","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/","og_locale":"it_IT","og_type":"article","og_title":"PHP: quanti tutorial contengono vulnerabilit\u00e0? - AGENZIA WEB Italia","og_description":"Lo sviluppatore tedesco Philip Waritschlager, creatore dell\u2019open data browser Produpedia, ha effettuato una breve ricerca riguardo ai risultati di Google collegati a tutorial PHP in cui sono presenti delle vulnerabilit\u00e0 in grado di favorire i tentativi di SQL injection. Durante il test, una volta lanciata la query \u201cphp mysql email register\u201d il motore di ricerca...","og_url":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/","og_site_name":"AGENZIA WEB Italia","article_published_time":"2021-07-27T14:55:13+00:00","og_image":[{"url":"https:\/\/www.html.it\/app\/uploads\/2021\/07\/catturya.png"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"admin","Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/#article","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/"},"author":{"name":"admin","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42"},"headline":"PHP: quanti tutorial contengono vulnerabilit\u00e0?","datePublished":"2021-07-27T14:55:13+00:00","dateModified":"2021-07-27T14:55:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/"},"wordCount":395,"publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"articleSection":["News"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/","name":"PHP: quanti tutorial contengono vulnerabilit\u00e0? - AGENZIA WEB Italia","isPartOf":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website"},"datePublished":"2021-07-27T14:55:13+00:00","dateModified":"2021-07-27T14:55:13+00:00","breadcrumb":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/php-quanti-tutorial-contengono-vulnerabilita\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nycwebdesign.eu\/webdesign\/"},{"@type":"ListItem","position":2,"name":"PHP: quanti tutorial contengono vulnerabilit\u00e0?"}]},{"@type":"WebSite","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#website","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","name":"AGENZIA WEB Italia","description":"Web design Web agency Italia","publisher":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nycwebdesign.eu\/webdesign\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#organization","name":"Multimedia Web","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/","url":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","contentUrl":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-content\/uploads\/2016\/05\/multimediaweb1.png","width":200,"height":57,"caption":"Multimedia Web"},"image":{"@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/c0748e23499fac2fd73b79d1379fdf42","name":"admin","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.nycwebdesign.eu\/webdesign\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/991cd68bbfd6f946517378a63fc3a1f7?s=96&d=mm&r=g","caption":"admin"}}]}},"_links":{"self":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/22449"}],"collection":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/comments?post=22449"}],"version-history":[{"count":0,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/posts\/22449\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/media?parent=22449"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/categories?post=22449"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nycwebdesign.eu\/webdesign\/wp-json\/wp\/v2\/tags?post=22449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}