{"id":476846,"date":"2023-08-09T09:04:34","date_gmt":"2023-08-09T09:04:34","guid":{"rendered":""},"modified":"2023-09-05T11:13:34","modified_gmt":"2023-09-05T11:13:34","slug":"directory-traversal-attack","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/pt\/wiki\/directory-traversal-attack\/","title":{"rendered":"Ataque de passagem de diret\u00f3rio"},"content":{"rendered":"<p>Os ataques de passagem de diret\u00f3rio, tamb\u00e9m conhecidos como ataques de passagem de caminho, representam um risco significativo no dom\u00ednio da seguran\u00e7a da web. Eles exploram principalmente a vulnerabilidade de seguran\u00e7a na fun\u00e7\u00e3o de um aplicativo da web de acessar os arquivos presentes no servidor. Esses ataques permitem que um usu\u00e1rio nefasto acesse arquivos e diret\u00f3rios armazenados fora da pasta webroot, manipulando vari\u00e1veis que fazem refer\u00eancia a arquivos com sequ\u00eancias \u201cponto-ponto-barra (..\/)\u201d.<\/p>\n<h2>A evolu\u00e7\u00e3o dos ataques de passagem de diret\u00f3rio<\/h2>\n<p>A origem dos ataques de passagem de diret\u00f3rio remonta aos prim\u00f3rdios da Internet, quando os aplicativos da Web come\u00e7aram a utilizar scripts para acessar arquivos do lado do servidor. \u00c0 medida que a tecnologia avan\u00e7ava e as aplica\u00e7\u00f5es web se tornavam mais complexas, o potencial para estes tipos de vulnerabilidades tamb\u00e9m aumentava.<\/p>\n<p>A primeira men\u00e7\u00e3o p\u00fablica a ataques de passagem de diret\u00f3rio \u00e9 um tanto dif\u00edcil de identificar devido \u00e0 natureza fundamental desta vulnerabilidade. No entanto, a preocupa\u00e7\u00e3o com a seguran\u00e7a tornou-se mais proeminente durante o final da d\u00e9cada de 1990 e in\u00edcio da d\u00e9cada de 2000, \u00e0 medida que as aplica\u00e7\u00f5es Web se tornaram comuns e as oportunidades para explorar refer\u00eancias de ficheiros inseguros aumentaram.<\/p>\n<h2>Expandindo os ataques de passagem de diret\u00f3rio<\/h2>\n<p>Um ataque de passagem de diret\u00f3rio \u00e9 uma forma de explora\u00e7\u00e3o HTTP na qual um hacker acessa o diret\u00f3rio de um servidor que normalmente n\u00e3o est\u00e1 dispon\u00edvel ao p\u00fablico. O invasor explora a valida\u00e7\u00e3o de seguran\u00e7a insuficiente ou a sanitiza\u00e7\u00e3o de nomes de arquivos de entrada fornecidos pelo usu\u00e1rio, permitindo-lhes escapar do ambiente restrito.<\/p>\n<p>O uso mais comum de sequ\u00eancias de passagem de diret\u00f3rio \u00e9 em ataques baseados em URL, mas elas tamb\u00e9m podem aparecer em inje\u00e7\u00f5es de cabe\u00e7alho, manipula\u00e7\u00f5es de cookies ou at\u00e9 mesmo em par\u00e2metros POST. Com isso, os invasores podem visualizar diret\u00f3rios restritos e executar comandos fora do diret\u00f3rio raiz do servidor web, obtendo assim acesso n\u00e3o autorizado a informa\u00e7\u00f5es confidenciais.<\/p>\n<h2>Como funcionam os ataques de passagem de diret\u00f3rio<\/h2>\n<p>Um ataque de passagem de diret\u00f3rio funciona explorando valida\u00e7\u00e3o\/sanitiza\u00e7\u00e3o de seguran\u00e7a insuficiente de nomes de arquivos de entrada fornecidos pelo usu\u00e1rio, para que um invasor possa manipul\u00e1-los para sair do local restrito.<\/p>\n<p>De forma bastante simplificada, vamos considerar um cen\u00e1rio em que uma aplica\u00e7\u00e3o est\u00e1 tentando acessar um arquivo de imagem do servidor:<\/p>\n<pre><div class=\"bg-black rounded-md mb-4\"><div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans justify-between rounded-t-md\"><span>arduino<\/span><button class=\"flex ml-auto gap-2\"><svg stroke=\"currentColor\" fill=\"none\" stroke-width=\"2\" viewbox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"h-4 w-4\" height=\"1em\" width=\"1em\" ><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"><\/path><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"><\/rect><\/svg>Copiar c\u00f3digo<\/button><\/div><div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-arduino\" data-no-translation=\"\">http:<span class=\"hljs-comment\">\/\/example.com\/app?file=logo.jpg<\/span>\n<\/code><\/div><\/div><\/pre>\n<p>Neste caso, o aplicativo abriria o arquivo <code data-no-translation=\"\">logo.jpg<\/code> de seu diret\u00f3rio de imagens. No entanto, um invasor pode usar as sequ\u00eancias \u201cponto-ponto-barra (..\/)\u201d para mover-se para o diret\u00f3rio pai e, em seguida, acessar arquivos n\u00e3o autorizados. Por exemplo:<\/p>\n<pre><div class=\"bg-black rounded-md mb-4\"><div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans justify-between rounded-t-md\"><span>festa<\/span><button class=\"flex ml-auto gap-2\"><svg stroke=\"currentColor\" fill=\"none\" stroke-width=\"2\" viewbox=\"0 0 24 24\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"h-4 w-4\" height=\"1em\" width=\"1em\" ><path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"><\/path><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"><\/rect><\/svg>Copiar c\u00f3digo<\/button><\/div><div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-bash\" data-no-translation=\"\">http:\/\/example.com\/app?file=..\/..\/etc\/passwd\n<\/code><\/div><\/div><\/pre>\n<p>Isso pode fazer com que o aplicativo exiba arquivos confidenciais do sistema.<\/p>\n<h2>Principais recursos de ataques de passagem de diret\u00f3rio<\/h2>\n<ol>\n<li>\n<p><strong>Manipulando Vari\u00e1veis:<\/strong> A caracter\u00edstica fundamental de um ataque de passagem de diret\u00f3rio envolve a manipula\u00e7\u00e3o de vari\u00e1veis que fazem refer\u00eancia a arquivos com sequ\u00eancias \u201cponto-ponto-barra (..\/)\u201d.<\/p>\n<\/li>\n<li>\n<p><strong>Quebrando restri\u00e7\u00f5es:<\/strong> Ele permite que o invasor saia do diret\u00f3rio raiz do aplicativo e acesse outras partes do sistema de arquivos.<\/p>\n<\/li>\n<li>\n<p><strong>Explorando valida\u00e7\u00e3o fraca:<\/strong> Os ataques de passagem de diret\u00f3rio exploram a valida\u00e7\u00e3o ou limpeza fraca das entradas do usu\u00e1rio.<\/p>\n<\/li>\n<\/ol>\n<h2>Tipos de ataques de passagem de diret\u00f3rio<\/h2>\n<p>Embora o princ\u00edpio b\u00e1sico por tr\u00e1s dos ataques de passagem de diret\u00f3rio permane\u00e7a o mesmo, eles podem se manifestar de diferentes maneiras com base no contexto e no aplicativo em quest\u00e3o:<\/p>\n<ol>\n<li>\n<p><strong>Ataques baseados em URL:<\/strong> Isso envolve a inje\u00e7\u00e3o de informa\u00e7\u00f5es maliciosas na URL para percorrer diret\u00f3rios.<\/p>\n<\/li>\n<li>\n<p><strong>Ataques baseados em formul\u00e1rio:<\/strong> Entradas maliciosas s\u00e3o inseridas em campos de formul\u00e1rio para explorar scripts vulner\u00e1veis do lado do servidor.<\/p>\n<\/li>\n<li>\n<p><strong>Ataques baseados em cookies:<\/strong> Os invasores manipulam cookies para percorrer diret\u00f3rios e acessar dados n\u00e3o autorizados.<\/p>\n<\/li>\n<\/ol>\n<table>\n<thead>\n<tr>\n<th>Tipo<\/th>\n<th>Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Ataques baseados em URL<\/td>\n<td>Injete entrada maliciosa na URL para percorrer diret\u00f3rios.<\/td>\n<\/tr>\n<tr>\n<td>Ataques baseados em formul\u00e1rio<\/td>\n<td>Insira entradas maliciosas em campos de formul\u00e1rio para explorar scripts do lado do servidor.<\/td>\n<\/tr>\n<tr>\n<td>Ataques baseados em cookies<\/td>\n<td>Manipule cookies para percorrer diret\u00f3rios e acessar dados n\u00e3o autorizados.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Problemas e solu\u00e7\u00f5es associados a ataques de passagem de diret\u00f3rio<\/h2>\n<p>O principal problema dos ataques de passagem de diret\u00f3rio \u00e9 o acesso n\u00e3o autorizado a arquivos e dados confidenciais. Isso pode levar ao vazamento de dados, perda de confidencialidade e potencialmente fornecer ao invasor outros vetores de ataque (como obter credenciais de banco de dados a partir de arquivos de configura\u00e7\u00e3o).<\/p>\n<p>Aqui est\u00e3o algumas solu\u00e7\u00f5es:<\/p>\n<ol>\n<li>\n<p><strong>Valida\u00e7\u00e3o de entrada:<\/strong> Garanta uma valida\u00e7\u00e3o robusta das entradas fornecidas pelo usu\u00e1rio. N\u00e3o permita \u201c..\u201d ou \u201c\/\u201d como parte das entradas.<\/p>\n<\/li>\n<li>\n<p><strong>Controle de acesso:<\/strong> Implemente o controle de acesso adequado. N\u00e3o confie apenas no caminho do arquivo fornecido para autorizar o usu\u00e1rio.<\/p>\n<\/li>\n<li>\n<p><strong>Princ\u00edpio do menor privil\u00e9gio:<\/strong> Execute o aplicativo com o m\u00ednimo de privil\u00e9gios necess\u00e1rios, reduzindo o dano potencial de um ataque de passagem de diret\u00f3rio.<\/p>\n<\/li>\n<\/ol>\n<h2>Ataques de passagem de diret\u00f3rio e termos semelhantes<\/h2>\n<table>\n<thead>\n<tr>\n<th>Prazo<\/th>\n<th>Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Ataque transversal de diret\u00f3rio<\/td>\n<td>Explora uma vulnerabilidade nos procedimentos de entrada do usu\u00e1rio para acessar arquivos e diret\u00f3rios n\u00e3o autorizados.<\/td>\n<\/tr>\n<tr>\n<td>Inclus\u00e3o remota de arquivos (RFI)<\/td>\n<td>Um invasor usa caminhos de entrada do usu\u00e1rio para carregar um script malicioso no servidor de um site.<\/td>\n<\/tr>\n<tr>\n<td>Inclus\u00e3o de arquivo local (LFI)<\/td>\n<td>Um invasor manipula um site para executar ou revelar o conte\u00fado dos arquivos no servidor web.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Perspectivas futuras e tecnologias relacionadas a ataques de passagem de diret\u00f3rio<\/h2>\n<p>\u00c0 medida que o cen\u00e1rio de desenvolvimento web evolui, os m\u00e9todos e ferramentas para realizar ataques de passagem de diret\u00f3rio podem se tornar mais sofisticados. No entanto, a base da preven\u00e7\u00e3o provavelmente ainda residir\u00e1 na valida\u00e7\u00e3o robusta de entradas e na configura\u00e7\u00e3o sensata do sistema.<\/p>\n<p>Firewalls de aplicativos da Web, sistemas de detec\u00e7\u00e3o de anomalias e algoritmos de aprendizado de m\u00e1quina para sistemas de detec\u00e7\u00e3o de intrus\u00f5es poderiam desempenhar um papel significativo em futuras estrat\u00e9gias de mitiga\u00e7\u00e3o contra tais ataques.<\/p>\n<h2>A conex\u00e3o entre servidores proxy e ataques de passagem de diret\u00f3rio<\/h2>\n<p>Os servidores proxy podem servir como uma camada de seguran\u00e7a adicional contra ataques de passagem de diret\u00f3rio. Ao filtrar solicita\u00e7\u00f5es e respostas entre o cliente e o servidor, eles podem ajudar a detectar padr\u00f5es incomuns ou sinais de ataques de passagem de diret\u00f3rio, evitando assim que cheguem ao servidor.<\/p>\n<p>OneProxy, por exemplo, fornece uma solu\u00e7\u00e3o robusta de servidor proxy que pode desempenhar um papel fundamental na sua estrat\u00e9gia de defesa contra esses tipos de ataques.<\/p>\n<h2>Links Relacionados<\/h2>\n<ol>\n<li><a href=\"https:\/\/owasp.org\/www-community\/attacks\/Path_Traversal\" target=\"_new\" rel=\"noopener nofollow\">Ataque de passagem de caminho OWASP<\/a><\/li>\n<li><a href=\"https:\/\/www.acunetix.com\/blog\/articles\/directory-traversal\/\" target=\"_new\" rel=\"noopener nofollow\">Ataques de passagem de diret\u00f3rio e t\u00e9cnicas de mitiga\u00e7\u00e3o<\/a><\/li>\n<li><a href=\"https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/File_Path_Traversal_Prevention_Cheat_Sheet.html\" target=\"_new\" rel=\"noopener nofollow\">Prevenindo ataques de passagem de diret\u00f3rio<\/a><\/li>\n<li><a href=\"https:\/\/www.owasp.org\/index.php\/Guide_to_Building_Secure_Web_Applications_and_Web_Services\" target=\"_new\" rel=\"noopener nofollow\">Guia OWASP para construir aplicativos e servi\u00e7os da Web seguros<\/a><\/li>\n<li><a href=\"https:\/\/www.cloudflare.com\/en-gb\/learning\/security\/glossary\/what-is-a-proxy-server\/\" target=\"_new\" rel=\"noopener nofollow\">Servidores proxy e seguran\u00e7a<\/a><\/li>\n<\/ol>","protected":false},"featured_media":476847,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-476846","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>Directory Traversal Attack: An In-Depth Examination<\/mark>","faq_items":[{"question":"What is a Directory Traversal Attack?","answer":"<p>A Directory Traversal Attack, also known as a path traversal attack, is a type of HTTP exploit that allows attackers to access restricted directories and execute commands outside of the web server's root directory. This is accomplished by exploiting insufficient security validation or sanitization of user-supplied input filenames.<\/p>"},{"question":"How did Directory Traversal Attacks originate?","answer":"<p>Directory Traversal Attacks originated during the early days of the internet when web applications began utilizing scripts to access server-side files. As technology progressed and web applications became more complex, the potential for these types of vulnerabilities also increased.<\/p>"},{"question":"How does a Directory Traversal Attack work?","answer":"<p>Directory Traversal Attacks work by manipulating variables that reference files with \"dot-dot-slash (..\/)\" sequences. By exploiting weak security validation or sanitization of user inputs, an attacker can access files and directories outside the webroot folder.<\/p>"},{"question":"What are the key features of Directory Traversal Attacks?","answer":"<p>Key features of Directory Traversal Attacks include the manipulation of variables to traverse directories, the ability to break out of the application's root directory, and the exploitation of weak validation of user inputs.<\/p>"},{"question":"What are the different types of Directory Traversal Attacks?","answer":"<p>Directory Traversal Attacks can be categorized into URL-based, form-based, and cookie-based attacks. In each type, attackers manipulate inputs in different ways to exploit server-side vulnerabilities and traverse directories.<\/p>"},{"question":"How can Directory Traversal Attacks be prevented?","answer":"<p>Directory Traversal Attacks can be prevented through robust input validation, proper access control, and the principle of least privilege. This involves disallowing certain inputs like \"..\" or \"\/\", not relying solely on the supplied file path for user authorization, and running the application with the least privileges necessary.<\/p>"},{"question":"How do Directory Traversal Attacks compare with similar terms like Remote File Inclusion (RFI) and Local File Inclusion (LFI)?","answer":"<p>While Directory Traversal Attacks exploit vulnerabilities to access unauthorized files and directories, Remote File Inclusion (RFI) involves an attacker uploading a malicious script into a website's server, and Local File Inclusion (LFI) manipulates a website into executing or revealing the contents of files on the web server.<\/p>"},{"question":"What are the future perspectives and technologies related to Directory Traversal Attacks?","answer":"<p>Future perspectives suggest that as web development evolves, the methods to perform Directory Traversal Attacks may become more sophisticated. Web application firewalls, anomaly detection systems, and machine learning algorithms could play a significant role in future mitigation strategies against such attacks.<\/p>"},{"question":"How do Proxy Servers help with Directory Traversal Attacks?","answer":"<p>Proxy servers, like OneProxy, can serve as an additional layer of security against Directory Traversal Attacks. By filtering requests and responses between the client and the server, they can help detect unusual patterns or signs of Directory Traversal Attacks, preventing them from reaching the server.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki\/476846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/wiki\/476846\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/media\/476847"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/pt\/wp-json\/wp\/v2\/media?parent=476846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}