Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons

Reply
 
Thread Tools
EPC Log-in Detector Details »»
EPC Log-in Detector
Version: 1.00, by blogtorank blogtorank is offline
Developer Last Online: Mar 2008 Show Printable Version Email this Page

Category: Administrative and Maintenance Tools - Version: 3.6.8 Rating:
Released: 09-05-2007 Last Update: 09-05-2007 Installs: 28
Code Changes  
No support by the author.

EPC Log-in Detector

Description:


ALL Admins will be notified of who tried to attempt successfully and not successfully to login to your forums and admincp. As this will notify ALL the admins of the offending or not offending person's username used and their IP.

Simple modification and thought we would share this file edit with the rest if they wanted to use this. Here is an example e-mail with the following:
Quote:
from Testing
to
date Sep 5, 2007 9:43 PM
subject Bad login
mailed-by
'theirip' was found trying to login to the account admin. Please investigate this as soon as you can
Edits to be made:

***Warning: Before you make edits, do a back of the following files before commencing:

PHP Code:
/includes/functions_login.php
/login.php 
PHP Code:
go to /includes/functions_login.php:

Find:

        if ((
$strikes_user['strikes'] % == 0) AND $user $vbulletin->db->query_first("SELECT userid, username, email, languageid FROM " TABLE_PREFIX "user WHERE username = '" $vbulletin->db->escape_string($username) . "' AND usergroupid <> 3"))
        { 
// they've got it wrong 5 times for this user lets email them
            
$ip IPADDRESS;
            eval(
fetch_email_phrases('accountlocked'$user['languageid']));
            
vbmail($user['email'], $subject$messagetrue);

Add Under:

///code added by EPC Login Detector
$ip IPADDRESS;
$subject="Bad login -  5 tries";
$message="'$ip' was found trying to login to the account  ".$vbulletin->GPC['vb_login_username']." and was blocked. Please investigate  this as soon as you can.";
$admin =  $vbulletin->db->query_read_slave("SELECT * FROM `user` WHERE `usertitle` =  'Administrator' limit 0,3000");
while (
$item =  $vbulletin->db->fetch_array($admin)) {
vbmail($item['email'], $subject,  $messagetrue);
}
//code end by EPC Login Detector 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

go to /login.php

Find
:

    if (!
verify_authentication($vbulletin->GPC['vb_login_username'], $vbulletin->GPC['vb_login_password'], $vbulletin->GPC['vb_login_md5password'], $vbulletin->GPC['vb_login_md5password_utf'], $vbulletin->GPC['cookieuser'], true))
    {

 
Add under:

        
///code added by EPC Login Detector
        
$ip IPADDRESS;
           
$subject="Bad login";
        
$message="'$ip' was found trying to login to the account ".$vbulletin->GPC['vb_login_username'].". Please investigate this as soon as you can.";
        
$admin $vbulletin->db->query_read_slave("SELECT * FROM `user` WHERE `usertitle` = 'Administrator' limit 0,3000");
        while (
$item $db->fetch_array($admin)) {
          
vbmail($item['email'], $subject$messagetrue);
        }
        
//code end by EPC Login Detector    

 
Find:

            
// log this error if attempting to access the control panel
            
require_once(DIR '/includes/functions_log_error.php');
            
log_vbulletin_error($vbulletin->GPC['vb_login_username'], 'security');

 
Add under:

        
///code added by EPC Login Detector
        
$ip IPADDRESS;
           
$subject="ADMIN AREA: Bad login";
        
$message="'$ip' was found trying to login to the account ".$vbulletin->GPC['vb_login_username'].". Please investigate this as soon as you can.";
        
$admin $vbulletin->db->query_read_slave("SELECT * FROM `user` WHERE `usertitle` = 'Administrator' limit 0,3000");
        while (
$item $db->fetch_array($admin)) {
          
vbmail($item['email'], $subject$messagetrue);
        }
        
//code end EPC Login Detector

 
Find:

        
$vbulletin->userinfo $original_userinfo;

        if (
$vbulletin->options['usestrikesystem'])
        {
            eval(
standard_error(fetch_error('badlogin_strikes'$vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'], $strikes)));
        }
        else
        {
            eval(
standard_error(fetch_error('badlogin'$vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'])));
        }

    }

 
Add under:

    
///code added by EPC Login Detector
        
$ip IPADDRESS;
           
$subject="Successeful login";
        
$message="'$ip' logged into the account ".$vbulletin->GPC['vb_login_username'].". Please investigate this as soon as you can.";
        
$admin $vbulletin->db->query_read_slave("SELECT * FROM `user` WHERE `usertitle` = 'Administrator' limit 0,3000");
        while (
$item $db->fetch_array($admin)) {
          
vbmail($item['email'], $subject$messagetrue);
        }
   
//code end EPC Login Detector 
That's it!

Summary:

This is only for the ones that want to be notified when there is a unsuccessful login to their forums and to notify the admins. Just a thing we "feel" that vBulletin should implement within their core due to security reasons for forums. It would benefit on seeing who and what is happening for a forums when there is an attempted breach of security of the forums. So whomever had more ideas on how to expand this feel free to update here with ideas or share code of making this better!

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 09-06-2007, 03:56 AM
WarLion's Avatar
WarLion WarLion is offline
 
Join Date: Jun 2006
Posts: 165
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

this is asome i will try rigth now
looks really usefull thanks
Reply With Quote
  #3  
Old 09-06-2007, 04:00 AM
blogtorank's Avatar
blogtorank blogtorank is offline
 
Join Date: Jan 2006
Posts: 450
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Works nice, because if you value your community and the security of it surely this will come in handy! Takes a total of 2 mins to mod 2 files and you are done! Thanks for the compliments.
Reply With Quote
  #4  
Old 09-06-2007, 04:13 AM
WarLion's Avatar
WarLion WarLion is offline
 
Join Date: Jun 2006
Posts: 165
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

your welcome i already install but i have one little question how i can test it it works if i try with a wrong pass for my admin user?
or how i can test it, i try by myself but i havent recive any email.

will be great if you make it to send a pm also.
Reply With Quote
  #5  
Old 09-06-2007, 04:18 AM
blogtorank's Avatar
blogtorank blogtorank is offline
 
Join Date: Jan 2006
Posts: 450
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well it should send out using your mail server automatically alerting the admins...

Simply type in anything like:

admin ///// sdkfjsadlfksadlfhsadf

Then you'll get a e-mail sent to your admins stating Bad Login
Reply With Quote
  #6  
Old 09-06-2007, 04:31 AM
WarLion's Avatar
WarLion WarLion is offline
 
Join Date: Jun 2006
Posts: 165
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok i try enter 5 times wrong pass to close the acount and i only recive the email from vbulletin
after i try one more time , and error apear

Fatal error: Call to a member function on a non-object in /home/warlion/public_html/foro/includes/functions_login.php on line 86
that line for me is this one
while ($item = $db->fetch_array($admin)) {
Reply With Quote
  #7  
Old 09-06-2007, 04:54 AM
blogtorank's Avatar
blogtorank blogtorank is offline
 
Join Date: Jan 2006
Posts: 450
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Checking into that for you now.
Reply With Quote
  #8  
Old 09-06-2007, 05:07 AM
blogtorank's Avatar
blogtorank blogtorank is offline
 
Join Date: Jan 2006
Posts: 450
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Replace your code on that file with the following:

PHP Code:
 ///code added by EPC Login Detector
$ip IPADDRESS;
$subject="Bad login -  5 tries";
$message="'$ip' was found trying to login to the account  ".$vbulletin->GPC['vb_login_username']." and was blocked. Please investigate  this as soon as you can.";
$admin =  $vbulletin->db->query_read_slave("SELECT * FROM `user` WHERE `usertitle` =  'Administrator' limit 0,3000");
while (
$item =  $vbulletin->db->fetch_array($admin)) {
vbmail($item['email'], $subject,  $messagetrue);
}
//code end by EPC Login Detector 
Updated the hack's How To!
Reply With Quote
  #9  
Old 09-06-2007, 07:07 AM
jluerken's Avatar
jluerken jluerken is offline
 
Join Date: Aug 2003
Location: Germany
Posts: 1,016
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great, thanks. This should become vB standard
Reply With Quote
  #10  
Old 09-06-2007, 07:33 AM
Cybertims Cybertims is offline
 
Join Date: Nov 2005
Location: Bedfordshire
Posts: 203
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

One thing you should mention though, it seems this will only send an email if your user tite is Administrator, coud you not have it send the email to all in the admin usergroup?

What if the admin has changed his usertitle?

Cheers
Reply With Quote
Reply

Thread Tools

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 05:43 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04297 seconds
  • Memory Usage 2,339KB
  • Queries Executed 24 (?)
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
  • (3)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (10)postbit_onlinestatus
  • (10)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_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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete