{"id":16722,"date":"2025-02-17T13:17:50","date_gmt":"2025-02-17T13:17:50","guid":{"rendered":"https:\/\/prensa.lacnic.net\/news?p=16722"},"modified":"2025-02-17T13:21:21","modified_gmt":"2025-02-17T13:21:21","slug":"como-evitar-um-ataque-de-injecao-de-sql","status":"publish","type":"post","link":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/","title":{"rendered":"Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL"},"content":{"rendered":"\n<p>Por <a href=\"https:\/\/blog.lacnic.net\/autor\/graciela-martinez\">Graciela Mart\u00ednez<\/a> y <a href=\"https:\/\/blog.lacnic.net\/autor\/guillermo-pereyra\">Guillermo Pereyra<\/a> \u2013 <a href=\"https:\/\/csirt.lacnic.net\/pt-pt\">LACNIC CSIRT<\/a><\/p>\n\n\n\n<p>O ataque de inje\u00e7\u00e3o de SQL \u00e9 uma t\u00e9cnica de <em>hacking<\/em> amplamente usada.&nbsp; Conhecido como SQLi, \u00e9 um ataque em que uma ou mais instru\u00e7\u00f5es SQL v\u00e1lidas s\u00e3o &#8220;injetadas&#8221; na consulta de um aplicativo a um banco de dados.&nbsp;<\/p>\n\n\n\n<p><em>Structured Query Language<\/em>, conhecida por suas siglas em ingl\u00eas como a SQL, \u00e9 uma linguagem de comando e controle para gerenciar bancos de dados relacionais.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Como acontece um ataque de inje\u00e7\u00e3o de SQL?<\/strong><\/h2>\n\n\n\n<p>O ataque \u00e9 alcan\u00e7ado quando um aplicativo aceita dados de fontes n\u00e3o confi\u00e1veis\u200b\u200b- que foram alterados para serem interpretados como c\u00f3digo- e tamb\u00e9m n\u00e3o realiza uma valida\u00e7\u00e3o correta dos mesmos antes de us\u00e1-los para realizar uma consulta din\u00e2mica ao banco de dados.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Vetores de ataque<\/strong><\/h2>\n\n\n\n<p>Ao projetar um aplicativo, \u00e9 importante levar em conta que qualquer entrada de dados por parte de um usu\u00e1rio \u00e9 suscet\u00edvel de ser modificada arbitrariamente.<\/p>\n\n\n\n<p>Normalmente, os ataques a aplicativos web s\u00e3o realizados modificando par\u00e2metros na URL, usando o m\u00e9todo <em>HTTP GET<\/em> ou, como veremos nos exemplos, modificando qualquer tipo de entrada de dados com o m\u00e9todo <em>HTTP POST<\/em>.&nbsp; Dependendo de como o aplicativo web seja projetado, \u00e9 poss\u00edvel explorar essa vulnerabilidade modificando cabe\u00e7alhos HTTP como: User Agent, cookies, referrer ou cabe\u00e7alhos pr\u00f3prios do sistema.<\/p>\n\n\n\n<p>Outros vetores poss\u00edveis de ataque devem ser considerados, tais como o leitor de barras, leitor de QR ou c\u00e2mera de v\u00eddeo que reconhe\u00e7a texto.<\/p>\n\n\n\n<p>\u00c9 importante observar que um atacante pode ser externo ou pode pertencer \u00e0 organiza\u00e7\u00e3o afetada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Quais s\u00e3o as poss\u00edveis consequ\u00eancias de um ataque de inje\u00e7\u00e3o de SQL?<\/strong><\/h2>\n\n\n\n<p>Qualquer a\u00e7\u00e3o n\u00e3o desejada executada em um banco de dados como resultado de um ataque SQLi pode afetar um ou v\u00e1rios pilares de seguran\u00e7a da informa\u00e7\u00e3o.&nbsp;<\/p>\n\n\n\n<p>Um ataque bem-sucedido pode permitir que o atacante concretize v\u00e1rias a\u00e7\u00f5es que afetam a confidencialidade, integridade e\/ou disponibilidade das informa\u00e7\u00f5es.<\/p>\n\n\n\n<p>Exemplos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A confidencialidade pode ser afetada em caso de acesso a informa\u00e7\u00f5es sens\u00edveis sem a autoriza\u00e7\u00e3o necess\u00e1ria.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A integridade pode ser afetada se as informa\u00e7\u00f5es forem removidas ou modificadas sem a autoriza\u00e7\u00e3o necess\u00e1ria.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A disponibilidade pode ser afetada se as informa\u00e7\u00f5es n\u00e3o estiverem dispon\u00edveis no momento em que s\u00e3o necess\u00e1rias, seja porque n\u00e3o podem ser acessadas ou porque foram alteradas previamente sem autoriza\u00e7\u00e3o.<\/li>\n<\/ul>\n\n\n\n<p>Outros problemas que um ataque SQLi poderia explorar s\u00e3o falhas na autentica\u00e7\u00e3o e\/ou modifica\u00e7\u00e3o da autoriza\u00e7\u00e3o que um perfil de usu\u00e1rio tem para realizar determinadas a\u00e7\u00f5es sobre um recurso. Por exemplo, se as informa\u00e7\u00f5es de um banco de dados onde as senhas de usu\u00e1rios s\u00e3o armazenadas fossem acessadas, se estas fossem ofuscadas com hashes criptogr\u00e1ficos robustos, o acesso impr\u00f3prio a elas e seu poss\u00edvel uso por parte de um atacante seriam evitados.<\/p>\n\n\n\n<p>Portanto, um ataque de SQLi bem-sucedido afeta v\u00e1rios pilares ao mesmo tempo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Como evitar um ataque de inje\u00e7\u00e3o de SQL?<\/strong><\/h2>\n\n\n\n<p>Existem diferentes tipos de medidas que devem ser consideradas quando um sistema precisa se comunicar com um banco de dados relacional por meio do uso de SQL.<\/p>\n\n\n\n<p>A seguir, algumas medidas b\u00e1sicas que devem ser implementadas:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Uso de consultas parametrizadas:<em> Prepared Statements.<\/em><\/li>\n\n\n\n<li>Uso de procedimentos: <em>Stored Procedures<\/em>.<\/li>\n\n\n\n<li>Valida\u00e7\u00e3o de entrada de dados de usu\u00e1rios.<\/li>\n\n\n\n<li><em>Escapar <\/em>todas as entradas permitidas dos usu\u00e1rios.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Uso de consultas parametrizadas: <\/strong><strong><em>Prepared Statements.<\/em><\/strong><\/h3>\n\n\n\n<p>Preparar as declara\u00e7\u00f5es SQL e armazen\u00e1-las em uma vari\u00e1vel antes da execu\u00e7\u00e3o \u00e9 uma maneira simples e segura de programar. Faz\u00ea-lo com anteced\u00eancia evita que um atacante insira declara\u00e7\u00f5es no nosso banco de dados, como pode se ver no segundo exemplo.<\/p>\n\n\n\n<p>As linguagens mais usadas t\u00eam m\u00e9todos para parametrizar com seguran\u00e7a as declara\u00e7\u00f5es que precisam dados de entrada de um usu\u00e1rio. Algumas dessas linguagens s\u00e3o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Java EE &#8211; usar PreparedStatement() nos nossos par\u00e2metros din\u00e2micos (vari\u00e1vel <em>Bind<\/em> em ingl\u00eas)<\/li>\n\n\n\n<li>.NET &#8211; usar consultas parametrizadas como SqlCommand() ou OleDbCommand() nos nossos par\u00e2metros din\u00e2micos.<\/li>\n\n\n\n<li>PHP &#8211; \u00e9 poss\u00edvel usar PDO para bancos de dados gen\u00e9ricos com uma forte parametriza\u00e7\u00e3o das consultas ou no caso de usar um <em>driver<\/em> espec\u00edfico para um banco de dados \u00e9 necess\u00e1rio procurar uma fun\u00e7\u00e3o segura para preparar nossa declara\u00e7\u00e3o, por exemplo, para MySQL \u00e9 necess\u00e1rio usar bind_param().<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Uso de procedimentos: <\/strong><strong><em>Stored Procedures<\/em><\/strong><strong>.<\/strong><\/h3>\n\n\n\n<p>Ao executar procedimentos diretamente no banco de dados, deve-se tomar cuidado para n\u00e3o incluir nenhuma gera\u00e7\u00e3o de declara\u00e7\u00e3o SQL din\u00e2mica n\u00e3o segura. Esses procedimentos devem ter valida\u00e7\u00e3o das entradas e um \u201cescape\u201d adequado das mesmas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Valida\u00e7\u00e3o de entrada de dados de usu\u00e1rios.<\/strong><\/h3>\n\n\n\n<p>Em todos os casos, e n\u00e3o apenas para evitar inje\u00e7\u00f5es de SQL, \u00e9 necess\u00e1ria a valida\u00e7\u00e3o correta da entrada de dados por parte dos usu\u00e1rios.<\/p>\n\n\n\n<p>Recomenda-se n\u00e3o usar vari\u00e1veis \u200b\u200bdin\u00e2micas para nomes de tabelas ou colunas, nem para indicar a ordem de classifica\u00e7\u00e3o (ASC ou DESC). Se necess\u00e1rio, dever\u00e3o ser usadas valida\u00e7\u00f5es anteriores, como converter as entradas para vari\u00e1veis \u200b\u200bbooleanas ou usar fun\u00e7\u00f5es SWITCH, Sort of, etc.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Escapar todas as entradas permitidas dos usu\u00e1rios: <\/strong><strong><em>Escape characters.<\/em><\/strong><\/h3>\n\n\n\n<p><em>Escapar entradas<\/em> de usu\u00e1rios para convert\u00ea-las em outro formato como strings, deve ser usado com cuidado, pois n\u00e3o impede todas as inje\u00e7\u00f5es. Essa t\u00e9cnica de <em>escape characters<\/em> depende de cada mecanismo de banco de dados, por isso \u00e9 importante implementar um controle que impe\u00e7a um poss\u00edvel desvio desta medida.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Exemplos:<\/strong><\/h2>\n\n\n\n<p>A seguir, alguns exemplos de c\u00f3digos que permitiriam ataques de SQLi.<\/p>\n\n\n\n<p>Exemplo 1: Separar resultados em p\u00e1ginas, usando PHP e Postgres.<\/p>\n\n\n\n<pre>    <code> \n        <p>&lt;?php<\/p>\n        <p>$\u00edndice&nbsp; &nbsp; = $argv[0];&nbsp;<\/p>\n        <p>$consulta&nbsp; = \"SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $\u00edndice;\";<\/p>\n        <p>$resultado = pg_query($conexi\u00f3n, $consulta);<\/p> \n        <p>?&gt;<\/p> \n    <\/code>\n<\/pre>\n\n\n\n<p>Um usu\u00e1rio normalmente usa os bot\u00f5es &#8220;pr\u00f3ximo&#8221; e &#8220;anterior&#8221; para navegar entre os resultados, o que alteraria o valor decimal da vari\u00e1vel &#8220;\u00edndice&#8221; na URL.&nbsp;<\/p>\n\n\n\n<p>Esse comportamento n\u00e3o causaria problemas, mas se um agente mal-intencionado decidir adicionar o seguinte c\u00f3digo \u00e0 URL:<\/p>\n\n\n\n<pre><code><p dir=\"ltr\">0;<\/p>\n<p dir=\"ltr\">insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)<\/p>\n<p dir=\"ltr\">&nbsp;&nbsp;&nbsp;&nbsp;select 'crack', usesysid, 't','t','crack'<\/p>\n<p dir=\"ltr\">&nbsp;&nbsp;&nbsp;&nbsp;from pg_shadow where usename='postgres';<\/p>\n<p dir=\"ltr\">--<\/p><\/code><\/pre>\n\n\n\n<p>Ent\u00e3o a vari\u00e1vel <em>$consulta<\/em> ficaria da seguinte forma:<\/p>\n\n\n\n<pre><code><p dir=\"ltr\">$consulta&nbsp; = \"SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET 0;<\/p>\n<p dir=\"ltr\">insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)<\/p>\n<p dir=\"ltr\">&nbsp;&nbsp;&nbsp;&nbsp;select 'superusuario', usesysid, 't','t','password'<\/p>\n<p dir=\"ltr\">&nbsp;&nbsp;&nbsp;&nbsp;from pg_shadow where usename='postgres';<\/p>\n<p dir=\"ltr\">--;\"<\/p><\/code><\/pre>\n\n\n\n<p>E, como resultado, estaria criando o usu\u00e1rio \u201csuperusu\u00e1rio\u201d com privil\u00e9gios, portanto, estaria habilitado a realizar atividades maliciosas como as descritas anteriormente no artigo.<\/p>\n\n\n\n<p>Uma forma de corrigir este problema seria o uso do PDO (PHP Data Objects):<\/p>\n\n\n\n<pre><code><p dir=\"ltr\">&lt;?php<\/p> \n<p dir=\"ltr\">$stmt&nbsp; = $pdo-&gt;prepare(\"SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET :\u00edndice;\");<\/p>\n<p dir=\"ltr\">$\u00edndice = $argv[0];&nbsp;<\/p>\n<p dir=\"ltr\">$stmt-&gt;bindParam(':indice', $indice);<\/p>\n<p dir=\"ltr\">$stmt-&gt;execute()<\/p>\n<p dir=\"ltr\">?&gt;<\/p><\/code><\/pre>\n\n\n\n<p>Exemplo 2: Bypass de autentica\u00e7\u00e3o<\/p>\n\n\n\n<p>Suponhamos um aplicativo web que tem um formul\u00e1rio de autentica\u00e7\u00e3o que aceita um nome de usu\u00e1rio e uma senha como entradas.<\/p>\n\n\n\n<p>Esse formul\u00e1rio est\u00e1 sendo processado por um c\u00f3digo que cont\u00e9m a seguinte declara\u00e7\u00e3o SQL:<\/p>\n\n\n\n<pre><code><p>consulta = \"SELECT * FROM users WHERE username = \"'\" + username + \"' AND password = '\" + password + \"'\"<\/p><\/code><\/pre>\n\n\n\n<p>Como se pode apreciar, a consulta ao banco de dados \u00e9 constru\u00edda por meio do uso de instru\u00e7\u00f5es SQL e os valores inseridos pelo usu\u00e1rio s\u00e3o designados \u00e0s vari\u00e1veis de forma direta.&nbsp;<\/p>\n\n\n\n<p>Neste caso, um usu\u00e1rio mal-intencionado poderia entrar como usu\u00e1rio: <em>admin<\/em> e como senha <em>pass&#8217; OR &#8216;1&#8217;=&#8217;1<\/em>.<\/p>\n\n\n\n<p>A consulta ao banco de dados final seria a seguinte:<\/p>\n\n\n\n<pre><code><p>consulta = SELECT * FROM users WHERE username = 'admin' AND (password = ' pass' OR '1'='1 ')<\/p><\/code><\/pre>\n\n\n\n<p>Essa consulta buscaria todos os dados associados ao usu\u00e1rio privilegiado &#8216;admin&#8217; porque a condi\u00e7\u00e3o booleana sempre ser\u00e1 verdadeira.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclus\u00e3o<\/strong><\/h2>\n\n\n\n<p>Um ataque de inje\u00e7\u00e3o de SQL \u00e9 evit\u00e1vel se os controles necess\u00e1rios forem implementados durante o desenvolvimento do aplicativo.<\/p>\n\n\n\n<p>As equipes de desenvolvedores devem ter um procedimento que inclua boas pr\u00e1ticas para um desenvolvimento de software seguro, que inclua um tempo prudente para o est\u00e1gio de teste antes de passar para a produ\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Refer\u00eancias:<\/strong><\/h2>\n\n\n<p><a href=\"https:\/\/blog.sucuri.net\/2022\/01\/understanding-website-sql-injections.html\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.sucuri.net\/2022\/01\/understanding-website-sql-injections.html<\/a><\/p>\n<p><a href=\"https:\/\/owasp.org\/Top10\/A03_2021-Injection\/\" target=\"_blank\" rel=\"noopener\">https:\/\/owasp.org\/Top10\/A03_2021-Injection\/<\/a><\/p>\n<p><a href=\"https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/SQL_Injection_Prevention_Cheat_Sheet.html\" target=\"_blank\" rel=\"noopener\">https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/SQL_Injection_Prevention_Cheat_Sheet.html<\/a><\/p>\n<p>&nbsp;<a href=\"https:\/\/www.esecurityplanet.com\/threats\/how-to-prevent-sql-injection-attacks\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.esecurityplanet.com\/threats\/how-to-prevent-sql-injection-attacks\/<\/a><\/p>\n<p><a href=\"https:\/\/www.php.net\/manual\/es\/security.database.sql-injection.php\" target=\"_blank\" rel=\"noopener\">https:\/\/www.php.net\/manual\/es\/security.database.sql-injection.php<\/a><\/p>\n<p><a href=\"https:\/\/www.esecurityplanet.com\/threats\/how-to-prevent-sql-injection-attacks\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.esecurityplanet.com\/threats\/how-to-prevent-sql-injection-attacks\/ <\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Por Graciela Mart\u00ednez y Guillermo Pereyra \u2013 LACNIC CSIRT O ataque de inje\u00e7\u00e3o de SQL \u00e9 uma t\u00e9cnica de hacking amplamente usada.&nbsp; Conhecido como SQLi, \u00e9 um ataque em que uma ou mais instru\u00e7\u00f5es SQL v\u00e1lidas s\u00e3o &#8220;injetadas&#8221; na consulta de um aplicativo a um banco de dados.&nbsp; Structured Query Language, conhecida por suas siglas [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":14122,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[510],"tags":[1272],"archivo":[],"taxonomy-authors":[1241,1244],"tipo_autor":[],"class_list":["post-16722","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seguranca-cibernetica","tag-ciberseguranca","taxonomy-authors-graciela-martinez-pt-br","taxonomy-authors-guillermo-pereyra-pt-br"],"acf":{"author":"","related_notes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>LACNIC Blog | Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL<\/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:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LACNIC Blog | Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL\" \/>\n<meta property=\"og:description\" content=\"Por Graciela Mart\u00ednez y Guillermo Pereyra \u2013 LACNIC CSIRT O ataque de inje\u00e7\u00e3o de SQL \u00e9 uma t\u00e9cnica de hacking amplamente usada.&nbsp; Conhecido como SQLi, \u00e9 um ataque em que uma ou mais instru\u00e7\u00f5es SQL v\u00e1lidas s\u00e3o &#8220;injetadas&#8221; na consulta de um aplicativo a um banco de dados.&nbsp; Structured Query Language, conhecida por suas siglas [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/\" \/>\n<meta property=\"og:site_name\" content=\"LACNIC Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/lacnic\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-17T13:17:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-17T13:21:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"680\" \/>\n\t<meta property=\"og:image:height\" content=\"330\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Gianni\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@lacnic\" \/>\n<meta name=\"twitter:site\" content=\"@lacnic\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/\"},\"author\":{\"name\":\"Gianni\",\"@id\":\"https:\/\/blog.lacnic.net\/#\/schema\/person\/1338d9cfdb0137e8bc5581f3771f39ab\"},\"headline\":\"Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL\",\"datePublished\":\"2025-02-17T13:17:50+00:00\",\"dateModified\":\"2025-02-17T13:21:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/\"},\"wordCount\":1340,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/blog.lacnic.net\/#organization\"},\"image\":{\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg\",\"keywords\":[\"Ciberseguran\u00e7a\"],\"articleSection\":[\"Seguran\u00e7a cibern\u00e9tica\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/\",\"url\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/\",\"name\":\"LACNIC Blog | Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL\",\"isPartOf\":{\"@id\":\"https:\/\/blog.lacnic.net\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg\",\"datePublished\":\"2025-02-17T13:17:50+00:00\",\"dateModified\":\"2025-02-17T13:21:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#primaryimage\",\"url\":\"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg\",\"contentUrl\":\"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg\",\"width\":680,\"height\":330},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/blog.lacnic.net\/pt-br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.lacnic.net\/#website\",\"url\":\"https:\/\/blog.lacnic.net\/\",\"name\":\"LACNIC Blog\",\"description\":\"LACNIC Internet Community Newsletter\",\"publisher\":{\"@id\":\"https:\/\/blog.lacnic.net\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.lacnic.net\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.lacnic.net\/#organization\",\"name\":\"LACNIC Blog\",\"url\":\"https:\/\/blog.lacnic.net\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/blog.lacnic.net\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2023\/03\/lacnic-blog.svg\",\"contentUrl\":\"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2023\/03\/lacnic-blog.svg\",\"caption\":\"LACNIC Blog\"},\"image\":{\"@id\":\"https:\/\/blog.lacnic.net\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/lacnic\",\"https:\/\/x.com\/lacnic\",\"https:\/\/www.instagram.com\/lacnic\/?hl=es-la\",\"https:\/\/uy.linkedin.com\/company\/lacnic\",\"https:\/\/www.youtube.com\/user\/lacnicstaff\",\"https:\/\/www.lacnic.net\/podcast\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.lacnic.net\/#\/schema\/person\/1338d9cfdb0137e8bc5581f3771f39ab\",\"name\":\"Gianni\",\"url\":\"https:\/\/blog.lacnic.net\/pt-br\/author\/gianni\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"LACNIC Blog | Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL","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:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/","og_locale":"pt_BR","og_type":"article","og_title":"LACNIC Blog | Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL","og_description":"Por Graciela Mart\u00ednez y Guillermo Pereyra \u2013 LACNIC CSIRT O ataque de inje\u00e7\u00e3o de SQL \u00e9 uma t\u00e9cnica de hacking amplamente usada.&nbsp; Conhecido como SQLi, \u00e9 um ataque em que uma ou mais instru\u00e7\u00f5es SQL v\u00e1lidas s\u00e3o &#8220;injetadas&#8221; na consulta de um aplicativo a um banco de dados.&nbsp; Structured Query Language, conhecida por suas siglas [&hellip;]","og_url":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/","og_site_name":"LACNIC Blog","article_publisher":"https:\/\/facebook.com\/lacnic","article_published_time":"2025-02-17T13:17:50+00:00","article_modified_time":"2025-02-17T13:21:21+00:00","og_image":[{"width":680,"height":330,"url":"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg","type":"image\/jpeg"}],"author":"Gianni","twitter_card":"summary_large_image","twitter_creator":"@lacnic","twitter_site":"@lacnic","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#article","isPartOf":{"@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/"},"author":{"name":"Gianni","@id":"https:\/\/blog.lacnic.net\/#\/schema\/person\/1338d9cfdb0137e8bc5581f3771f39ab"},"headline":"Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL","datePublished":"2025-02-17T13:17:50+00:00","dateModified":"2025-02-17T13:21:21+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/"},"wordCount":1340,"commentCount":1,"publisher":{"@id":"https:\/\/blog.lacnic.net\/#organization"},"image":{"@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg","keywords":["Ciberseguran\u00e7a"],"articleSection":["Seguran\u00e7a cibern\u00e9tica"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/","url":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/","name":"LACNIC Blog | Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL","isPartOf":{"@id":"https:\/\/blog.lacnic.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#primaryimage"},"image":{"@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg","datePublished":"2025-02-17T13:17:50+00:00","dateModified":"2025-02-17T13:21:21+00:00","breadcrumb":{"@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#primaryimage","url":"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg","contentUrl":"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg","width":680,"height":330},{"@type":"BreadcrumbList","@id":"https:\/\/blog.lacnic.net\/pt-br\/como-evitar-um-ataque-de-injecao-de-sql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blog.lacnic.net\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Como evitar um ATAQUE DE INJE\u00c7\u00c3O DE SQL"}]},{"@type":"WebSite","@id":"https:\/\/blog.lacnic.net\/#website","url":"https:\/\/blog.lacnic.net\/","name":"LACNIC Blog","description":"LACNIC Internet Community Newsletter","publisher":{"@id":"https:\/\/blog.lacnic.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.lacnic.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/blog.lacnic.net\/#organization","name":"LACNIC Blog","url":"https:\/\/blog.lacnic.net\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/blog.lacnic.net\/#\/schema\/logo\/image\/","url":"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2023\/03\/lacnic-blog.svg","contentUrl":"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2023\/03\/lacnic-blog.svg","caption":"LACNIC Blog"},"image":{"@id":"https:\/\/blog.lacnic.net\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/lacnic","https:\/\/x.com\/lacnic","https:\/\/www.instagram.com\/lacnic\/?hl=es-la","https:\/\/uy.linkedin.com\/company\/lacnic","https:\/\/www.youtube.com\/user\/lacnicstaff","https:\/\/www.lacnic.net\/podcast"]},{"@type":"Person","@id":"https:\/\/blog.lacnic.net\/#\/schema\/person\/1338d9cfdb0137e8bc5581f3771f39ab","name":"Gianni","url":"https:\/\/blog.lacnic.net\/pt-br\/author\/gianni\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/blog.lacnic.net\/wp-content\/uploads\/2020\/10\/lacniccsirt-lacnic34.jpg","jetpack_sharing_enabled":true,"wpml_current_locale":"pt_BR","wpml_translations":[{"locale":"es_ES","id":16717,"post_title":"C\u00f3mo prevenir un ataque de inyecci\u00f3n de SQL","slug":"como-prevenir-ataque-inyeccion-sql","href":"https:\/\/blog.lacnic.net\/como-prevenir-ataque-inyeccion-sql\/"},{"locale":"en_US","id":16720,"post_title":"How to prevent SQL injection attacks","slug":"how-to-prevent-sql-injection-attacks","href":"https:\/\/blog.lacnic.net\/en\/how-to-prevent-sql-injection-attacks\/"}],"_links":{"self":[{"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/posts\/16722","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/comments?post=16722"}],"version-history":[{"count":4,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/posts\/16722\/revisions"}],"predecessor-version":[{"id":28951,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/posts\/16722\/revisions\/28951"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/media\/14122"}],"wp:attachment":[{"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/media?parent=16722"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/categories?post=16722"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/tags?post=16722"},{"taxonomy":"archivo","embeddable":true,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/archivo?post=16722"},{"taxonomy":"taxonomy-authors","embeddable":true,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/taxonomy-authors?post=16722"},{"taxonomy":"tipo_autor","embeddable":true,"href":"https:\/\/blog.lacnic.net\/pt-br\/wp-json\/wp\/v2\/tipo_autor?post=16722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}