目录遍历
目录遍历(又称为路径遍历攻击、目录爬升或者回溯),旨在访问存储在web根目录文件夹之外的文件和目录,通过操纵带有“点-点-斜线”序列及变化的文件或使用绝对文件路径来引用文件的变量,可以访问存储在文件系统上的任意文件和目录,包括应用程序源代码、配置文件和系统关键文件。但是系统访问控制限制了对于某些文件的权限。
利用目录遍历漏洞getshell的思路
上传webshell到服务器上面,通过对应的目录遍历漏洞访问webshell,执行webshell,在攻击者的机器上面获取并反弹shell。
实验环境
攻击者:Kali Linux(192.168.0.19)
靶机:Oracle VM VirtualBox 6.1.10——Ubuntu(64-bit)(192.168.0.20)
实验流程:
- 端口扫描、信息探测
命令:nmap -sV IP地址 //探测靶机开放端口、运行服务以及对应版本
- 目录扫描
结果分析:http://ip/dbadmin疑似数据库管理页面
访问http://192.168.0.20/dbadmin
SQLite数据库后台管理登录页面,可能存在弱口令登录或者暴力破解等问题。
- 弱口令:admin/admin
- 漏洞扫描
工具:owasp-zap
存在目录遍历漏洞
- 访问给定的URL触发目录遍历漏洞,查看/etc/passwd。
- 探测应用程序中存在的其他漏洞
扫描结果分析:没有漏洞利用工具,但是有一个漏洞利用文档可以查看。其中包含了漏洞利用方式。
- 漏洞利用
根据文件内容提示,getshell的基本流程如下:
a) 创建一个数据库并且命名为hack.php,也可以将现有表的名称修改为hack.php
数据库文件被保存在/usr/datebase目录下面
b) 在新建的数据库中添加一个数据表,并且插入一个具有默认值的文本字段,设置默认值为<?php phpinfo(); ?>,使用上述代码检测PHP代码能够正常执行
创建数据表
创建字段
创建成功
插入字段值
插入成功
c) 尝试运行hack.php
测试成功,利用该漏洞写入一句话木马或者结合web服务下载大马getshell。我们采用第二种方式。 - 上传webshell
将kali中的webshel文件放在web网站主目录下面
修改反射shell的主机和端口
利用web服务下载大马并且执行
监听端口
访问数据库文件反弹shell