关于客户不足并在1分钟内在网站上发现漏洞的简短故事。
我没想到这个特定的故事会成为我在哈布雷的第一篇文章。我在热的时候在写东西!您所读的内容并非呼吁采取行动或试图“折衷”任何人。2020年4月5日。我在Linkedin上看到一条消息:“下午好。我们正在寻找开发人员在yii2上完成该项目。电话:+ 79 ... whatsapp”发表于whatsapp:“美好的一天。我来自Linkedin,发送TK,如果有的话。”作为回应,他收到了一条巨大的信息,其中包含指向该网站的链接,trello中的一个董事会和一个小的传统知识。
研究了特洛洛。根据董事会的说法,至少有4位开发人员参与了该项目。2020年4月6日,我认为由于隔离,人们开始变得疯狂。这是我醒来时在whatsapp中看到的内容:
一切似乎一无所有,阅读并忘记了。但是里面的某些东西并没有使人休息,有一种不完整的感觉,我真的想摆脱它。除了进入“罪犯”的项目并摆脱内部的不愉快感觉,别无所求:D.倒计时已经开始。00:00我打开了网站。我看到了搜索表单和尝试检查SQL注入我以前就知道:' UNION SELECT
1,group_concat(username,0x7c,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
fRom user
不出所料-它不起作用,但是值得一试。00:20该网站可以通过两种方式进行注册:作为用户和作为公司。根据trello中的屏幕截图,我决定注册并使用该公司的个人帐户。填写前面允许行的字段SELECT * FROM users;
只是为了增强开发人员查看数据库时的“在场效果”。00:40成功注册后,我们将被重定向到公司资料页。打开菜单项``加载文档''(非常方便,不是吗:D)并尝试加载php文件。
首先,我下载了adminer.php。该文件已成功上传,开发人员为我精心准备了重定向到页面的链接,并带有文件链接。
它通过链接打开:/upload/certified/15861775921.php
并正常工作。那是结局的开始!1:00接下来,通过相同的表单加载最简单的php-web-shell。首先,您需要了解我们是谁以及我们在哪里:pwd && whoami
让我们看看站点目录文件列表:ls /var/www/admin/data/www/_/
我们看到了我们期望的Yii2框架的标准结构。我们可以访问数据库,该数据库可以输入到先前加载的adminer.php中:cat /var/www/admin/data/www/_/config/db.php
实际上,令我惊讶的是,这种漏洞仍然存在。甚至更多,因为可以如此轻松,快速地找到它们。顺便说一下,这是阿联酋一家公司的项目,该公司为石油,天然气和钻井行业提供钻井和工业产品。在上一条消息之后,我被添加到whatsapp的黑名单中,我无法谈论此漏洞,因此我将复活节彩蛋留在服务器上供开发人员使用。不要忘记在服务器端进行文件类型检查,并且通常要更加注意代码的安全性!