【TryHackMe】继续尝试挑战 Cyber3 (2021) 第7天
欢迎来到2021年的“网络安全之旅”。
在圣诞节之前的25天里,每天学习基础知识,并进行适用于初学者的新安全演练,可以开始学习网络安全。
第七天
今回は、NoSQLに関してです。
NoSQL是什么
由于NoSQL数据库具有快速查询、开发人员易用性、简单扩展和灵活的数据结构等强大功能,因此近年来常被用于大数据和物联网设备。NoSQL数据库有许多不同类型的选择,比如MongoDB、Couchbase和RavenDB等。然而,在这个任务中,我们将重点介绍MongoDB数据库,这是一种免费且受欢迎的文档存储型NoSQL数据库。与关系型数据库(如MySQL和MSSQL)类似,MongoDB也由数据库、集合和字段组成,只是名称稍有不同。
-
- Collections : MySQLやMSSQLのテーブルやビューに似ています。
-
- Documents : MySQLやMSSQLの行やレコードに似ています。
- Fields : MySQLやMSSQLのカラムに似ています。
连接到目标主机的ssh。thm:尝试黑客。
┌──(kali㉿kali)-[~]
└─$ ssh thm@10.10.158.73 -p 2222
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-1059-aws x86_64)
...(略)
thm@mongo-server:~$
连接到Mongo数据库。
thm@mongo-server:~$ mongo
MongoDB shell version v5.0.3
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c98de9c0-c849-46ce-873a-d03a7e1685f8") }
MongoDB server version: 5.0.3
================
...(略)
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
使用show databases命令,展示所有的数据库。
> show databases
admin 0.000GB
config 0.000GB
flagdb 0.000GB
local 0.000GB
flagdb有点可疑.. 如果要连接到数据库,请使用use指令。
找到了名为flagColl的集合。
> use flagdb
switched to db flagdb
> show collections
flagColl
在这里访问。找到了旗帜。
> db.flagColl.find()
{ "_id" : ObjectId("618806af0afbc09bdf42bd6a"), "flag" : "THM{8814a5e6662a9763f7df23ee59d944f9}" }
![image.png](https://cdn.silicloud.com/blog-img/blog/img/657d058237434c4406bd95d4/18-0.png)
$eq - 特定の値に等しいレコードにマッチします。
$ne - 特定の値に一致しないレコードにマッチします。
$gt - 特定の値よりも大きいレコードにマッチします。
$where - Javascriptの条件に基づいてレコードにマッチします
$exists - 特定のフィールドを持つレコードにマッチします。
$regex - 特定の正規表現を満たすレコードにマッチします。
以下是一个使用示例:
例1)以username=admin进行搜索,并显示所有角色。
http://example.thm.labs/search?username=admin&role[$ne]=user
例2)以所有username进行搜索,并显示角色为user。
http://example.thm.labs/search?username[$ne]=admin&role=user
好,我們將使用這些知識在Burp中嘗試進行管理員登錄。
http://10.10.158.73/login
由于找不到用户名为admin的密码,所以使用$ne。
![image.png](https://cdn.silicloud.com/blog-img/blog/img/657d058237434c4406bd95d4/23-4.png)
回答
与MongoDB服务器互动,找到标志是什么?
THM{8814a5e6662a9763f7df23ee59d944f9}
我们讨论了如何绕过登录页面作为管理员。你能作为管理员登录Grinch Enterprise控制的应用程序并获取标志吗?使用AoC3 day 4中提供的知识来设置和运行Burp Suite代理,以拦截登录页面的HTTP请求。然后修改POST参数。
THM{b6b304f5d5834a4d089b570840b467a8}
一旦你登录成功,使用礼品搜索页面列出所有拥有访客角色的用户名。标志是什么?
THM{2ec099f2d602cc4968c5267970be1326}
使用礼品搜索页面执行NoSQL注入并获取mcskidy记录。详细记录是什么?
ID:6184f516ef6da50433f100f4:mcskidy:admin