051-WEB攻防-前后台功能点文件下载文件读取文件删除目录遍历目录穿越

news2024/11/15 8:32:14

051-WEB攻防-前后台功能点&文件下载&文件读取&文件删除&目录遍历&目录穿越

#知识点:

1、文件安全-前后台功能点-下载&读取&删除
2、目录安全-前后台功能点-目录遍历&目录穿越

演示案例:

➢文件安全-下载&删除-案例黑白盒
➢目录安全-遍历&穿越-案例黑白盒

#文件安全-下载&删除-黑白盒

1、下载=读取(获取源码)

文件下载

利用:下载敏感文件(数据库配置,中间件配置,系统密匙等文件信息)

Untitled

  • 常规下载URL:https://67.202.70.133/files/readfile.php(直接访问,会被默认以php执行文件解析,不能下载到本地,也不能看到源码)

    Untitled

  • 可能存在安全URL:https://67.202.70.133/files/readfile.php?file=readfile.php (下载协议下载php文件 ,源码被下载至本地可以被看到)

    • https://67.202.70.133/files/readfile.php?file=…/index.php

    • https://67.202.70.133/files/readfile.php?file=…/configuration.php

      • 依次通过下载**index.php**主页文件,根据源码泄露信息,确认是==Joomle搭建的==
      • 查找Joomle默认的数据库配置文件,并==进行下载configuration.php,发现泄露数据库密码用户名等隐私信息==

      Untitled

    Untitled

    Untitled

    Untitled

    Untitled

Untitled

文件读取

  1. 常见的敏感信息路径:

    1. Windows系统:

      C:\boot.ini //查看系统版本
      C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件
      C:\Windows\repair\sam //存储系统初次安装的密码
      C:\Program Files\mysql\my.ini //Mysql配置
      C:\Program Files\mysql\data\mysql\user.MYD //Mysql root
      C:\Windows\php.ini //php配置信息
      C:\Windows\my.ini //Mysql配置信息
      
      
    2. Linux/Unix系统:

      /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
      //ssh会把每个访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。
      /etc/passwd // 账户信息
      /etc/shadow // 账户密码文件
      /etc/my.cnf //mysql 配置文件
      /etc/httpd/conf/httpd.conf // Apache配置文件
      /root/.bash_history //用户历史命令记录文件
      /root/.mysql_history //mysql历史命令记录文件
      /proc/self/fd/fd[0-9]*(文件标识符)
      /proc/mounts //记录系统挂载设备
      /porc/config.gz //内核配置文件
      /var/lib/mlocate/mlocate.db //全文件路径
      /porc/self/cmdline //当前进程的cmdline参数
      
      
  2. 文件读取的靶场注册登录及应用:

    1. https://portswigger.net/web-security/all-labs,最好使用gmail邮箱进行注册,其他可能收不到验证邮箱,验证邮箱后,会让你设置用户名,但密码是由portswigger自动生成,复制登录即可(记得关闭代理,不然会登录失败)

    2. 实验室:文件路径遍历,简单案例 |网络安全学院 (portswigger.net)

      1. 访问实验室即可开启靶场
      2. 任意以url的方式打开页面上的图片https://0ae3006a032d097482c3eea700df003b.web-security-academy.net/image?filename=20.jpg发现可以进行替换文件名
      3. 开启burp抓包,并将抓取的数据包发送至Repeater处,修改其文件头GET /image?filename=../../../etc/passwd HTTP/2
      4. 则返回数据包中会显示,linux服务器中的账户信息

      Untitled

      Untitled

      Untitled

2、文件删除(常出现后台中—鸡肋危险)

可能存在安全问题:前台或后台有删除功能应用
利用:常规删除重装锁定配合程序重装或高危操作

  1. 登录后台,找到可以删除的页面操作,点击删除,并进行抓包,发现数据包中,的删除操作可以进行执行文件名替换(替换为其他文件进行删除),可以将其替换为源码中的install_lock.txt文件,是一个标识文件,通常用于记录或标记应用程序或系统的安装状态。这类文件通常在安装或初始化过程中创建,并用于防止重复安装或初始化

    Untitled

    Untitled

  2. 因为删除文件有过滤,在切换为想要删除install_lock.txt文件,要通过加减../试探该文件的存在位置,最后试探的结果为:GET /gws3vo/admin_template.php?action=del&filedir=../templets../../install/install_lock.txt HTTP/1.1

  3. 查看对应目标目录下的==install_lock.txt文件,已经被删除,再次访问install目录发现需要重装==

    Untitled

    Untitled

    Untitled

    Untitled

  4. 该操作十分危险容易造成网站崩溃,例如:如果删除了页面首页index.php源代码,造成访问失效,访问首页页面则没有图形化等操作

    1. 删除前

      Untitled

    2. 删除中

      Untitled

    3. 删除后

    Untitled

#目录安全-遍历&穿越-黑白盒

1、目录遍历

目录权限控制不当,通过遍历获取到有价值的信息文件去利用

  • 开启目录索引意味着服务器在处理请求时,如果访问的目录中没有默认的索引文件(如index.html、index.php等),服务器会列出目录中的文件和子目录,以供浏览器访问。这样的配置可能会==暴露目录结构和文件列表,从而使攻击者更容易发现潜在的目标和漏洞。==
  • 通过遍历获取到有价值的信息文件,然后利用它们可能是攻击者的一种常见策略。攻击者可能会查找敏感信息文件,如==配置文件、日志文件、数据库备份等,==并尝试利用这些文件获取进一步的访问权限或执行其他攻击。
  • 通过:FOFA:"index of /" && title=="Index of /" && country="CN”语句查询,可以查出很多存在目录遍历的漏洞网址

Untitled

Untitled

Untitled

2、目录穿越(常出现后台中)

目录权限控制不当,通过控制查看目录路径穿越到其他目录或判断获取价值文件再利用

  • 目录穿越(Directory Traversal)是一种安全漏洞,通常发生在应用程序对用户提供的输入==(如文件路径)进行不足或不正确验证的情况下==。攻击者通过**操纵输入,试图导航到系统文件系统的其他目录,可能导致访问敏感文件或目录,进而进行未经授权的操作。**
  1. 源码限制了访问目录,只能到default及以下包含目录

    Untitled

    Untitled

  2. 复制对应的目录跳转连接地址,并尝试通过==增加减少(…/)==进行目录穿越。可以访问到未经过容许的目录**

    1. http://192.168.137.1:86/gws3vo/admin_template.php?path=…/templets/default/html

    2. http://192.168.137.1:86/gws3vo/admin_template.php?path=../templets/../../../../../

      Untitled

Untitled

#黑盒分析:

1、功能点

文件上传,文件下载,文件删除,文件管理器等地方

2、URL特征

文件名:
download,down,readfile,read,del,dir,path,src,Lang
参数名:
file、path、data、filepath、readfile、data、url、realpath

#白盒分析:

查看源码中是否存在:上传类函数,删除类函数,下载类函数,目录操作函数,读取查看函数等

#海洋cms V7.0+phpstudy配置部署

  1. 解压到phpstudy存放源码的目录下G:\develop\safety\phpstudy_pro\WWW

    Untitled

  2. 打开phpstudy→网址,创建网址,配置相关信息

    Untitled

  3. 打开配置的网址ip和端口http://192.168.137.1:86,进行安装,安装完成登陆后台http://192.168.137.1:86/gws3vo/

    Untitled

    Untitled

    Untitled

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1502718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Centos 安装 redis【最简单】

Centos7 使⽤ yum 安装 ⾸先安装 scl 源, 再安装 redis (因为 Centos7 yum 提供的软件包只有 3.0 版本的 Redis ,太老了,我们要安装 redis 5 系列的) yum install centos-release-scl-rh yum install rh-redis5-redis 创建符号…

阿里云99计划优惠:云服务器租用价格61元、99元、165元

阿里云99计划还有谁不知道么?阿里云不杀熟,新老用户同享,阿里云服务器99元一年,续费也是99元,续费不涨价家人们,2024年阿里云把云服务器价格打下来了,2核2G、2核4G、4核8G、4核16G、8核16G、8核…

《在“裸奔”时代下如何保护网络隐私》

引言 在信息时代的今天,网络已经成为我们生活中不可或缺的一部分。然而,随着网络的普及和技术的发展,网络安全和隐私保护问题也变得越来越严峻。特别是在这个所谓的“裸奔”时代,我们的个人信息和隐私正面临着前所未有的挑战。因此,保护网络隐私变得尤为重要。 网络安全…

吴恩达deeplearning.ai:机器学习的开发过程与优化方法

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏 我想在接下来分析下开发机器学习系统的过程,这样当你自己动手时,能够做出更加正确的判断。 机器学习开发的迭代 Iterative loop of ML development 决定模型架构 第…

flink实战--Flink任务资源自动化优化

背景 在生产环境Flink任务资源是用户在实时平台端进行配置,用户本身对于实时任务具体配置多少资源经验较少,所以存在用户资源配置较多,但实际使用不到的情形。比如一个 Flink 任务实际上 4 个并发能够满足业务处理需求,结果用户配置了 16 个并发,这种情况会导致实时计算资…

【uniapp】uniapp小程序中实现拍照同时打开闪光灯的功能,拍照闪光灯实现

一、需求前提 特殊场景中,需要拍照的同时打开闪光灯,(例如黑暗场景下的设备维护巡检功能)。 起初我是用的uviewui中的u-upload组件自带的拍照功能,但是这个不支持拍照时打开闪光灯,也不支持从通知栏中打开…

哈希表应用

例题 在这里使用一个简化版的问题进行分析:给定N个自然数,值域是,求出这N个自然数中共有多少个不同的自然数。 分析 如果值域是,那么可以利用之前介绍过的计数排序算法解决问题。定义一个的大数组a,每个位置a[x]所对…

vue 使用 PrintJs 实现打印pdf效果

一、print.js介绍 Print.js主要是为了帮助我们直接在应用程序中打印PDF文件,而无需离开界面,并且不使用嵌入。对于用户不需要打开或下载PDF文件的特殊情况,他们只需要打印它们。 例如,当用户请求打印在服务器端生成的报告时&…

Spring web MVC(入门)

1、什么是MVC(一种思想) Model View Controller : Model—模型 View—视图 Controller—控制器 2、Spring MVC是一种实现(我们现在学的是Spring web,Spring mvc过时了) View属于前端问题我们后端人员不必太过于关注…

Java基础 - 8 - 算法、正则表达式、异常

一. 算法 什么是算法? 解决某个实际问题的过程和方法 学习算法的技巧? 先搞清楚算法的流程,再直接去推敲如何写算法 1.1 排序算法 1.1.1 冒泡排序 每次从数组中找出最大值放在数组的后面去 public class demo {public static void main(S…

JVM——执行引擎

文章目录 1、概述2、计算机语言的发展史2.1、机器码2.2、汇编语言2.3、高级语言2.4、字节码 3、Java代码编译和执行过程4、解释器5、JIT编译器5.1、为什么HotSpot VM同时存在JIT编译器和解释器5.2、热点代码探测确定何时JIT5.3、设置执行模式5.4、C1编译器和C2编译器 6、AOT编译…

python实现桶排序

桶排序(Bucket Sort)是一种排序算法,它将待排序的元素分到有限数量的桶(buckets)中,然后分别对每个桶中的元素进行排序,最后按照顺序将所有的桶中的元素依次取出,即可得到有序序列。…

深入了解Kafka中Topic的神奇之处

欢迎来到我的博客,代码的世界里,每一行都是一个故事 深入了解Kafka中Topic的神奇之处 前言Topic的基本概念Kafka Topic 的定义:Kafka Topic 的基本原理:为何 Topic 是 Kafka 消息传递的核心组成部分: 创建和配置Topic创…

FairScale 库测试实验(一)-- 大模型训练基础之模型并行

DDP的分布式训练方法采用数据并行方式,相当于通过增大数据的batch来加快训练。但对于大模型(LLM)来说,DDP已经不适用了。因为LLMs的模型本身太大,一块GPU都放不下怎么可能去复制从而实现数据并行呢。所以LLM的训练采用…

Ansible常用模块详解

Ansible常用模块详解一、Ansible简介1、Ansible是什么?2、Ansible是怎么工作的?3、Ansible的特性 二、Ansible 环境安装部署三、Ansible 命令行模块1、command 模块2、shell 模块3、cron 模块4、user 模块5、group 模块6、copy 模块7、file 模块8、hostn…

阿里云服务器没有国外地域吗?

阿里云地域没有国外节点?有,阿里云服务器国外地域美国、日本、新加坡、韩国、英国及德国等,阿里云服务器地域遍布全球,共29个地域可选。如果您在购买阿里云服务器时,没有国外地域可选,那是因为活动上提供的…

基于SSM框架的婚庆平台设计与实现

目 录 摘 要 I Abstract II 引 言 1 1相关技术 3 1.1 SSM框架简介 3 1.2 MySQL数据库简介 3 1.3 MVC设计模式简介 3 1.4 本章小结 4 2系统分析 5 2.1功能需求 5 2.1.1 用户功能需求 5 2.1.2 管理员功能需求 6 2.2非功能需求 10 2.3本章小结 10 3系统设计 11 3.1总体设计 11 3.…

spark 实验二 RDD编程初级实践

目录 一. pyspark交互式编程示例(学生选课成绩统计) 该系总共有多少学生; 该系DataBase课程共有多少人选修; 各门课程的平均分是多少; 使用累加器计算共有多少人选了DataBase这门课。 二.编写独立应用程序实现数…

java Spring boot简述jetcache 并叙述后续文章安排

我们之前 讲了 Spring boot 整合 cache 使用 simple(默认) redis Ehcache memcached的几种方式 但是 始终有人觉得不够完善 提出了一些问题 例如 觉得 当前spring boot 对缓存过期的控制过于松散 不严谨 比较明显的体现就是 memcached过期时间在逻辑代码中控制 Ehcache的过期时…

spring boot 集成 mysql ,mybatisplus多数据源

1、需要的依赖&#xff0c;版本自行控制 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId> </dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java<…