Web安全—目录遍历漏洞&数据包分析
前言:本文主要记录目录遍历漏洞相关知识,后面会通过wireshark对涉及到目录遍历的一个数据包进行简单分析。
一:目录遍历漏洞
原理:功能设计中,需要将访问的文件设为变量,当前端发起一个请求时,便会将参数的值(文件名称)提交给后端处理,如果后端没有对输入的值进行严格的安全过滤,则攻击者则可以输入…/…/这样的手段访问系统上的其他文件,从而导致目录遍历。(其原理和文件包含,不安全的文件下载基本一致)
危害:导致系统敏感文件被读取,可结合其他漏洞对目标进行渗透和利用。
利用:使用Pikachu靶场对目录遍历漏洞
1,URL观察:查看需要访问的文件被设置为一个变量,猜测此处可能存在目录遍历,文件包含和不安全的文件下载
2,文件包含漏洞判断:通过已知文件结合…/字符进行判断,通常Web站点都存在默认文件(index.html,index.php,index.asp等)
漏洞判断:访问http://127.0.0.1/pikachu-master/install.php
网页显示正常,判断网站根目录存在install.php文件
漏洞判断:
访问http://127.0.0.1/pikachu-master/vul/dir/dir_list.php?title=../../../install.php
页面显示和上述相同,判断此处存在目录遍历漏洞
**3,漏洞验证:**在D盘根目录下创建一个名称为test.txt的文件,内容为:这是一个目录遍历漏洞验证,尝试访问此文件,文件读取成功
文件内容:
文件读取:此处只要输入超过目录数量的…/便可以进入到盘符的根目录下
二:操作系统常见敏感文件路径
linux操作系统:
1,/etc/passwd // 账户信息
2,/etc/shadow // 账户密码文件
3,/usr/local/app/apache2/conf/httpd.conf // Apache2默认配置文件
4,/usr/local/app/apache2/conf/extra/httpd-vhost.conf // 虚拟网站配置
5,/usr/local/app/php5/lib/php.ini // PHP相关配置
6,/etc/httpd/conf/httpd.conf // Apache配置文件
7,/etc/my.conf // mysql 配置文件
window操作系统:
1,c:\boot.ini // 查看系统版本
2,c:\windows\system32\inetsrv\MetaBase.xml // IIS配置文件
3,c:\windows\repair\sam // 存储Windows系统初次安装的密码
4,c:\ProgramFiles\mysql\my.ini // MySQL配置
5,c:\ProgramFiles\mysql\data\mysql\user.MYD // MySQL root密码
6,c:\windows\php.ini // php 配置信息
三:目录遍历数据包分析
1,打开数据包,追踪HTTP数据流,查看URL中包含…/字符,判断此数据包涉及目录遍历漏洞利用过程
同时根据响应数据包的状态码和响应正文判断已攻击成功
漏洞防范:
正确配置服务器,对目录做访问控制