网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

漏洞公告团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > 漏洞公告 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

CVE-2019-20099跨站点请求伪造漏洞(CSRF)发现过程:Jira,连接到任何内部主机,执行内部主机和端口的扫描和检测

文章来源:重庆网络安全 发布时间:2020-03-15 14:19:59 围观次数:
分享到:

摘要:Jira v8 4 1具有跨站点请求伪造漏洞(CSRF)-CVE-2019-20099,允许目标Jira服务连接到任何内部主机。受此漏洞影响的Atlassian Jira在Jira Server和Data Center之间的范围是8 7 0到8 2 4。

 Jira v8.4.1具有跨站点请求伪造漏洞(CSRF)-CVE-2019-20099,允许目标Jira服务连接到任何内部主机。受此漏洞影响的Atlassian Jira在Jira Server和Data Center之间的范围是8.7.0到8.2 .4。以下是发现CVE-2019-20099漏洞的过程。


Jira部署的反CSRF策略


  跨站点请求伪造(CSRF)攻击可以通过在未经他人授权的情况下模拟他人来发起。为了防止此类攻击,Jira在客户端的HttpOnly Cookie中部署了CSRF令牌。因此,对于执行状态更改的操作请求,Jira服务器将检查其中的令牌是否与CSRF cookie和CSRF参数中的令牌匹配。这使得攻击者很难重用cookie来发起CSRF攻击。另外,Ree

rer header头信息可以验证与Jira服务器的域名和端口的一致性,从而防止同源策略绕过该操作。


  下图是向Jira服务器发出的POST请求示例,即从该请求中发现了漏洞。CSRF cookie和CSRF参数分别是Atlas

sian.xsrf.token和atl_token,并且还包含与Jira服务器IP和端口匹配的Referer header头信息。经过多次测试发现Jira服务器并不总是检查这些验证信息的值。

blob.png

漏洞问题


  在这里,我们以Intranet中的Jira体系结构邮件服务为例进行测试。在Jira中部署POP3邮件服务时,要求管理员提交完整的邮件服务配置信息,例如服务器名称,主机地址,端口号,用户凭据等。底部有两个按钮,一个是新邮件服务请求,另一个是测试当前建立的邮件服务器的连接性。请注意,由于这是Intranet,因此邮件服务器的主机地址是Intranet地址。

blob.png

 邮件服务器连接测试操作将允许Jira服务器连接到给定的POP3邮件服务器地址。此过程将涉及密码交换过程。在测试测试请求时发现没有执行Refererheader头信息和CSRF参数验证,因此,如果要对请求实施CSRF攻击,唯一需要做的就是重用当前登录的Jira System 管理员cookie。


  为了测试该请求,特意设置了一个Intranet POP3邮件服务器以接收来自Jira服务器的身份验证连接,并且还设置了一个Intranet Web服务器来承载与CSRF脚本相关的网页。目的是在单击恶意链接后模拟Jira系统管理员,会话cookie被重用,请求Jira服务器针对设置的邮件服务器启动连接测试。以下是CSRF脚本,该脚本触发Jira服务器启动测试邮件服务器连接请求:

blob.png

 以下是在运行CSRF脚本之后执行的计划邮件服务器172.16.68.229的连接测试的Wireshark数据包图:

blob.png

 这样,当受害者172.16.68.1向Jira服务器172.16.68.248发送POST请求时,将启动针对预设邮件服务器172.16

.68.229:110的连接测试。这是密码凭据交换验证过程。如果密码凭据验证失败,则连接终止。但是,使用此脚本,可以让Jira服务器连接到我设置的主机和端口。


  POP3邮件服务器的连接验证请求需要在POST请求的参数中设置用户名和密码信息。当请求实现成功的握时,这些参数将被发送到指定的主机和端口。这也为攻击者提供了一种机制。您可以通过此通道将消息或命令发送到邮件服务器主机,以实现主机监视。

使用漏洞执行Intranet主机发现


  XMLHttpRequest对象具有readyState属性,该属性与onreadystatechange事件一起使用。readyState属性包含0到4之间的不同状态表示值,如下所示:

blob.png

 每当readyState属性值更改时,都会调用onreadystatechange事件进行处理。为此,在上面的脚本中向XMLHt

tpRequest的state属性更改添加了一个alert方法,以便每次状态更改时都可以提醒。目的是观察请求连接到不同主机和端口号时状态变化的差异。在上面的脚本中添加了以下state状态转换跟踪代码:

blob.png

  当Jira服务器尝试连接到内部网络上不存在的IP地址时,其XMLHttpRequest请求的state属性将从1更改为4,并调用onreadystatechange事件。仅当连接终止时,原始POST请求才会获得相应的响应,此过程将花费大约3秒钟(大约3000毫秒)来完成。


PoC


  最后为Jira服务器编写PoC脚本,以使用CSRF操作执行Intranet主机检测,以测试邮件服务器的连接性。当然,将邮件服务器地址设置为Intranet IP地址并请求端口110。运行PoC脚本后,发现花费3000毫秒以上的主机IP是不存在的Intranet IP地址,并且只有一个 现有IP是少量耗时的IP,如下所示:

blob.png

 为了验证上述发现,再次使用nmap进行了扫描,发现结果是相同的:

blob.png

 在下面的图片中,使用Wireshark捕获了数据包,可以发现PoC脚本将让Jira服务器连接到指定的IP主机端口,并且它还可以在用于凭据交换并将其发送到指定的IP主机以进行连接。

blob.png

blob.png

 这是Jira服务器与邮件服务器的连接中的CSRF漏洞。可以用它来执行Intranet主机和端口的扫描和检测。可用的方案是为Jira管理员构建一个恶意链接单击执行,并对其Intranet上的主机端口实施枚举检测。

本文由 重庆网络安全 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:CVE-2019-20099 跨站点请求伪造漏洞 CSRF Jira 连接内部主机 内部主机和端口扫描检测 重庆网络安全公司

上一篇:gMSA的NTLM到LDAP和LDAPS中继攻击:启用LDAP签名和LDAP通道绑定,不为多余账户提供服务帐户权限或特殊权限
下一篇:CVE-2020-9373栈溢出漏洞分析:存在Netgear R6400 固件版本upnpd中,向udp 1900端口发送构造的ssdp数据包,可导致DOS或RCE。

热门资讯

鼠标向下滚动