tryhackme-Expose(暴露)

信息收集

使用nmap对靶机进行端口扫描

这里我在枚举21端口和1883端口并没有获得任何信息,接着访问1337端口进行信息收集

什么都没有,接着进行目录扫描

这里由于我的wordlists的问题,并没有扫描到想要的目录,不过也扫描到了一些常规的目录

通过参考wp,得到目录名为admin_101,其实在/admin目录有提示,但是由于我的wordlists问题,导致扫描不出结果
接着我们访问admin_101目录,和admin目录一样的登录页面,不过这次我们可以真正的登录了

根据题目的描述,这里很可能是sql注入漏洞,使用sqlmap爆破即可
这里有一个工具使用的细节,如果指定http://10.10.141.65:1337/admin_101/网址让sqlmap寻找注入点,可能寻找不到,可能需要添加--level参数和--risk参数,以及--forms参数可能查找到注入点,但是幸运的是,sqlmap工具支持识别http 请求头信息进行注入,所以这里我们使用burpsuite抓取数据包头,使用sqlmap进行sql注入爆破

接着使用sqlmap进行注入

sqlmap -r target.txt --batch --dbs --current-db
  • --dbs:获取所有数据库
  • --current-db: 获取数据库的版本
  • --batch: 让sqlmap自动化执行

一个重要的数据库expose,使用--dump获取该数据库的所有信息

sqlmap -r target.txt --batch -D expose --dump

得到网站的密码为VeryDifficultPassword!!#@#@!#!@#1231,登录查看

没什么有用的信息,但是上述expose数据库中还有另外一个表config,其中透漏了两个文件名/file1010111/index.php/upload-cv00101011/index.php

先访问/file1010111/index.php查看一下什么情况
需要密码输入破解出的密码easytohack


登录成功后提示让我们检查DOM树结构,右键检查查看

得到提示,使用Get方式进行file参数的传参,通过尝试为文件包含,可以包含/etc/passwd

/file1010111/index.php?file=/etc/passwd

文件包含可以读取一些文件,但是并不能反弹shell,这里我并没有尝试php://input或者data://一些伪协议,接着访问/upload-cv00101011/index.php,通过提示我们访问密码为Z开头的用户,也就是zeamkish

登录后是一个文件上传页面,但是不能点击upload按钮

初始访问权限

查看源代码是js前段验证,禁用js后将php-reverse-shell.php上传

上传成功后提示我们上传路径在源代码

接着访问/upload_thm_1001目录

此时我们已经找到了php文件位置,在本地监听nc -lvp 4444,然后访问php文件获得shell

上述中我们查看flag.txt文件失败,但是读取ssh_creds.txt文件获取zeamkish用户的密码为easytohack@123

使用ssh连接,获得flag.txt

权限提升

接着查找suid文件,发现很多可以提权的程序

使用find提权获得root shell,读取flag.txt

posted @ 2024-03-15 23:19  Junglezt  阅读(23)  评论(0编辑  收藏  举报