Sto eseguendo test di penetrazione su un sito. La maggior parte della richiesta viene eseguita per posta in background. Quando ho intercettato una richiesta utilizzando l'intestazione HTTP Live e l'ho riprodotta utilizzando gli stessi parametri della richiesta originale dopo che l'errore era stato generato (tuttavia la richiesta originale era andata a buon fine):
Database Error
Errore: SQLSTATE [23000]: Violazione del vincolo di integrità: 1048 La colonna 's_id' non può essere null
Query SQL: INSERT INTO a2
. user_s_likes
( s_id
, user_id
, status
, added_on
) VALUES (NULL, 924300, NULL, '2016-09-01 13:28: 29' )
Avviso: se si desidera personalizzare questo messaggio di errore, creare app / Visualizza / Errori / pdo_error.ctp Stack Trace
CORE/Cake/Model/Datasource/DboSource.php line 460 → PDOStatement->execute(array)
CORE/Cake/Model/Datasource/DboSource.php line 426 → DboSource->_execute(string, array)
CORE/Cake/Model/Datasource/DboSource.php line 1004 → DboSource->execute(string)
CORE/Cake/Model/Model.php line 1827 → DboSource->create(UserSLike, array, array)
APP/Controller/SController.php line 1584 → Model->save(array)
[internal function] → SController->sActivity()
CORE/Cake/Controller/Controller.php line 490 → ReflectionMethod->invokeArgs(SController, array)
CORE/Cake/Routing/Dispatcher.php line 187 → Controller->invokeAction(CakeRequest)
CORE/Cake/Routing/Dispatcher.php line 162 → Dispatcher->_invoke(SController, CakeRequest, CakeResponse)
APP/webroot/index.php line 116 → Dispatcher->dispatch(CakeRequest, CakeResponse)
La seguente richiesta è stata effettuata con l'intestazione LiveHTTP
Host: www.xyz.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Referer: https://www.xyz.com/Dashboard/
Content-Length: 24
Cookie: live_cookie[support_chat_me]=35dbce45627dcff25cc9c2176e0d2085a; CAKEPHP=96abc64p54s524dgrj6injsfx5; __tawkuuid=e::xyz.com::C8WeiSHNj53hAYU545QNvyDPV+tNvx0+usD3q564jk2EenfhtToWQj0BER7V7cqG::2; Tawk_56497b21458b0ebc5e6d22b6=vs17.tawk.to:443::0; __auc=943798cd156cf1c4684725d7a45; PHPSESSID=kjk7fsap9kk25ib182euqfqk71; AWSELB=213575250CC01012FFAB662292465465sldfjJDHFN8A45F10D97D09300BDA1AF5D7A0DA8E6C1C41D40BC34DD2C2E0SDnskjdh Dlkf5FD6A5E;
s_id=12536&status=1
Il s_id e la variabile di stato sono stati inviati attraverso la richiesta post, tuttavia il server sta rispondendo con un errore del database come se fosse stata inviata una variabile nulla. Ciò accade solo quando vengono inviate singole richieste tramite intestazione LiveHTTP o Burp. Questo database è vulnerabile a qualche tipo di iniezione SQL basata su errori?