#################################################
BookNux 0.2 <= Multiple Vulnerabilities
#################################################
Discovered by: Jean Pascal Pereira <pereira@secbiz.de>
Vendor information:
"This is an online bookmark manager. It's allow several user, share bookmark (private or public). It's use php and mysql."
Vendor URI: http://developer.berlios.de/projects/booknux/
#################################################
Issues: SQL Injection, Cross Site Scripting
Risk-level: High
-------------------------------------
1. SQL Injection:
cat.php, line 70:
$lnsql="SELECT NCategorie, LibCategorie, PriveCategorie, NCategorieMereCategorieX FROM categorie WHERE IdUtilisateurCategorieX='$idutilisateur' AND NCategorie=".$_GET['CatMere'];
cat.php, line 75:
$lnsql="SELECT NCategorie,LibCategorie,NCategorieMereCategorieX, PriveCategorie FROM categorie WHERE IdUtilisateurCategorieX='$idutilisateur' AND NCategorieMereCategorieX=".$_GET['CatMere']." ORDER BY LibCategorie";
cat.php, line 92:
$lnsql="SELECT LibCategorie, NCategorieMereCategorieX, PriveCategorie FROM categorie WHERE IdUtilisateurCategorieX='$idutilisateur' AND NCategorie=".$_GET['NCat'];
cat.php, line 117:
$lnsql="SELECT NCategorie, LibCategorie FROM categorie WHERE IdUtilisateurCategorieX='$idutilisateur' AND NCategorie<>".$_GET['NCat'];
compte.php, line 152:
$lnsql="SELECT PseudoUtilisateur, MotDePasseUtilisateur, IdUtilisateur FROM utilisateur WHERE IdUtilisateur='".$_GET['Compte']."'";
liens.php, line 108:
$lnsql="SELECT NLiens,LibLiens, UrlLiens, IdCategorieLiensX, CommentaireLiens, PriveLiens, LibCategorie, LangueLiens FROM liens, categorie WHERE IdCategorieLiensX=NCategorie AND NLiens=".$_GET['NLiens'];
liens.php, line 110:
$lnsql="SELECT NLiens,LibLiens, UrlLiens, IdCategorieLiensX, CommentaireLiens, PriveLiens, LibCategorie, LangueLiens FROM liens, categorie WHERE IdCategorieLiensX=NCategorie AND NLiens=".$_GET['NLiens']." AND IdUtilisateurLiensX='$utilisateurcourant'";
ouvrir.php, line 23:
$lnsql="SELECT NLiens, UrlLiens FROM liens WHERE NLiens=".$_GET['NLiens']." AND IdUtilisateurLiensX='$utilisateurcourant'";
ouvrir.php, line 25:
$lnsql="SELECT NLiens, UrlLiens FROM liens WHERE NLiens=".$_GET['NLiens']." AND PriveLiens='N'";
-------------------------------------
2. Cross Site Scripting:
cat.php, line 96:
echo("<input type=\"hidden\" name=\"Act\" value=\"".$_GET['Act']."\">");
cat.php, line 102:
echo("<input type=\"hidden\" name=\"CatMere\" value=\"".$_GET['CatMere']."\">");
cat.php, line 205:
echo("<input type=\"hidden\" name=\"ncat\" value=\"".$_GET['NCat']."\">");
liens.php, line 80:
echo("<input type=\"hidden\" name=\"Methode\" value=\"".$_GET['Methode']."\">");
liens.php, line 86:
echo("<tr><td>".$texte['LibLiens']."</td><td><input name=\"libliens\" value=\"".utf8_encode(stripslashes($_GET['Lib']))."\"></td></tr>");
liens.php, line 91:
echo("<tr><td>".$texte['UrlLiens']."</td><td><input name=\"urlliens\" value=\"".$_GET['Url']."\"></td></tr>");
liens.php, line 119:
echo("<input type=\"hidden\" name=\"nliens\" value=\"".$_GET['NLiens']."\">");
parcourir.php, line 28:
<input name="recherche" value="<?if(isset($_GET['recherche'])){echo(stripslashes($_GET['recherche']));}?>">
proposerliens.php, line 39:
echo("<input type=\"hidden\" name=\"idcatliens\" value=\"".$_GET['NCat']."\">");
-------------------------------------
Solution:
Do some input validation.
-------------------------------------
#################################################