码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【网络安全 --- 任意文件下载漏洞(1)】任意文件下载漏洞


    首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识

    点击下面链接可以获取

    超详细的网络安全学习笔记

    超详细的网络安全学习笔记icon-default.png?t=N7T8https://m.tb.cn/h.5DYXdDY?tk=obYuWMaxk8x

    二,文件包含漏洞详解

    一,环境,工具准备

    1-1 VMVare 16 虚拟机及下载安装(资源)

     请参考以下博客安装(特详细):【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)https://blog.csdn.net/m0_67844671/article/details/133609717?spm=1001.2014.3001.5502

    1-2 window server 2003 下载安装 (提供镜像)

     请参考以下博客安装(特详细):

    【网路安全 --- win2003安装】 windows server 2003 详细安装过程(提供镜像资源)_网络安全_Aini的博客-CSDN博客【网路安全 --- win2003安装】 windows server 2003 详细安装过程(提供镜像资源)https://blog.csdn.net/m0_67844671/article/details/133675835?spm=1001.2014.3001.5502

    1-3 pikachu靶场搭建 (提供靶场及所需要的工具)

     请参考以下博客安装(特详细):

    【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程(提供靶场代码及工具)_网络安全_Aini的博客-CSDN博客【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程(提供靶场代码及工具)https://blog.csdn.net/m0_67844671/article/details/133682360?spm=1001.2014.3001.5502

    首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识

    点击下面链接可以获取

    超详细的网络安全学习笔记

    超详细的网络安全学习笔记icon-default.png?t=N7T8https://m.tb.cn/h.5DYXdDY?tk=obYuWMaxk8x

    二,文件包含漏洞详解

    二,文件包含漏洞详解

    二,任意文件下载漏洞

    以pikachu靶场为例进行演示

    1-1 实例

    发现点击名字就可以下载图片 

    看一下图片的网址

    http://192.168.31.159/pikachu/vul/unsafedownload/execdownload.php?filename=kb.png

    看到这样的网址,我们上来的反应是sql注入点、xss攻击等手段,现在还需要考虑有没有任意文件下载漏洞,比如改一个文件名会怎样呢?会不会下载这个文件名的文件呢?先看一下文件所在目录

    那么网址路径和物理路径的对应关系如下:但是注意,物理路径的最后一个download文件夹是没有在网址路径上体现出来的,通过filename参数对应的文件名称,后台代码肯定是去download文件夹里面找对应的文件了  

    我们再来看, ../../../index.php ,从download文件夹开始往上层走,找到了如下pikachu文件夹,将里面的文件下载下来了。

    我输入完网址,一按回车就把index.php下载下来了 

    效果:index.php被下载下来了,这就叫做任意文件下载。这样的漏洞现在还有好多。  

    1-2 产生原因 

    我们看一看execdownload.php文件代码

    写代码的时候,代码规定一个绝对路径,只能在某个文件夹里面下载文件,这样就能防止这个漏洞,但是很多程序员不知道这个问题,导致了漏洞。另一个防御方法,就是将 ../ 之类的符号屏蔽或者过滤掉。  

    很多网站还会出先如下的问题,就是写很多很多层的 ../

    比如下面这种,如果是Linux系统部署的网站,通过../不断往上走,能查看/etc/passwd文件

    1. http://192.168.0.15/pikachu/vul/unsafedownload/execdownload.php?filename=../../../../../../../../../../../../../../../etc/passwd
    2. ## 通过../../等切换目录,也叫做目录穿越漏洞。

    很明显,这个层级是不存在的,那么如果没有对路径进行处理的话,很有可能默认就直接返回了系统根路径,那么就拿到了根路径下面的etc下面的passwd文件。  

    1-3 利用思路

    快速扫描下载漏洞的时候,不管是工具还是手工,我们怎么判断下载漏洞呢?它有几个关键的形式:

    1. ## 一般链接形式:
    2. download.php?path=
    3. down.php?file=
    4. data.php?file=
    5. download.php?filename=
    6. ## 或者包含参数:
    7. &Src=
    8. &Inputfile=
    9. &Filepath=
    10. &Path=
    11. &Data=

    当遇到一个任意文件下载时,我们的一般利用思路:比如下载哪些文件呢?  

    (1)下载常规的配置文件,例如: ssh,weblogic,ftp,mysql等相关配置

    (2)下载各种.log文件,从中寻找一些后台地址,文件上传点之类的地方

    (3)下载web业务文件进行白盒审计,利用漏洞进一步攻入服务器。如果是linux系统的话,尝试读取/root/.bash_history看自己是否具有root权限。如果没有的话。我们只能按部就班的利用../来回跳转读取一些.ssh下的配置信息文件,读取mysql下的.bash_history文件。来查看是否记录了一些可以利用的相关信息。然后逐个下载我们需要审计的代码文件,但是下载的时候变得很繁琐,  

    1-4 常见利用文件  

    /root/.ssh/authorized_keys
    /root/.ssh/id_rsa
    /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-5 漏洞修复

    (1)过滤".",使用户在url中不能回溯上级目录 不能目录穿越 ../../
    (2)正则严格判断用户输入参数的格式
    (3)php.ini配置open_basedir限定文件访问范围

    首先分享一个自己做的很不错的网路安全笔记,内容详细介绍了许多知识

    点击下面链接可以获取

    超详细的网络安全学习笔记

    超详细的网络安全学习笔记icon-default.png?t=N7T8https://m.tb.cn/h.5DYXdDY?tk=obYuWMaxk8x

    二,文件包含漏洞详解

  • 相关阅读:
    Java 常用类(包装类)
    #FPGA(基础知识)
    从入门到进阶 之 ElasticSearch 配置优化篇
    提示词革命来了PROMPT THE WORLD!百度年度大会定档10月17日
    git拉代码 使用SSH克隆,配置代理
    Ant Design Vue
    线上应用故障排查之一:高CPU占用
    matplotlib如何画球
    通过 Flowable-UI 来体验一把 Flowable 流程引擎
    商城网站被攻击了,网站打开的速度很慢该怎么办,接入CDN有没有用处呢,CDN能不能有效的防止被攻击的情况
  • 原文地址:https://blog.csdn.net/m0_67844671/article/details/134008314
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号