栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十三)-任意文件下载漏洞(1)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

山东大学软件学院项目实训-创新实训-山大软院网络攻防靶场实验平台(十三)-任意文件下载漏洞(1)

目录
  • 前言:
  • 一、任意文件下载
    • 1、任意文件下载漏洞简介
      • 1.1、简介
      • 1.2、危害
      • 1.3、利用
      • 1.4、防范
    • 2、项目配置


前言:

前面的博客记录了关于文件上传漏洞的基础知识,以及基本的漏洞出现点、利用方式、以及如何防护等,并在此基础上思考如何构造一个文件上传漏洞靶场,以及文件上传漏洞靶场的实现过程。
接下来实现的漏洞靶场为任意文件下载漏洞,本篇博客仍然是首先学习任意文件下载漏洞相关知识,并思考如何构造任意文件下载漏洞环境。


一、任意文件下载 1、任意文件下载漏洞简介 1.1、简介

由于业务需求,很多网站往往需要提供文件(附件)下载的功能块,某些文件下载功能实现过程是,根据参数filename的值,获得该文件在网站上的绝对路径,读取文件内容,发送给客户端进行下载。但是如果对下载的文件没有做限制,直接通过绝对路径对其文件进行下载,那么,恶意用户就可以利用这种方式下载服务器的敏感文件,对服务器进行进一步的威胁和攻击。


1.2、危害

通过任意文件下载,可以下载服务器的任意文件,web业务的代码,服务器和系统的具体配置信息,也可以下载数据库的配置信息,以及对内网的信息探测等等。

通过上面的简单介绍,可以看出任意下载漏洞是很常见的,如果对用户查看或下载的文件不做限制,就又可能被利用,从而造成损害,接下来就来学习下任意下载漏洞是如何利用的


1.3、利用
  • 获得站点源码(黑盒 -> 白盒)
  • 获得站点与中间件配置文件
  • 获得应用于系统配置文件(ssh、mysql)

从链接上看,类似这些,有可能就存在任意下载漏洞(php 语言,其他的也是类似的)

download.php?path=
download.php?file=
down.php?file=
data.php?file=
readfile.php?file=
read.php?filename=

任意下载漏洞可以通过谷歌来进行搜索

inurl : readfile.php?file=
inurl : download.php?file=

从参数名上看,大致有:

&readpath=
&filepath=
&Path=
&inputfile=
&url=
&Lang=
&dis=
&data=
&readfile=
&menu=
META-INF=
WEB-INF

linux和Windows下载利用文件

windows:

C:boot.ini //查看系统版本
C:WindowsSystem32inetsrvMetaBase.xml //IIS配置文件
C:Windowsrepairsam //存储系统初次安装的密码
C:Program Filesmysqlmy.ini //Mysql配置
C:Program Filesmysqldatamysqluser.MYD //Mysql root
C:Windowsphp.ini //php配置信息
C:Windowsmy.ini //Mysql配置信息
C:Windowswin.ini //Windows系统的一个基本系统配置文件

linux:

root/.ssh/authorized_keys如需登录到远程主机,需要到.ssh目录下,新建authorized_keys文件,并将id_rsa.pub内容复制进去
/root/.ssh/id_rsa//ssh私钥,ssh公钥是id_rsa.pub
/root/.ssh/id_ras.keystore//记录每个访问计算机用户的公钥
/root/.ssh/known_hosts //记录每个访问计算机用户的公钥
/etc/passwd
/etc/shadow//账户密码文件
/etc/my.cnf //mysql配置文件
/etc/httpd/conf/httpd.conf //apache配置文件
/root/.bash_history //用户历史命令记录文件
/root/.mysql_history //mysql历史命令记录文件
/proc/mounts //记录系统挂载设备
/porc/config.gz //内核配置文件
/var/lib/mlocate/mlocate.db //全文件路径
/porc/self/cmdline //当前进程的cmdline参数

1.4、防范
  • 下载路径不可控,而是程序自动生成后保存在数据库中,根据 ID 进行下载
  • 对参数做严格的过滤,不能进行目录遍历(穿越)

2、项目配置

新建一个 springboot 项目,相关设置与前面的漏洞示例都相同。

编写 application.properties:

spring.thymeleaf.prefix = classpath:/templates/

pom.xml 导入相关依赖



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.5
         
    
    com.example
    FileDownload
    0.0.1-SNAPSHOT
    FileDownload
    FileDownload
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        

        
        
            org.springframework.boot
            spring-boot-devtools
            true
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    





转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851553.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号