
XML Signature Wrapping Burp Suite 확장 기능
XSW Burp Suite 확장은 SAML 엔드포인트에서 서명 래핑 취약점을 자동으로 탐색하는 프로세스를 자동화합니다.
이 확장은 다음을 포함한 여러 클래스의 서명 래핑 취약점을 탐색합니다:
이 확장은 SAMLRaider 확장에서 영감을 받았으며, 다음 연구 논문에서 소개된 기법을 기반으로 합니다: The Fragile Lock: Novel Bypasses for SAML Authentication by Zak Fedotkin
다음 gitlab-ee:17.8.4 docker-compose 프로젝트는 데모 목적으로만 문제를 재현하는 데 사용할 수 있습니다. 다음을 자신의 IdP 값으로 교체하세요:
idp_cert_fingerprint: "<idp_cert_fingerprint>"idp_sso_target_url: "<idp_sso_target_url>"version: '3.6'
services:
gitlab:
image: gitlab/gitlab-ee:17.8.4-ee.0
container_name: gitlab
restart: always
hostname: 'gitlab.lab.local'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.lab.local'
nginx['listen_port'] = 443
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/ssl/certs/gitlab/server-cert.pem"
nginx['ssl_certificate_key'] = "/etc/ssl/certs/gitlab/server-key.pem"
nginx['ssl_protocols'] = "TLSv1.1 TLSv1.2"
nginx['logrotate_frequency'] = "weekly"
nginx['logrotate_rotate'] = 52
nginx['logrotate_compress'] = "compress"
nginx['logrotate_method'] = "copytruncate"
nginx['logrotate_delaycompress'] = "delaycompress"
gitlab_rails['gitlab_shell_ssh_port'] = 2424
gitlab_rails['omniauth_allow_single_sign_on'] = ['saml']
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_auto_link_saml_user'] = true
gitlab_rails['omniauth_providers'] = [
{
name: "saml",
label: "Okta login",
args: {
assertion_consumer_service_url: "https://gitlab.lab.local/users/auth/saml/callback",
idp_cert_fingerprint: "<idp_cert_fingerprint>",
idp_sso_target_url: "<idp_sso_target_url>",
issuer: "https://gitlab.lab.local",
name_identifier_format: "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
}
}
]
ports:
- '80:80'
- '443:443'
- '2424:22'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
- './volume_data/ssl:/etc/ssl/certs/gitlab'
shm_size: '256m'