网站策划书包括哪几个步骤,全媒体门户网站建设方案,建设文化网站好处,电子商务网页设计与网站建设一#xff0c;环境#xff0c;工具准备
1-1 VMVare 16 虚拟机及下载安装#xff08;资源#xff09; 请参考以下博客安装#xff08;特详细#xff09;#xff1a;【网络安全 --- 工具安装】VMware 16.0 详细安装过程#xff08;提供资源#xff09;-CSDN博客【网络安…一环境工具准备
1-1 VMVare 16 虚拟机及下载安装资源 请参考以下博客安装特详细【网络安全 --- 工具安装】VMware 16.0 详细安装过程提供资源-CSDN博客【网络安全 --- 工具安装】VMware 16.0 详细安装过程提供资源https://blog.csdn.net/m0_67844671/article/details/133609717?spm1001.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?spm1001.2014.3001.5502
1-3 pikachu靶场搭建 提供靶场及所需要的工具 请参考以下博客安装特详细
【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程提供靶场代码及工具_网络安全_Aini的博客-CSDN博客【网路安全 --- pikachu靶场安装】超详细的pikachu靶场安装教程提供靶场代码及工具https://blog.csdn.net/m0_67844671/article/details/133682360?spm1001.2014.3001.5502
二任意文件下载漏洞
以pikachu靶场为例进行演示
1-1 实例 发现点击名字就可以下载图片
看一下图片的网址 http://192.168.31.159/pikachu/vul/unsafedownload/execdownload.php?filenamekb.png
看到这样的网址我们上来的反应是sql注入点、xss攻击等手段现在还需要考虑有没有任意文件下载漏洞比如改一个文件名会怎样呢会不会下载这个文件名的文件呢先看一下文件所在目录 那么网址路径和物理路径的对应关系如下但是注意物理路径的最后一个download文件夹是没有在网址路径上体现出来的通过filename参数对应的文件名称后台代码肯定是去download文件夹里面找对应的文件了 我们再来看 ../../../index.php 从download文件夹开始往上层走找到了如下pikachu文件夹将里面的文件下载下来了。 我输入完网址一按回车就把index.php下载下来了 效果index.php被下载下来了这就叫做任意文件下载。这样的漏洞现在还有好多。
1-2 产生原因
我们看一看execdownload.php文件代码 写代码的时候代码规定一个绝对路径只能在某个文件夹里面下载文件这样就能防止这个漏洞但是很多程序员不知道这个问题导致了漏洞。另一个防御方法就是将 ../ 之类的符号屏蔽或者过滤掉。 很多网站还会出先如下的问题就是写很多很多层的 ../
比如下面这种如果是Linux系统部署的网站通过../不断往上走能查看/etc/passwd文件
http://192.168.0.15/pikachu/vul/unsafedownload/execdownload.phpfilename../../../../../../../../../../../../../../../etc/passwd
## 通过../../等切换目录也叫做目录穿越漏洞。
很明显这个层级是不存在的那么如果没有对路径进行处理的话很有可能默认就直接返回了系统根路径那么就拿到了根路径下面的etc下面的passwd文件。
1-3 利用思路
快速扫描下载漏洞的时候不管是工具还是手工我们怎么判断下载漏洞呢它有几个关键的形式
## 一般链接形式:download.php?pathdown.php?filedata.php?filedownload.php?filename## 或者包含参数:SrcInputfileFilepathPathData
当遇到一个任意文件下载时我们的一般利用思路:比如下载哪些文件呢 (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正则严格判断用户输入参数的格式 3php.ini配置open_basedir限定文件访问范围