Wednesday, May 11, 2011

What is Google Panda?

As I was sitting today after my Product Management role at Makemytrip, I decided to explore Search Engine Optimization. The leader Google was the starting point. Certainly I came to know about Panda update from Google last month. Here is my finding:

What is Google Panda?

It is new algorithm which aims to improve overall search quality.

What's in Google Panda?
It attempts to remove poor content site from Google search ranking. The poor content site will be identified as low-value add for users, copy content from other websites or sites that are just not very useful. On the positive side, it will provide better rankings for high quality sites which have original content and thoughtful research and analysis.

Should I be afraid by Google Panda?
Well it attempts to shackle poor content and copy sites. Currently it is open for U.S. websites but don't be surprised if Google has opened it across the globe. I am sure you can;t take big hit in terms of traffic coming through organic search, so better watch out.


Possible attacks of Google Panda:
• Extremely high copy paste content.
• Inappropriate content with search query result
• Page content (and page title tag) not matching the search queries a page does well for.
• Low visits and low return users
• Low Click through Rate (CTR)
• Low social media interaction and low inbound links (quality links)

Wednesday, May 11, 2011 by Saumya Aggarwal · 0

Thursday, May 5, 2011

CCAvenue.com Payment Gateway Hacked and Passwords Published Online



CCAvenue is a Commerce Service Provider, authorized as a Master Merchant, by Indian financial institutions, to appoint Sub Merchants, to accept and validate Internet payments via Credit Card, and Net banking facilities from the end-customers in real-time.

CCAvenue.com was today compromised by the hackers by exploiting SQL injection vulnerability. Hacker identifying himself as d3hydr8  contacted Hacker Regiment and made a full disclosure on this compromise. The full disclosure report also included all the admin passwords of CCAvenue portal.

Since, CCAvenue is an Indian payment gateway and publishing the passwords online might bring significant damage to the company, Hacker Regiment decided to publish the news in a responsible manner by hiding the passwords. Hacker Regiment has also reported the issue to CERT India to help CCAvenue taking corrective action before the information gets public through other channels. Surprising part found in this compromise was the plain text passwords stored in the database. Below is the detailed report belonging to this compromise.
******************************************************************
(+) Authors : d3hydr8
(+) WebSite : darkode.com
(+) Date    : 04.05.2011
(+) Hour    : 15:15 PM
(+) Targets : CCAvenue.com (Payment Gateway)
(+) Document: ESA.int Full Disclosure (Hacked)
(+) Method  : Hidden SQL Injection
******************************************************************
[ + ] USER ()                         : iusr_ccavenueiusr_ccavenue
[ + ] S_USER ()                    : iusr_ccavenue
[ + ] DB_NAME ()              : gateway
[ + ] HOST_NAME ()         : AV-2
[ + ] SERVER_NAME ()   : AVDB-3
[ + ] SERVER_TYPE ()     : Apache/2.2.14 (Unix) mod_ssl/2.2.3 OpenSSL/0.9.8e-fips-rhel5 mod_jk/1.2.28
[ + ] X-POWERED-By ()    : Servlet 2.5; JBoss-5.0/JBossWeb-2.1
[ + ] IP_ADDRESS_INFO  : 124.153.83.27
———————————————————————————————————-
[ + ] Displaying list of databases on this MSSQL host !
[ DATABASE: 0 ]        : gateway
[ DATABASE: 1 ]        : master
[ DATABASE: 2 ]        : tempdb
[ DATABASE: 3 ]        : model
[ DATABASE: 4 ]        : msdb
[ DATABASE: 5 ]        : Reseller
———————————————————————
[ DATABASE: 0 ]        : gateway
[ + ] Displaying Tables inside DB:
[ TABLES: 0 ]          : addl_merchant_details
[ TABLES: 1 ]          : admin_details
[ TABLES: 2 ]          : Admn_dept_roles
[ TABLES: 3 ]          : Admn_depts
[ TABLES: 4 ]          : Admn_prvlg_grps
[ TABLES: 5 ]          : Admn_prvlgs
[ TABLES: 6 ]          : Admn_role_prvlgs
[ TABLES: 7 ]          : Admn_roles
[ TABLES: 8 ]          : Admn_user_prvlgs
[ TABLES: 9 ]          : Admn_users
[ TABLES: 10 ]          : amex_cc_details
[ TABLES: 11 ]          : AMEX_CCDETAILS
[ TABLES: 12 ]          : amex_mer_details
[ TABLES: 13 ]          : amtShopperCart
[ TABLES: 14 ]          : amtShopperCart_MMT
[ TABLES: 15 ]          : auctionPayment
[ TABLES: 16 ]          : Auto_cancel
[ TABLES: 17 ]          : Bop_bank
[ TABLES: 18 ]          : callcenter_user_login_history
[ TABLES: 19 ]          : ccav_default_charges
[ TABLES: 20 ]          : Ccav_genid
[ TABLES: 21 ]          : Ccav_links
[ TABLES: 22 ]          : ccav_merchant_options
[ TABLES: 23 ]          : ccav_payout_allocated_keys
[ TABLES: 24 ]          : ccav_payout_credit_logs
[ TABLES: 25 ]          : ccav_payout_credits
[ TABLES: 26 ]          : ccav_payout_credits_realtime_
[ TABLES: 27 ]          : ccav_payout_debits
[ TABLES: 28 ]          : ccav_payout_debits_realtime_bkp
[ TABLES: 29 ]          : ccav_payout_details
[ TABLES: 30 ]          : ccav_payout_details_10MAY2010
[ TABLES: 31 ]          : ccav_payout_details_10OCT2010
[ TABLES: 32 ]          : ccav_payout_details_12AUG2010
[ TABLES: 33 ]          : ccav_payout_details_temp
[ TABLES: 34 ]          : ccav_payout_summaries_10MAY2010
[ TABLES: 35 ]          : ccav_payout_summaries_10OCT2010
[ TABLES: 36 ]          : ccav_payout_summaries_12AUG2010
[ TABLES: 37 ]          : ccav_payout_summaries_temp
[ TABLES: 38 ]          : ccav_pending_authorizations
[ TABLES: 39 ]          : ccav_pending_authorizations_20100918
[ TABLES: 40 ]          : ccav_pending_authorizations_20100924
[ TABLES: 41 ]          : ccav_recon_sheets
[ TABLES: 42 ]          : ccav_recon_sheets_20100918
[ TABLES: 43 ]          : ccav_recon_sheets_20100924
[ TABLES: 44 ]          : Ccav_sms_providers
[ TABLES: 45 ]          : CCAV_tracking_ids
[ TABLES: 46 ]          : CCAV_tracking_ids_20100918
[ TABLES: 47 ]          : ccav_tracking_ids_20100924
[ TABLES: 48 ]          : ccav_trans_status_logs
[ TABLES: 49 ]          : CCAV_transactions
[ TABLES: 50 ]          : CCAV_transactions_20100918
[ TABLES: 51 ]          : ccav_transactions_20100924
[ TABLES: 52 ]          : CCAV_transactions_logs
[ TABLES: 53 ]          : CCAV_transactions_logs_20100918
[ TABLES: 54 ]          : ccav_transactions_logs_20100924
[ TABLES: 55 ]          : ccav_transactions_realtime_bkp
[ TABLES: 56 ]          : ccavenue_scheduler_logs
[ TABLES: 57 ]          : centurion_debit
[ TABLES: 58 ]          : Chrc_contact_dets
[ TABLES: 59 ]          : Chrc_contact_dets_20100918
[ TABLES: 60 ]          : Chrc_feedback_dets
[ TABLES: 61 ]          : Chrc_feedback_dets_20100918
[ TABLES: 62 ]          : Chrc_reasons
[ TABLES: 63 ]          : Chrc_reasons_20100918
[ TABLES: 64 ]          : Chrc_srch_dets
[ TABLES: 65 ]          : Chrc_srch_dets_20100918
[ TABLES: 66 ]          : Citi_TxtLog_Child
[ TABLES: 67 ]          : Citi_TxtLog_Parent
[ TABLES: 68 ]          : citibank_cc_details
[ TABLES: 69 ]          : citibank_log
[ TABLES: 70 ]          : citibank_wkey
[ TABLES: 71 ]          : COMMISSION
[ TABLES: 72 ]          : Commission_log
[ TABLES: 73 ]          : countries
[ TABLES: 74 ]          : country
[ TABLES: 75 ]          : country_ip
[ TABLES: 76 ]          : cpa_20100924
[ TABLES: 77 ]          : crs_20100924
[ TABLES: 78 ]          : ct_20100918
[ TABLES: 79 ]          : ct_20100924
[ TABLES: 80 ]          : ct_20101005
[ TABLES: 81 ]          : ctl_20100924
[ TABLES: 82 ]          : custShopCart
[ TABLES: 83 ]          : custShopCart_20100918
[ TABLES: 84 ]          : custshopcart_20100924
[ TABLES: 85 ]          : custShopperCart
[ TABLES: 86 ]          : DB_SCHEMA
[ TABLES: 87 ]          : Deprecated_Payment_Invoice
[ TABLES: 88 ]          : Deprecated_Payment_Invoice_Logs
[ TABLES: 89 ]          : Dr_Cr_Notes
[ TABLES: 90 ]          : dtproperties
[ TABLES: 91 ]          : dummy_shopper_details
[ TABLES: 92 ]          : Error_logs
[ TABLES: 93 ]          : FAQ
[ TABLES: 94 ]          : fc_20100924
[ TABLES: 95 ]          : federal_bank
[ TABLES: 96 ]          : fraud_category
[ TABLES: 97 ]          : fraud_check
[ TABLES: 98 ]          : fraud_check_20100918
[ TABLES: 99 ]          : fraud_check_20100924
[ TABLES: 100 ]          : fraud_SubCategory
[ TABLES: 101 ]          : fraudCategory
[ TABLES: 102 ]          : gatewayList
[ TABLES: 103 ]          : Gen_cities
[ TABLES: 104 ]          : Gen_countries
[ TABLES: 105 ]          : Gen_states
[ TABLES: 106 ]          : gtb_bank
[ TABLES: 107 ]          : Gtw_activities
[ TABLES: 108 ]          : gtw_countries
[ TABLES: 109 ]          : gtw_regions
[ TABLES: 110 ]          : hdfc_debit
[ TABLES: 111 ]          : high_risk_con
[ TABLES: 112 ]          : icici_bank
[ TABLES: 113 ]          : ICICI_CC_DETAILS
[ TABLES: 114 ]          : idbi_bank
[ TABLES: 115 ]          : InvoiceDetails_logs
[ TABLES: 116 ]          : IVRS_CallCenter_ActiveHistory
[ TABLES: 117 ]          : IVRS_CallCenter_Users
[ TABLES: 118 ]          : JCB_CCDETAILS
[ TABLES: 119 ]          : jiaozhu
[ TABLES: 120 ]          : liveGateways
[ TABLES: 121 ]          : log_details
[ TABLES: 122 ]          : M_activities
[ TABLES: 123 ]          : M_activity_logs
[ TABLES: 124 ]          : Mall_categories
[ TABLES: 125 ]          : Mall_webstores
[ TABLES: 126 ]          : Mall_webstores_categories
[ TABLES: 127 ]          : Master_Bin
[ TABLES: 128 ]          : merchant_bank_details
[ TABLES: 129 ]          : merchant_bank_details_20100918
[ TABLES: 130 ]          : merchant_bank_details_20100924
[ TABLES: 131 ]          : Merchant_bank_details_bkup
[ TABLES: 132 ]          : merchant_follow_ups
[ TABLES: 133 ]          : merchant_follow_ups_20100918
[ TABLES: 134 ]          : merchant_follow_ups_20100924
[ TABLES: 135 ]          : merchant_ivrs_options
[ TABLES: 136 ]          : MERCHANT_PAGE_CUSTOMIZE
[ TABLES: 137 ]          : merchant_pay_mode
[ TABLES: 138 ]          : merchant_pay1
[ TABLES: 139 ]          : merchant_pay1_20100918
[ TABLES: 140 ]          : merchant_recon
[ TABLES: 141 ]          : MERCHANT_REGISTRATION
[ TABLES: 142 ]          : MERCHANT_REGISTRATION_20100918
[ TABLES: 143 ]          : merchant_registration_20100924
[ TABLES: 144 ]          : MERCHANT_REQS
[ TABLES: 145 ]          : MERCHANT_REQS_20100918
[ TABLES: 146 ]          : merchant_reqs_20100924
[ TABLES: 147 ]          : merchant_upload_options
[ TABLES: 148 ]          : ncm_risk_analysis
[ TABLES: 149 ]          : nodal_bank_payouts
[ TABLES: 150 ]          : nodal_bank_payouts_10MAY2010
[ TABLES: 151 ]          : nodal_bank_payouts_10OCT2010
[ TABLES: 152 ]          : nodal_bank_payouts_12AUG2010
[ TABLES: 153 ]          : order_details
[ TABLES: 154 ]          : panb_20100924
[ TABLES: 155 ]          : panbl_20100924
[ TABLES: 156 ]          : pangolin_test_table
[ TABLES: 157 ]          : pay_data
[ TABLES: 158 ]          : pay_list
[ TABLES: 159 ]          : payment_codes
[ TABLES: 160 ]          : payment_details
[ TABLES: 161 ]          : payment_details_20100918
[ TABLES: 162 ]          : pci_20100924
[ TABLES: 163 ]          : PG_activities
[ TABLES: 164 ]          : PG_all_net_bank_logs
[ TABLES: 165 ]          : PG_all_net_bank_logs_20100918
[ TABLES: 166 ]          : PG_all_net_banks
[ TABLES: 167 ]          : PG_all_net_banks_20100918
[ TABLES: 168 ]          : PG_amex_tran_details
[ TABLES: 169 ]          : PG_amex_transactions
[ TABLES: 170 ]          : PG_bank_card_types
[ TABLES: 171 ]          : pg_bob_bank
[ TABLES: 172 ]          : PG_bps_tran_details
[ TABLES: 173 ]          : PG_bps_trans
[ TABLES: 174 ]          : PG_canb_tran_details
[ TABLES: 175 ]          : PG_canb_tran_details_20100918
[ TABLES: 176 ]          : PG_canb_tran_details_20100924
[ TABLES: 177 ]          : PG_canb_trans
[ TABLES: 178 ]          : PG_canb_trans_20100918
[ TABLES: 179 ]          : PG_canb_trans_20100924
[ TABLES: 180 ]          : PG_card_details
[ TABLES: 181 ]          : PG_card_details_20100918
[ TABLES: 182 ]          : pg_card_details_20100924
[ TABLES: 183 ]          : pg_card_details_bkp
[ TABLES: 184 ]          : PG_card_details_linux
[ TABLES: 185 ]          : PG_cc_log
[ TABLES: 186 ]          : PG_citibank_inr_files
[ TABLES: 187 ]          : PG_citibank_inrs
[ TABLES: 188 ]          : PG_citibank_inrs_20100918
[ TABLES: 189 ]          : PG_citibank_inrs_logs
[ TABLES: 190 ]          : PG_citibank_inrs_trans
[ TABLES: 191 ]          : PG_citibank_inrs_trans_20100918
[ TABLES: 192 ]          : PG_COMM_BANKS
[ TABLES: 193 ]          : PG_comm_merchants
[ TABLES: 194 ]          : PG_cop_bank
[ TABLES: 195 ]          : PG_cop_bank_20100918
[ TABLES: 196 ]          : pg_cust_debit_details
[ TABLES: 197 ]          : pg_cust_debit_details_20100918
[ TABLES: 198 ]          : pg_customer_bank_acc_no
[ TABLES: 199 ]          : pg_customer_bank_acc_no_20100918
[ TABLES: 200 ]          : PG_eca_net_bank_logs
[ TABLES: 201 ]          : PG_eca_net_banks
[ TABLES: 202 ]          : PG_gateway_param_logs
[ TABLES: 203 ]          : PG_gateway_params
[ TABLES: 204 ]          : PG_gateways
[ TABLES: 205 ]          : PG_hdfc_tran_details
[ TABLES: 206 ]          : PG_hdfc_trans
[ TABLES: 207 ]          : PG_icici_tran_details
[ TABLES: 208 ]          : PG_icici_tran_details_20100918
[ TABLES: 209 ]          : PG_icici_trans
[ TABLES: 210 ]          : PG_icici_trans_20100918
[ TABLES: 211 ]          : PG_icici_trans_20100924
[ TABLES: 212 ]          : pg_icicimigs_tran_details
[ TABLES: 213 ]          : pg_icicimigs_trans
[ TABLES: 214 ]          : PG_itz_tran_details
[ TABLES: 215 ]          : PG_itz_tran_details_20100918
[ TABLES: 216 ]          : PG_itz_tran_details_20100924
[ TABLES: 217 ]          : PG_itz_trans
[ TABLES: 218 ]          : PG_itz_trans_20100918
[ TABLES: 219 ]          : PG_itz_trans_20100924
[ TABLES: 220 ]          : PG_kvb_bank
[ TABLES: 221 ]          : pg_kvb_bank_20100918
[ TABLES: 222 ]          : pg_lvb_bank
[ TABLES: 223 ]          : PG_maxmind
[ TABLES: 224 ]          : PG_Merchant_Gateway_Params
[ TABLES: 225 ]          : PG_Merchant_Gateways
[ TABLES: 226 ]          : PG_merchant_options
[ TABLES: 227 ]          : PG_mobile_details
[ TABLES: 228 ]          : PG_net_bank_logs
[ TABLES: 229 ]          : PG_net_bank_logs_20100918
[ TABLES: 230 ]          : PG_net_banks
[ TABLES: 231 ]          : PG_net_banks_20100918
[ TABLES: 232 ]          : PG_net_indus_logs
[ TABLES: 233 ]          : PG_net_indus_logs_20100918
[ TABLES: 234 ]          : PG_net_indus_logs_20100924
[ TABLES: 235 ]          : PG_net_kotak_ref_files
[ TABLES: 236 ]          : PG_net_kotak_refs
[ TABLES: 237 ]          : PG_net_kotak_responses
[ TABLES: 238 ]          : PG_net_kotak_responses_20100918
[ TABLES: 239 ]          : PG_net_kotak_responses_20100924
[ TABLES: 240 ]          : PG_oss_done_card_tran_details
[ TABLES: 241 ]          : PG_oss_done_card_trans
[ TABLES: 242 ]          : PG_oss_rds_tran_details
[ TABLES: 243 ]          : PG_oss_rds_trans
[ TABLES: 244 ]          : PG_paygate_tran_details
[ TABLES: 245 ]          : PG_paygate_tran_details_20100918
[ TABLES: 246 ]          : PG_paygate_transactions
[ TABLES: 247 ]          : PG_paygate_transactions_20100918
[ TABLES: 248 ]          : PG_paygate_transactions_20100924
[ TABLES: 249 ]          : PG_paymate_tran_details
[ TABLES: 250 ]          : PG_paymate_tran_details_20100918
[ TABLES: 251 ]          : PG_paymate_tran_details_20100924
[ TABLES: 252 ]          : PG_paymate_trans
[ TABLES: 253 ]          : PG_paymate_trans_20100918
[ TABLES: 254 ]          : PG_paymate_trans_20100924
[ TABLES: 255 ]          : PG_pex_tran_details
[ TABLES: 256 ]          : PG_pex_trans
[ TABLES: 257 ]          : PG_pnb_bank
[ TABLES: 258 ]          : PG_pnb_bank_20100918
[ TABLES: 259 ]          : PG_sbi_net_bank_logs
[ TABLES: 260 ]          : PG_sbi_net_bank_logs_20100918
[ TABLES: 261 ]          : PG_sbi_net_banks
[ TABLES: 262 ]          : PG_sbi_net_banks_20100918
[ TABLES: 263 ]          : PG_tc_logs
[ TABLES: 264 ]          : PG_transaction_details_temp_old
[ TABLES: 265 ]          : PG_uni_bank
[ TABLES: 266 ]          : PG_uni_bank_20100918
[ TABLES: 267 ]          : pg_uti_tran_details
[ TABLES: 268 ]          : pg_uti_tran_details_20100918
[ TABLES: 269 ]          : pg_uti_tran_details_20100924
[ TABLES: 270 ]          : pg_uti_trans
[ TABLES: 271 ]          : pg_uti_trans_20100918
[ TABLES: 272 ]          : pg_uti_trans_20100924
[ TABLES: 273 ]          : PG_visa_mpi
[ TABLES: 274 ]          : pit_20100924
[ TABLES: 275 ]          : pitd_20100924
[ TABLES: 276 ]          : pnb_20100924
[ TABLES: 277 ]          : pnbl_20100924
[ TABLES: 278 ]          : pptd_20100924
[ TABLES: 279 ]          : productMaster
[ TABLES: 280 ]          : productOptions
[ TABLES: 281 ]          : psnb_20100924
[ TABLES: 282 ]          : psnbl_20100924
[ TABLES: 283 ]          : realtime_logs
[ TABLES: 284 ]          : rechargeitnow
[ TABLES: 285 ]          : recon_details
[ TABLES: 286 ]          : ref_20100924
[ TABLES: 287 ]          : ref_temp
[ TABLES: 288 ]          : refund_mailcontent_info
[ TABLES: 289 ]          : Refunds
[ TABLES: 290 ]          : Refunds_20100918
[ TABLES: 291 ]          : refunds_20100924
[ TABLES: 292 ]          : reqtype_links
[ TABLES: 293 ]          : RTGS_Banks
[ TABLES: 294 ]          : sbid_genid
[ TABLES: 295 ]          : sbid_refunds
[ TABLES: 296 ]          : ScrollNews
[ TABLES: 297 ]          : sd_temp
[ TABLES: 298 ]          : SendInvoiceDetails
[ TABLES: 299 ]          : SendInvoiceDetails_20100918
[ TABLES: 300 ]          : SendInvoiceDetails_20100924
[ TABLES: 301 ]          : Ser_tax_Month_report
[ TABLES: 302 ]          : ServiceTax
[ TABLES: 303 ]          : ServiceTax_rate
[ TABLES: 304 ]          : SETUP_FEE
[ TABLES: 305 ]          : shopmall_bank_info
[ TABLES: 306 ]          : shopper_details
[ TABLES: 307 ]          : shoppers_view
[ TABLES: 308 ]          : sms_billing
[ TABLES: 309 ]          : sms_billing_20100918
[ TABLES: 310 ]          : sms_billing_20100924
[ TABLES: 311 ]          : Statusfield_values
[ TABLES: 312 ]          : suspense_account
[ TABLES: 313 ]          : sysdiagrams
[ TABLES: 314 ]          : sysobj
[ TABLES: 315 ]          : syssegment
[ TABLES: 316 ]          : t_ref
[ TABLES: 317 ]          : t_sd
[ TABLES: 318 ]          : tab1
[ TABLES: 319 ]          : tab2
[ TABLES: 320 ]          : tab3
[ TABLES: 321 ]          : tab33
[ TABLES: 322 ]          : tab4
[ TABLES: 323 ]          : tab5
[ TABLES: 324 ]          : tc_logs_20100924
[ TABLES: 325 ]          : TC_merchant_id
[ TABLES: 326 ]          : TC_order_logs
[ TABLES: 327 ]          : temp_payout
[ TABLES: 328 ]          : TEMPTC
[ TABLES: 329 ]          : test_logs
[ TABLES: 330 ]          : tmp4
[ TABLES: 331 ]          : to_be_refunded
[ TABLES: 332 ]          : to_be_refunded_r
[ TABLES: 333 ]          : trackingId_view
[ TABLES: 334 ]          : trackingId_view1
[ TABLES: 335 ]          : Transaction_Details
[ TABLES: 336 ]          : Transaction_Details_new
[ TABLES: 337 ]          : Transecute_Mer
[ TABLES: 338 ]          : USER_ADMIN
[ TABLES: 339 ]          : uti_bank
[ TABLES: 340 ]          : Vi_err
[ TABLES: 341 ]          : virtual_settings
[ TABLES: 342 ]          : virtual_terminal
[ TABLES: 343 ]          : VisaMerchants
[ TABLES: 344 ]          : vw_index_list

Thursday, May 5, 2011 by Saumya Aggarwal · 0

Wednesday, May 4, 2011

RIM to Offer Bing Map on Blackberry

RIM has tied up with Microsoft to offer Bing Maps and Search on their upcoming BlackBerry smartphones; a deal that was announced at the BlackBerry World event yesterday. It certainly seems as if Microsoft is looking to tie up with major non-Google-aligned parties in order to take on the current domination of the Android platform, a fact mirrored in the Nokia-Windows Phone partnership, where Nokia’s Ovi Maps and Microsoft’s Bing search were once again a major part of the collaboration.

It’s interesting to see three major players tying up to battle what is, at least by name, an open source platform that innumerable manufacturers are flocking to. That RIM will benefit from the partnership is obvious, with Bing and other Microsoft services evolving in collaboration with Nokia. We’re likely to see a lot of exchange of IP soon, with RIM sharing some of its expertise.

Wednesday, May 4, 2011 by Saumya Aggarwal · 0

All Rights Reserved Edunology - Saumya Aggarwal | 2010
Reproduction without explicit permission is prohibited