记一次自己菜鸟的模样

渗透中发现一个mongoDB的端口,尝试连上去后发现什么数据都读不到,诚惶诚恐,越往下越感觉和MysqlD Server伪造读取文件的现象接近,乃大恐;

战战兢兢 如履薄冰,无奈默默打开wireshark,重新连接一次数据库端口,记录之。

fake mysqlD

前置知识:《伪造mysql服务实现任意文件下载漏洞》

问题主要是出在LOAD DATA INFILE这个语法上,这个语法主要是用于读取一个文件的内容并且放到一个表中。

这两种用法的区别就是差了一个local,第一个 SQL 语句的意思是,读取服务器上/etc/passwd文件,并写入到TestTable中;第二个 SQL 语句的意思则是,读取本地(客户端)这边的/etc/passwd文件,并写入到TestTable中

样例写法可以是:

load data infile "/etc/passwd" into table TestTable;
load data local infile "/etc/passwd" into table TestTable;

一切看上去很正常

连接上去后并没有发现有什么特殊的地方,表达式也能执行:

test> 0x10+0x10
[2022-03-29 09:46:34] 1 row retrieved starting from 1 in 578 ms (execution: 546 ms, fetching: 32 ms)
[2022-03-29 09:47:45] Connected
test> use test
[2022-03-29 09:47:46] completed in 266 ms
test> 0x10+0x10

大惑:咦?难道现在fake server的脚本这么厉害了?都能够有交互了?高交互式蜜罐?

mongodb-traffic-log

2022-04-05-12.21.28.png

直到看了上面这个报文,找遍了整个包没有发现”不可告人的秘密”,才放下半颗心;

各位看着一笑就好,被自己菜哭了。