hacktricks/network-services-pentesting/pentesting-web/jira.md

8.4 KiB
Raw Permalink Blame History

Jira & Confluence

{% hint style="success" %} AWS Hacking öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin
{% endhint %}

Hacking kariyerine ilgi duyuyorsanız ve hacklenemez olanı hack etmek istiyorsanız - işe alıyoruz! (akıcı Lehçe yazılı ve sözlü gereklidir).

{% embed url="https://www.stmcyber.com/careers" %}

Yetkileri Kontrol Et

Jira'da, yetkiler herhangi bir kullanıcı tarafından, kimlik doğrulaması yapılmış veya yapılmamış, /rest/api/2/mypermissions veya /rest/api/3/mypermissions uç noktaları aracılığıyla kontrol edilebilir. Bu uç noktalar kullanıcının mevcut yetkilerini ortaya koyar. Kimlik doğrulaması yapılmamış kullanıcıların yetkilere sahip olması önemli bir endişe yaratır ve bu, potansiyel olarak bir güvenlik açığı anlamına gelir. Benzer şekilde, kimlik doğrulaması yapılmış kullanıcılar için beklenmedik yetkiler de bir ığı vurgular.

1 Şubat 2019'da önemli bir güncelleme yapıldı ve 'mypermissions' uç noktasının bir 'permission' parametresi içermesi gerektiği belirtildi. Bu gereklilik, sorgulanan yetkilerin belirtilmesiyle güvenliği artırmayı amaçlamaktadır: buradan kontrol edin

  • ADD_COMMENTS
  • ADMINISTER
  • ADMINISTER_PROJECTS
  • ASSIGNABLE_USER
  • ASSIGN_ISSUES
  • BROWSE_PROJECTS
  • BULK_CHANGE
  • CLOSE_ISSUES
  • CREATE_ATTACHMENTS
  • CREATE_ISSUES
  • CREATE_PROJECT
  • CREATE_SHARED_OBJECTS
  • DELETE_ALL_ATTACHMENTS
  • DELETE_ALL_COMMENTS
  • DELETE_ALL_WORKLOGS
  • DELETE_ISSUES
  • DELETE_OWN_ATTACHMENTS
  • DELETE_OWN_COMMENTS
  • DELETE_OWN_WORKLOGS
  • EDIT_ALL_COMMENTS
  • EDIT_ALL_WORKLOGS
  • EDIT_ISSUES
  • EDIT_OWN_COMMENTS
  • EDIT_OWN_WORKLOGS
  • LINK_ISSUES
  • MANAGE_GROUP_FILTER_SUBSCRIPTIONS
  • MANAGE_SPRINTS_PERMISSION
  • MANAGE_WATCHERS
  • MODIFY_REPORTER
  • MOVE_ISSUES
  • RESOLVE_ISSUES
  • SCHEDULE_ISSUES
  • SET_ISSUE_SECURITY
  • SYSTEM_ADMIN
  • TRANSITION_ISSUES
  • USER_PICKER
  • VIEW_AGGREGATED_DATA
  • VIEW_DEV_TOOLS
  • VIEW_READONLY_WORKFLOW
  • VIEW_VOTERS_AND_WATCHERS
  • WORK_ON_ISSUES

Örnek: https://your-domain.atlassian.net/rest/api/2/mypermissions?permissions=BROWSE_PROJECTS,CREATE_ISSUES,ADMINISTER_PROJECTS

#Check non-authenticated privileges
curl https://jira.some.example.com/rest/api/2/mypermissions | jq | grep -iB6 '"havePermission": true'

Otomatik numaralandırma

Atlasian Eklentileri

Bu blogda belirtildiği gibi, Eklenti modülleri ↗ hakkında belgelerde, aşağıdaki gibi farklı eklenti türlerini kontrol etmek mümkündür:

Bu, makro eklenti türüne bir örnektir:

package com.atlassian.tutorial.macro;

import com.atlassian.confluence.content.render.xhtml.ConversionContext;
import com.atlassian.confluence.macro.Macro;
import com.atlassian.confluence.macro.MacroExecutionException;

import java.util.Map;

public class helloworld implements Macro {

public String execute(Map<String, String> map, String body, ConversionContext conversionContext) throws MacroExecutionException {
if (map.get("Name") != null) {
return ("<h1>Hello " + map.get("Name") + "!</h1>");
} else {
return "<h1>Hello World!<h1>";
}
}

public BodyType getBodyType() { return BodyType.NONE; }

public OutputType getOutputType() { return OutputType.BLOCK; }
}

Bu eklentilerin, XSS gibi yaygın web güvenlik açıklarına karşı savunmasız olabileceği gözlemlenebilir. Örneğin, önceki örnek, kullanıcının verdiği verileri yansıttığı için savunmasızdır.

Bir XSS bulunduğunda, bu github repo XSS'nin etkisini artırmak için bazı payload'lar bulabilirsiniz.

Arka Kapı Eklentisi

Bu yazı, kötü niyetli bir Jira eklentisinin gerçekleştirebileceği farklı (kötü niyetli) eylemleri tanımlamaktadır. Bu repoda kod örneği bulabilirsiniz.

Kötü niyetli bir eklentinin gerçekleştirebileceği bazı eylemler şunlardır:

  • Yönetimcilerden Eklentileri Gizleme: Kötü niyetli eklentiyi bazı ön uç javascript'i enjekte ederek gizlemek mümkündür.
  • Ekleri ve Sayfaları Sızdırma: Tüm verilere erişim sağlamak ve sızdırmak.
  • Oturum Token'larını Çalma: Yanıt içinde başlıkları (çerezle birlikte) yansıtan bir uç nokta eklemek ve bunu iletişim kuracak bazı javascript ile çerezleri sızdırmak.
  • Komut Çalıştırma: Elbette, kod çalıştıracak bir eklenti oluşturmak mümkündür.
  • Ters Shell: Ya da ters bir shell almak.
  • DOM Proxying: Eğer confluence özel bir ağ içindeyse, buna erişimi olan bir kullanıcının tarayıcısı aracılığıyla bir bağlantı kurmak ve örneğin sunucu komutunu çalıştırmak mümkündür.

Hacking kariyerine ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - işe alıyoruz! (akıcı Lehçe yazılı ve sözlü gereklidir).

{% embed url="https://www.stmcyber.com/careers" %}

{% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin
{% endhint %}