TEST--
Test1:
Test2:
Test3:
Test4:
Test5:
Test6:
Test7:
Test8:
flag=>xxxxxxxxxxxxxxx
扫描端口
题目给定ip为10.129.228.30,直接nmap:
nmap -Pn -sC -sV -vvv 10.129.228.30
这里只扫描出来了ssh(22端口),后来看到TEST1的时候发现不对,那应该是在不常用的端口里还有开放的端口,直接扫描所有
nmap -Pn -sC -sV -vvv -p- 10.129.228.30
这里可以选择在扫描出来第二端口的时候试着提交TEST1发现就是只开放了2个TCP端口,有时候为了节省时间可以,直接停止扫描,把-p- 改成-p {已经扫描出来的端口}
nmap -Pn -sC -sV -vvv -p 22,27017 10.129.228.30 //22,27017是已经确定开放的端口
这里为了节省空间我就只截出-sC的结果,而且因为靶机被关闭了,这里显示filtered,不过不影响
访问IP
直接访问http://10.129.228.30:27017/
得到了这个结果
当然意思很简单,就是这是一个mongoDB数据库,而此时我们用HTTP无法访问它
获取flag
在连接数据库前,我们需要安装Mongodb
apt-get install mongodb-clients
安装完毕后,直接连接目标数据库
mongo --host 10.129.228.30:27017
发现可以直接连接,而且并没有身份验证或者权限限制,我们好像可以直接获取数据库内容
show dbs //列出所有数据库
use {数据库名} //进入目标数据库
show collections //列出此数据库里的所有集合
db.{集合名称}.find() //查看此集合内容
利用这几条简单的命令就可以获取到最后的flag啦
建议自己试一试, ps:我找到最后才找到。。。。。。
总结
这就是一道简单的关于MongoDB的靶机,简单熟悉一下相关语法即可。