zoukankan      html  css  js  c++  java
  • 渗透之路基础 -- 目录遍历

    目录遍历

    192.168.203.128/test/mlbl.php?path=/
    

    path 参数输入指令实现目录遍历

    漏洞产生环境

    ​ 网站提供文件下载,文件储存在服务器中,网站脚本利用代码回去此目录文件显示至网页,若没有进行相关验证,则会产生目录遍历漏洞

    突破方式(大佬文章https://www.cnblogs.com/s0ky1xd/p/5823685.html):

    1. 加密参数传递的数据
      在Web应用程序对文件名进行加密之后再提交,比如:downfile.jsp?filename= ZmFuLnBkZg- ,在参数filename用的是Base64加密,而攻击者要想绕过,只需简单的将文件名加密后再附加提交即可。所以说,采用一些有规律或者轻易能识别的加密方式,也是存在风险的。
    2. 编码绕过
      尝试使用不同的编码转换进行过滤性的绕过,比如Url编码,通过对参数进行Url编码提交,downfile.jsp?filename= %66%61%6E%2E%70%64%66来绕过。
    3. 目录限定绕过
      在有些Web应用程序是通过限定目录权限来分离的。当然这样的方法不值得可取的,攻击者可以通过某些特殊的符号~来绕过。形如这样的提交downfile.jsp?filename=~/../boot。能过这样一个符号,就可以直接跳转到硬盘目录下了。
    4. 绕过文件后缀过滤
      一些Web应用程序在读取文件前,会对提交的文件后缀进行检测,攻击者可以在文件名后放一个空字节的编码,来绕过这样的文件类型的检查。
      例如:../../../../boot.ini%00.jpg,Web应用程序使用的Api会允许字符串中包含空字符,当实际获取文件名时,则由系统的Api会直接截短,而解析为../../../../boot.ini
      在类Unix的系统中也可以使用Url编码的换行符,例如:../../../etc/passwd%0a.jpg如果文件系统在获取含有换行符的文件名,会截短为文件名。也可以尝试%20,例如: ../../../index.jsp%20
    5. 绕过来路验证
      Http Referer :HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的

    另一种目录遍历

    ​ web服务器配置不当

    index of /

    ​ 搜索语法搜索目录遍历漏洞

    intitle:index of

    只是学习笔记,未完善内容之后有需要时会补充

  • 相关阅读:
    好看的壁纸网站
    python简介
    python学习之基本语法(1)
    信息系统开发方法
    数据库连接池的使用小结
    软件版本后的字母含义
    信息系统与信息化
    软考
    实施过程中的项目管理
    mysql查SQL执行速度
  • 原文地址:https://www.cnblogs.com/r0ckysec/p/11529177.html
Copyright © 2011-2022 走看看