Merge pull request #174 from dwisiswant0/development

Adding Spring Boot Actuators (Jolokia) XXE
patch-1
bauthard 2020-07-02 23:07:34 +05:30 committed by GitHub
commit 991376c439
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 85 additions and 19 deletions

View File

@ -2,38 +2,74 @@ id: springboot-actuators
info: info:
name: Detect the exposure of Springboot Actuators name: Detect the exposure of Springboot Actuators
author: that_juan_ author: that_juan_ & dwisiswant0
severity: medium severity: medium
requests: requests:
- method: GET - method: GET
path: path:
- "{{BaseURL}}/trace"
- "{{BaseURL}}/loggers"
- "{{BaseURL}}/autoconfig"
- "{{BaseURL}}/threaddump"
- "{{BaseURL}}/env"
- "{{BaseURL}}/management"
- "{{BaseURL}}/dump"
- "{{BaseURL}}/configprops"
- "{{BaseURL}}/mappings"
- "{{BaseURL}}/auditevents"
- "{{BaseURL}}/beans"
- "{{BaseURL}}/cloudfoundryapplication"
- "{{BaseURL}}//jolokia"
- "{{BaseURL}}/actuator" - "{{BaseURL}}/actuator"
- "{{BaseURL}}/actuator/auditevents" - "{{BaseURL}}/actuator/auditevents"
- "{{BaseURL}}/actuator/auditLog"
- "{{BaseURL}}/actuator/beans" - "{{BaseURL}}/actuator/beans"
- "{{BaseURL}}/actuator/health" - "{{BaseURL}}/actuator/caches"
- "{{BaseURL}}/actuator/conditions" - "{{BaseURL}}/actuator/conditions"
- "{{BaseURL}}/actuator/configprops" - "{{BaseURL}}/actuator/configprops"
- "{{BaseURL}}/actuator/env" - "{{BaseURL}}/actuator/configurationMetadata"
- "{{BaseURL}}/actuator/dump" - "{{BaseURL}}/actuator/dump"
- "{{BaseURL}}/actuator/threaddump" - "{{BaseURL}}/actuator/env"
- "{{BaseURL}}/actuator/events"
- "{{BaseURL}}/actuator/exportRegisteredServices"
- "{{BaseURL}}/actuator/features"
- "{{BaseURL}}/actuator/flyway" - "{{BaseURL}}/actuator/flyway"
- "{{BaseURL}}/actuator/health"
- "{{BaseURL}}/actuator/healthcheck"
- "{{BaseURL}}/actuator/heapdump"
- "{{BaseURL}}/actuator/httptrace"
- "{{BaseURL}}/actuator/hystrix.stream"
- "{{BaseURL}}/actuator/info"
- "{{BaseURL}}/actuator/integrationgraph" - "{{BaseURL}}/actuator/integrationgraph"
- "{{BaseURL}}//actuator/management" - "{{BaseURL}}/actuator/jolokia"
- "{{BaseURL}}//actuator/jolokia" - "{{BaseURL}}/actuator/liquibase"
- "{{BaseURL}}/actuator/logfile"
- "{{BaseURL}}/actuator/loggers"
- "{{BaseURL}}/actuator/loggingConfig"
- "{{BaseURL}}/actuator/management"
- "{{BaseURL}}/actuator/mappings"
- "{{BaseURL}}/actuator/metrics"
- "{{BaseURL}}/actuator/refresh"
- "{{BaseURL}}/actuator/registeredServices"
- "{{BaseURL}}/actuator/releaseAttributes"
- "{{BaseURL}}/actuator/resolveAttributes"
- "{{BaseURL}}/actuator/scheduledtasks"
- "{{BaseURL}}/actuator/sessions"
- "{{BaseURL}}/actuator/shutdown"
- "{{BaseURL}}/actuator/springWebflow"
- "{{BaseURL}}/actuator/sso"
- "{{BaseURL}}/actuator/ssoSessions"
- "{{BaseURL}}/actuator/statistics"
- "{{BaseURL}}/actuator/status"
- "{{BaseURL}}/actuator/threaddump"
- "{{BaseURL}}/actuator/trace"
- "{{BaseURL}}/auditevents"
- "{{BaseURL}}/autoconfig"
- "{{BaseURL}}/beans"
- "{{BaseURL}}/cloudfoundryapplication"
- "{{BaseURL}}/configprops"
- "{{BaseURL}}/dump"
- "{{BaseURL}}/env"
- "{{BaseURL}}/health"
- "{{BaseURL}}/heapdump"
- "{{BaseURL}}/hystrix.stream"
- "{{BaseURL}}/info"
- "{{BaseURL}}/jolokia"
- "{{BaseURL}}/jolokia/list"
- "{{BaseURL}}/loggers"
- "{{BaseURL}}/management"
- "{{BaseURL}}/mappings"
- "{{BaseURL}}/metrics"
- "{{BaseURL}}/threaddump"
- "{{BaseURL}}/trace"
matchers: matchers:
- type: regex - type: regex
part: body part: body
@ -44,6 +80,8 @@ requests:
- "system" - "system"
- "database" - "database"
- "cron" - "cron"
- "reloadByURL"
- "JMXConfigurator"
condition: or condition: or
- type: status - type: status
status: status:

View File

@ -0,0 +1,28 @@
id: springboot-actuators-jolokia-xxe
info:
name: Spring Boot Actuators (Jolokia) XXE
author: dwisiswant0
severity: high
requests:
- method: GET
path:
- "{{BaseURL}}:8090/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/nonexistent:31337!/logback.xml"
- "{{BaseURL}}/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/nonexistent:31337!/logback.xml"
matchers-condition: and
matchers:
- type: status
status:
- 200
- type: word
words:
- "http:\\/\\/nonexistent:31337\\/logback.xml"
- "reloadByURL"
- "JoranException"
condition: and
part: body
- type: word
words:
- "X-Application-Context"
part: header