banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật hạn chế hack vào db ! cùng thảo luận nào !  XML
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 03/07/2006 21:54:28 (+0700) | #31 | 3426
[Avatar]
KINYO
Member

[Minus]    0    [Plus]
Joined: 30/06/2006 19:10:11
Messages: 272
Location: localhost
Offline
[Profile] [PM] [WWW]

mystery_hacker wrote:
em là newbie. Cho em hỏi db là gì vậy?
 


DB = Database (cơ sở dữ liệu) của website, forum...
[Up] [Print Copy]
  [Question]   Re: hạn chế hack vào db ! cùng thảo luận nào ! 03/07/2006 22:10:00 (+0700) | #32 | 3435
[Avatar]
KINYO
Member

[Minus]    0    [Plus]
Joined: 30/06/2006 19:10:11
Messages: 272
Location: localhost
Offline
[Profile] [PM] [WWW]
2 host ở 2 serv khác nhau ! Hoặc ta có thể đặt file txt.php ở 1 host free cũng được mà !
 


Cách này dở quá, nếu cái server chứa file config kia trục trặc thì coi như ứng dụng cài trên cái còn lại cũng tạch luôn.
[Up] [Print Copy]
  [Question]   Re: hạn chế hack vào db ! cùng thảo luận nào ! 04/07/2006 22:04:18 (+0700) | #33 | 3803
[Avatar]
BachDuongTM
Member

[Minus]    0    [Plus]
Joined: 29/06/2006 17:39:39
Messages: 85
Offline
[Profile] [PM] [Email]
Theo mình việc một khi host đã bị xem code thì chúng ta coi như đã thua 70% rồi .Tuy nhiên dẫu có sắp tắc tử thì cũng không để kẻ thù có thể ung dung nhàn hạ.

Thực tế có một điều là các bạn hay sử dụng code có sẵn như các code forum chẳng hạn ,code nó được xem công khai ai cũng biết file đó nằm ở đâu làm gì ,.. thì như thế sẽ rất nguy hiểm .So .... để tồn tại cần tạo nên sự đột biến <tự nhiên dạy thế mà >

bạn xem thử đoạn code này nha

hi` index.php của IBP thôi mà

Code:
<?php

/*
+--------------------------------------------------------------------------
|   Invision Power Board v2.1.6
|   ========================================
|   by Matthew Mecham
|   (c) 2001 - 2005 Invision Power Services
|   http://www.invisionpower.com
|   ========================================
|   Web: http://www.invisionboard.com
|   Time: Thu, 04 May 2006 14:45:08 GMT
|   Release: 
|   Email: <a href="mailto:matt@invisionpower.com">matt@invisionpower.com</a>
+---------------------------------------------------------------------------
|   INVISION POWER BOARD IS NOT FREE SOFTWARE!
|   http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|   > $Date: 2006-02-01 18:16:26 +0000 (Wed, 01 Feb 2006) $
|   > $Revision: 132 $
|   > $Author: bfarber $
+---------------------------------------------------------------------------
|
|   > Wrapper script
|   > Script written by Matt Mecham
|   > Date started: 14th February 2002
|	> Date updated: IPB 2.1.0: Tue 12 July 2005
|
+--------------------------------------------------------------------------
*/
/* :?:  :?:  :?:  :?:  :?:  :?:  :?:  :?:  :?: 
/**
* Main executable wrapper.
*
* Set-up and load module to run
*
* @package	InvisionPowerBoard
* @author   Matt Mecham
* @version	2.1
*/

/**
* Script type
*
*/
define( 'IPB_THIS_SCRIPT', 'public' );
define( 'IPB_LOAD_SQL'   , 'queries' );

require_once( './init.php' );

//===========================================================================
// MAIN PROGRAM
//===========================================================================

$INFO = array();

//--------------------------------
// Load our classes
//--------------------------------

require_once ROOT_PATH   . "sources/ipsclass.php";
require_once ROOT_PATH   . "sources/classes/class_display.php";
require_once ROOT_PATH   . "sources/classes/class_session.php";
require_once ROOT_PATH   . "sources/classes/class_forums.php";
require_once KERNEL_PATH . "class_converge.php";
require_once ROOT_PATH   . "conf_global.php";

# Initiate super-class
$ipsclass       = new ipsclass();
$ipsclass->vars = $INFO;

//--------------------------------
// The clocks a' tickin'
//--------------------------------
		
$Debug = new Debug;
$Debug->startTimer();

//--------------------------------
// Load the DB driver and such
//--------------------------------

$ipsclass->init_db_connection();

//--------------------------------
// INIT other classes
//--------------------------------

$ipsclass->print            =  new display();
$ipsclass->print->ipsclass  =& $ipsclass;

$ipsclass->sess             =  new session();
$ipsclass->sess->ipsclass   =& $ipsclass;

$ipsclass->forums           =  new forum_functions();
$ipsclass->forums->ipsclass =& $ipsclass;

//--------------------------------
//  Set up our vars
//--------------------------------

$ipsclass->parse_incoming();

//--------------------------------
//  Set converge
//--------------------------------

$ipsclass->converge = new class_converge( $ipsclass->DB );

//===========================================================================
// Generate choice array
//===========================================================================

$choice = array(
                 "idx"        => array( "boards"             , 'boards'       , array('chatting','birthdays', 'calendar') ),
                 "sc"         => array( "boards"             , 'boards'       , array('chatting','birthdays', 'calendar') ),
                 "sf"         => array( "forums"             , 'forums'       , array('announcements', 'multimod') ),
                 "sr"         => array( "forums"             , 'forums'       , array() ),
                 "st"         => array( "topics"             , 'topics'       , array('attachtypes','bbcode', 'multimod','ranks','profilefields' ) ),
                 "announce"   => array( "announcements"      , 'announcements', array('bbcode','badwords','emoticons','ranks','profilefields' ) ),
                 "login"      => array( "login"              , 'login'        , array() ),
                 "post"       => array( "post"               , 'post'         , array('attachtypes','badwords','bbcode','emoticons','ranks' ) ),
                 "reg"        => array( "register"           , 'register'     , array() ),
                 "online"     => array( "online"             , 'online'       , array() ),
                 "members"    => array( "memberlist"         , 'memberlist'   , array('ranks','profilefields' ) ),
                 "help"       => array( "help"               , 'help'         , array() ),
                 "search"     => array( "search"             , 'search'       , array('badwords','emoticons','attachtypes','multimod','bbcode','ranks','profilefields' ) ),
                 "mod"        => array( "moderate"           , 'moderate'     , array('attachtypes','multimod','bbcode','emoticons','badwords' ) ),
                 "print"      => array( "misc/print_page"    , 'printpage'    , array('attachtypes','bbcode', 'multimod','ranks','profilefields' ) ),
                 "forward"    => array( "misc/forward_page"  , 'forwardpage'  , array() ),
                 "mail"       => array( "misc/contact_member", 'contactmember', array() ),
                 "report"     => array( "misc/contact_member", 'contactmember', array() ),
                 "chat"       => array( "misc/contact_member", 'contactmember', array() ),
                 'boardrules' => array( "misc/contact_member", 'contactmember', array() ),
                 "msg"        => array( "messenger"          , 'messenger'    , array('profilefields','attachtypes','badwords','bbcode','emoticons' ) ),
                 "usercp"     => array( "usercp"             , 'usercp'       , array('attachtypes','badwords','bbcode','emoticons' ) ),
                 "profile"    => array( "profile"            , 'profile'      , array('ranks','profilefields','badwords','bbcode','emoticons' ) ),
                 "track"      => array( "misc/tracker"       , 'tracker'      , array() ),
                 "stats"      => array( "misc/stats"         , 'stats'        , array() ),
                 "attach"     => array( "misc/attach"        , 'attach'       , array('attachtypes' ) ),
                 'legends'    => array( 'misc/legends'       , 'legends'      , array('badwords','bbcode'  ,'emoticons'  ) ),
                 'calendar'   => array( "calendar"           , 'calendar'     , array('attachtypes','bbcode', 'ranks','multimod','emoticons','badwords' ) ),
                 'buddy'      => array( "browsebuddy"        , 'assistant'    , array() ),
                 'mmod'       => array( "misc/multi_moderate", 'mmod'         , array('multimod' ) ),
                 'warn'       => array( "misc/warn"          , 'warn'         , array('badwords','bbcode'  ,'emoticons'  ) ),
                 'home'       => array( 'portal'             , 'portal'       , array('portal','attachtypes','bbcode', 'multimod','ranks','profilefields' ) ),
                 'module'     => array( 'modules'            , 'modules'      , array() ),
                 'task'       => array( 'taskloader'         , 'taskloader'   , array() ),
                 'findpost'   => array( 'findpost'           , 'findpost'     , array() ),
                 "xmlout"     => array( "xmlout"             , 'xmlout'       , array('attachtypes','multimod','bbcode','ranks','profilefields' ) ),
                 'paysubs'    => array( 'paysubscriptions'   , 'paysubscriptions' , array() ),
                 'rssout'     => array( 'rssout'             , 'rssout'       , array() ),
                 'component'  => array( 'component'          , 'component'    , array() ),
               );

//---------------------------------------------------
// Check to make sure the array key exits..
//---------------------------------------------------

$ipsclass->input['_low_act'] = strtolower( $ipsclass->input['act'] );

if (! isset($choice[ $ipsclass->input['_low_act'] ][0]) )
{
	$ipsclass->input['act'] = 'idx';
	$ipsclass->input['_low_act'] = 'idx';
}

//===========================================================================
//  Short tags...
//===========================================================================

if ( $ipsclass->input['showforum'] != "" )
{
	$ipsclass->input['act'] = "sf";
	$ipsclass->input['f']   = intval($ipsclass->input['showforum']);
}
else if ( $ipsclass->input['showtopic'] != "")
{
	$ipsclass->input['act'] = "st";
	$ipsclass->input['t']   = intval($ipsclass->input['showtopic']);
	
	//---------------------------------------------------
	// Grab and cache the topic now as we need the 'f' attr for
	// the skins...
	//---------------------------------------------------
	
	$ipsclass->DB->simple_construct( array( 'select' => '*',
											'from'   => 'topics',
											'where'  => "tid=".$ipsclass->input['t'],
								  )      );
						
	$ipsclass->DB->simple_exec();
                       
    $ipsclass->topic_cache = $ipsclass->DB->fetch_row();
    $ipsclass->input['f']  = $ipsclass->topic_cache['forum_id'];
}
else if ( $ipsclass->input['showuser'] != "")
{
	$ipsclass->input['act'] = "profile";
	$ipsclass->input['MID'] = intval($ipsclass->input['showuser']);
}
else if ( $ipsclass->input['automodule'] != "" )
{
	$ipsclass->input['act']    = 'module';
	$ipsclass->input['module'] = $ipsclass->input['automodule'];
}
else if ( $ipsclass->input['autocom'] != "" )
{
	$ipsclass->input['act']    = 'component';
	$ipsclass->input['module'] = $ipsclass->input['autocom'];
}
else
{
	$ipsclass->input['act'] = $ipsclass->input['act'] == '' ? "idx" : $ipsclass->input['act'];
}

if ( ! $ipsclass->input['_low_act'] OR $ipsclass->input['_low_act'] == 'idx' )
{
	$ipsclass->input['_low_act'] = strtolower($ipsclass->input['act']);
}

//--------------------------------
// Start off the cache array
//--------------------------------

$*/

//--------------------------------
// Module? Load INIT class
//--------------------------------


if ( ( $ipsclass->input['act'] == 'module' OR $ipsclass->input['act'] == 'component' ) and $ipsclass->input['module'] )
{
	$file = ROOT_PATH.'sources/components_init/'. $ipsclass->txt_alphanumerical_clean( $ipsclass->input['module'] ).'.php';
	
	if ( file_exists( $file ) )
	{
                                */ smilie  smilie  smilie  smilie  smilie 
                                require_once ROOT_PATH   . "'sources/components_init_.php";
		require_once( $file );
		$init_class = new component_init();
		$init_class->ipsclass =& $ipsclass;
		$init_class->run_init();
	}
}

//===========================================================================
// Get cache...
//===========================================================================

$ipsclass->init_load_cache( $ipsclass->cache_array );

//--------------------------------
// Set debug mode
//--------------------------------

$ipsclass->DB->set_debug_mode( $ipsclass->vars['sql_debug'] == 1 ? intval($_GET['debug']) : 0 );

//--------------------------------
//  Initialize the FUNC
//--------------------------------

$ipsclass->initiate_ipsclass();

//--------------------------------
//  The rest smilie
//--------------------------------

$ipsclass->member     = $ipsclass->sess->authorise();
$ipsclass->lastclick  = $ipsclass->sess->last_click;
$ipsclass->location   = $ipsclass->sess->location;
$ipsclass->session_id = $ipsclass->sess->session_id; // Used in URLs
$ipsclass->my_session = $ipsclass->sess->session_id; // Used in code

//-----------------------------------------
// Cache md5 check
//-----------------------------------------

$ipsclass->md5_check = $ipsclass->return_md5_check();
		
//--------------------------------
//  Initialize the forums
//--------------------------------

$ipsclass->forums->strip_invisible = 1;
$ipsclass->forums->forums_init();

//--------------------------------
// Load the skin
//--------------------------------

$ipsclass->load_skin();

list($ppu,$tpu) = explode( "&", $ipsclass->member['view_prefs'] );
		
$ipsclass->vars['display_max_topics'] = ($tpu > 0) ? $tpu : $ipsclass->vars['display_max_topics'];
$ipsclass->vars['display_max_posts']  = ($ppu > 0) ? $ppu : $ipsclass->vars['display_max_posts'];

//===========================================================================
//  Set up the session ID stuff
//===========================================================================

if ( $ipsclass->session_type == 'cookie' )
{
	$ipsclass->session_id = "";
	$ipsclass->base_url   = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?';
}
else
{
	$ipsclass->base_url = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?s='.$ipsclass->session_id.'&';
}

$ipsclass->js_base_url = $ipsclass->vars['board_url'].'/index.'.$ipsclass->vars['php_ext'].'?s='.$ipsclass->session_id.'&';

//--------------------------------
//  Set up the forum_read cookie
//--------------------------------

$ipsclass->hdl_forum_read_cookie();

//===========================================================================
//  Set up defaults
//===========================================================================

$ipsclass->skin_id = $ipsclass->skin['_setid'];

$ipsclass->vars['img_url']       = 'style_images/' . $ipsclass->skin['_imagedir'];
$ipsclass->vars['AVATARS_URL']   = 'style_avatars';
$ipsclass->vars['EMOTICONS_URL'] = 'style_emoticons/<#EMO_DIR#>';
$ipsclass->vars['mime_img']      = 'style_images/<#IMG_DIR#>';

//--------------------------------
//  Set up our language choice
//--------------------------------

if ($ipsclass->vars['default_language'] == "")
{
	$ipsclass->vars['default_language'] = 'en';
}

//--------------------------------
// Did we choose a language?
//--------------------------------

If ( $ipsclass->input['setlanguage'] and $ipsclass->input['langid'] and $ipsclass->member['id'] )
{
	if ( is_array( $ipsclass->cache['languages'] ) and count( $ipsclass->cache['languages'] ) )
	{
		foreach( $ipsclass->cache['languages'] as $idx => $data )
		{
			if ( $data['ldir'] == $ipsclass->input['langid'] )
			{
				$ipsclass->DB->do_update( 'members', array( 'language' => $data['ldir'] ), 'id='.$ipsclass->member['id'] );
				$ipsclass->member['language'] = $data['ldir'];
			}
		}
	}
}
		
$ipsclass->load_language('lang_global');

//--------------------------------
// Legacy mode?
//--------------------------------

if ( LEGACY_MODE )
{
	$DB       =& $ipsclass->DB;
	$std      =& $ipsclass;
	$ibforums =& $ipsclass;
	$forums   =& $ipsclass->forums;
	$print    =& $ipsclass->print;
	$sess     =& $ipsclass->sess;
	
	$ipsclass->load_template('skin_global');
	$ipsclass->skin_global = $ipsclass->compiled_templates['skin_global'];
}

//===========================================================================
// DECONSTRUCTOR
//===========================================================================

if ( USE_SHUTDOWN and $ipsclass->input['act'] != 'task' )
{
	@chdir( ROOT_PATH );
	$ROOT_PATH = getcwd();
	
	register_shutdown_function( array( &$ipsclass, 'my_deconstructor') );
}

//===========================================================================
// Force log in / board offline?
//===========================================================================

if ($ipsclass->input['_low_act']   != 'login'  and
	$ipsclass->input['_low_act']   != 'reg'    and
	$ipsclass->input['_low_act']   != 'xmlout' and
	$ipsclass->input['_low_act']   != 'attach' and
	$ipsclass->input['_low_act']   != 'task'   and
	$ipsclass->input['_low_act']   != 'paysubs' )
{

	//--------------------------------
	//  Do we have permission to view
	//  the board?
	//--------------------------------
	
	if ( $ipsclass->member['g_view_board'] != 1 )
	{ 
		$ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_view_board') );
	}
	
	//--------------------------------
	//  Is the board offline?
	//--------------------------------
	
	if ($ipsclass->vars['board_offline'] == 1)
	{
		if ($ipsclass->member['g_access_offline'] != 1)
		{
			$ipsclass->vars['no_reg'] = 1;
			$ipsclass->board_offline();
		}
	}
	
	//--------------------------------
	//  Is log in enforced?
	//--------------------------------
	
	if ( (! $ipsclass->member['id']) and ($ipsclass->vars['force_login'] == 1) )
	{
		require ROOT_PATH."sources/action_public/login.php";
		$runme = new login();
		$runme->ipsclass =& $ipsclass;
		$runme->auto_run();
		
	}
	
	//--------------------------------
	// Show PURCHASE screen?
	// Not enforced
	//--------------------------------
	
	if ( ! $ipsclass->member['sub_end'] )
	{
		//--------------------------------
		// 1: No enforce, chosen from reg
		//--------------------------------
		
		if ( ! $ipsclass->vars['subsm_enforce'] and $ipsclass->member['subs_pkg_chosen'] )
		{
			$ipsclass->input['act']     = 'paysubs';
			$ipsclass->input['CODE']    = 'paymentmethod';
			$ipsclass->input['sub']     = $ipsclass->member['subs_pkg_chosen'];
			$ipsclass->input['nocp']    = 1;
			$ipsclass->input['msgtype'] = 'fromreg';
		}
	
		//--------------------------------
		// Show PURCHASE screen?
		// Enforced
		//--------------------------------
		
		if ( $ipsclass->vars['subsm_enforce'] and $ipsclass->member['mgroup'] == $ipsclass->vars['subsm_nopkg_group'] )
		{
			$ipsclass->input['act']     = 'paysubs';
			$ipsclass->input['nocp']    = 1;
			$ipsclass->input['msgtype'] = 'force';
			
			if ( $ipsclass->member['subs_pkg_chosen'] )
			{
				$ipsclass->input['CODE']    = 'paymentmethod';
				$ipsclass->input['sub']     = $ipsclass->member['subs_pkg_chosen'];
			}
		}
	}
}

//===========================================================================
// REQUIRE AND RUN
//===========================================================================                

if ( $ipsclass->input['act'] == 'home' AND $ipsclass->vars['csite_on'] )
{
	require ROOT_PATH."sources/action_public/portal.php";
	$csite           =  new portal();
	$csite->ipsclass =& $ipsclass;
	$csite->auto_run();
}
else if ( $ipsclass->input['act'] == 'module' AND USE_MODULES )
{
	require ROOT_PATH."modules/module_loader.php";
	$loader           =  new module_loader();
	$loader->ipsclass =& $ipsclass;
	$loader->run_loader();
}
else if ( $ipsclass->input['act'] == 'component' )
{
	$file = ROOT_PATH.'sources/components_public/'. $ipsclass->txt_alphanumerical_clean( $ipsclass->input['module'] ).'.php';
	
	if ( file_exists( $file ) )
	{
		require_once( $file );
		$loader           =  new component_public();
		$loader->ipsclass =& $ipsclass;
		$loader->run_component();
	}
	else
	{
		@header( "Location: ".$ipsclass->base_url );
	}
}
else
{	 
	// Require and run
	require_once( ROOT_PATH."sources/action_public/".$choice[ strtolower($ipsclass->input['act']) ][0].".php" );
	$runme = new $choice[ strtolower($ipsclass->input['act']) ][1];
	$runme->ipsclass =& $ipsclass;
	$runme->auto_run();
}





?>
smilie smilie :?:
[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 04/07/2006 22:18:07 (+0700) | #34 | 3808
[Avatar]
BachDuongTM
Member

[Minus]    0    [Plus]
Joined: 29/06/2006 17:39:39
Messages: 85
Offline
[Profile] [PM] [Email]
bạn thấy gì ở đây nào !!
vẫn những câu lệnh đó

require_once ROOT_PATH . "sources/ipsclass.php";
require_once ROOT_PATH . "sources/classes/class_display.php";
require_once ROOT_PATH . "sources/classes/class_session.php";
require_once ROOT_PATH . "sources/classes/class_forums.php";
require_once KERNEL_PATH . "class_converge.php";
require_once ROOT_PATH . "conf_global.php";

giờ hoàn toàn vô dụng vì đã bị chèn vào một chú thích /* */

và ta chỉ việc copy toàn bộ những gì cần chép vào file sources/components_init_.php

<ten file sao cho giong file thong thuong do tại vì bí quá nên lấy đại cái tên components_init cho thêm một cái "_" ở cuối>


$file = ROOT_PATH.'sources/components_init/'. $ipsclass->txt_alphanumerical_clean( $ipsclass->input['module'] ).'.php';

if ( file_exists( $file ) )
{
*/ file thực thi sẽ bắt đầu từ đây chứ không phải phía trên nó
require_once ROOT_PATH . "'sources/components_init_.php";
require_once( $file );
$init_class = new component_init();
$init_class->ipsclass =& $ipsclass;
$init_class->run_init();


chắc mình không cần chỉ ra nội dung file components_init_.php nhỉ




[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 04/07/2006 22:28:11 (+0700) | #35 | 3811
[Avatar]
BachDuongTM
Member

[Minus]    0    [Plus]
Joined: 29/06/2006 17:39:39
Messages: 85
Offline
[Profile] [PM] [Email]
nếu ai đó view code của chúng ta mà sử dụng các chương trình soạn thảo thông thường không có chế độ hỗ trợ mã màu thì chắc phải tinh mắt lắm đó mới bới ra được phải không nào.Tuy nhiên đây không phải là bảo mật mà chỉ là một chút thủ thuật thôi .

Bạn nên để nguyên file conf_global.php trong ./ và cho họ xem data 2 của bạn <đồ giả mà > giả mà như thật mà cho user +pass xin luôn miễn là kô phải data của web bạn chèn luôn bộ Tam quốc vào data đó để họ đọc cho đỡ buồn ...


ok !!
vậy thế còn gì nữa không .Nhiều nhiều lắm bạn ơi !!
ví dụ này ::

xoá tất cả chú thích của bạn ,nếu không cần thiết không xuống dòng + trình bày không theo hàng lối gì cả ,nếu có thể hãy để nguyên trên một hàng cho đến khi cần phải xuống dòng ====> đảm bảo ai xem theo chế độ Word Warp chắc muốn nổ con mắt luôn

và cao hơn nữa là gì nào .Đưa tất cả tên biến về cùng một mối ,suy cho cùng nó chỉ là string mà thôi

ss_10011001010101010 dùng để kết nối data
ss_00101001010010010 dùng kiểu int cho biết số user đang try cập
ss_01001000101010110 cái nè là pass login và data

hì ai mà view code chắc nổ đầu vì tràn ô nhớ




[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 04/07/2006 22:35:37 (+0700) | #36 | 3815
[Avatar]
BachDuongTM
Member

[Minus]    0    [Plus]
Joined: 29/06/2006 17:39:39
Messages: 85
Offline
[Profile] [PM] [Email]
nhưng khoan !!thế thì tớ sẽ nổ tung đầu chứ không phải họ đâu vì ngày nào tớ chả ngồi ôm đống code đó ..................................

trùi ui bạn ơi ai bắt bạn phải edit trên đống code hỗn loạn đâu .Hãy edit trên code tường minh mà bạn vẫn hay làm đó ,sau đó sử dụng một tool có chức năng tìm kiếm và thay thế đó .Kiểu như là :
hãy tìm tất cả tên biến $ipsclass thay vào bằng $ss_10100110101001010
con CPU chăm chỉ sẽ làm thay cho bạn tất cả !ok ?




[Up] [Print Copy]
  [Question]   Re: hạn chế hack vào db ! cùng thảo luận nào ! 05/07/2006 11:00:27 (+0700) | #37 | 4046
[Avatar]
micr0vnn
Member

[Minus]    0    [Plus]
Joined: 29/06/2006 15:52:34
Messages: 67
Offline
[Profile] [PM]
Cách nì không được rồi..... lấy dữ liệu từ hót khác không khéo mất thêm 1 cái hót nữa à smilie

Cũng giống như hsstoday vậy... admin chuyển Pass security mã nguồn thì lấy trong db )nhưng nó chuyển ra code luôn..... chỉ có những nood mới không tìm thấy pass security.... còn nếu siêng 1 chút là có thể tim thấy pass security ngay... smilie

Anh em còn cách nào khác không.....
[Up] [Print Copy]
  [Question]   Re: hạn chế hack vào db ! cùng thảo luận nào ! 11/07/2006 05:01:58 (+0700) | #38 | 5722
newbielinux
Member

[Minus]    0    [Plus]
Joined: 09/10/2005 11:10:51
Messages: 4
Offline
[Profile] [PM]
Cách mà nhocbmt làm mình nghĩ đến một file trong 1 server có đoạn:

Code:
file_get_contents(file muốn lấy nội dung)


Còn ở server chứa "file muốn lấy nội dung" thì chỉ cho phép truy xuất file này từ máy chủ trên mà thôi.

Khá hay nếu bạn sở hữu cùng lúc 2 server. Không biết có sai ý tưởng của nhocbmt ko?
[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 25/08/2006 10:17:46 (+0700) | #39 | 17830
[Avatar]
buicathung
Elite Member

[Minus]    0    [Plus]
Joined: 21/09/2004 01:17:00
Messages: 53
Location: Địa Ngục
Offline
[Profile] [PM] [Yahoo!] [MSN]
he he ^^ coi topic này ... có vẻ xôm dữ ... smilie
Hi hi thực ra thì với những cách mọi ngừoi đã nêu trên chỉ cần inlucde file index vào rồi gọi đích xác tên biến chứa username + password của data thì vẫn khả năng bị mất data vẫn là cao.
^^ BCH thì làm hơi mất công một chút ...
Với những thằng open source mình thay đổi tên biến của nó đi ^^ dùng một trình edit nào đó search toàn bộ trong code và thay đổi nó rồi zend lại smilie như vậy là "móm"...
Ví dụ :
Code:
$INFO['sql_database']			=	'bch';
$INFO['sql_user']			=	'bch';
$INFO['sql_pass']			=	'bch4rum';


đồi thành:

Code:
$INFO['database']			=	'bch';
$INFO['user']			=	'bch';
$INFO['pass']			=	'bch4rum';


chẳng hạn ^^ ....
p/s: Như em nói mấy cái này rất mất thời gian ... smilie cho nên các bác khỏi kêu ca về việc này nhá
[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 26/08/2006 04:21:05 (+0700) | #40 | 18059
[Avatar]
baothu
Elite Member

[Minus]    0    [Plus]
Joined: 15/09/2003 02:42:15
Messages: 57
Offline
[Profile] [PM]
bác nè cúng ý tưởng với em,đổi tên biến chứa info truy cập vào mysql và Zend toàn bộ source.Xong,attacker pó chiếu smilie
[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 27/08/2006 00:56:40 (+0700) | #41 | 18243
[Avatar]
buicathung
Elite Member

[Minus]    0    [Plus]
Joined: 21/09/2004 01:17:00
Messages: 53
Location: Địa Ngục
Offline
[Profile] [PM] [Yahoo!] [MSN]

baothu wrote:
bác nè cúng ý tưởng với em,đổi tên biến chứa info truy cập vào mysql và Zend toàn bộ source.Xong,attacker pó chiếu smilie 


smilie cũng chưa hẳn bó chiếu vì nếu như attacker nếu có thể view được source của bạn(local) thì khả năng vẫn là cao. Thì thực ra trên biến là khác nhưng vị trí của nó thì vẫn ở đó thôi. Cái này nói gì thì nói cũng chỉ đánh lừa được những tay mơ. Chỉ có thể giảm thôi chứ ko thể tránh được hoàn toàn smilie
[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 27/08/2006 01:30:11 (+0700) | #42 | 18249
onlyAnh
Member

[Minus]    0    [Plus]
Joined: 27/06/2006 07:14:09
Messages: 10
Offline
[Profile] [PM]
Nếu xài DLL thì có dc không nhỉ ?
[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 27/08/2006 04:26:05 (+0700) | #43 | 18301
[Avatar]
baothu
Elite Member

[Minus]    0    [Plus]
Joined: 15/09/2003 02:42:15
Messages: 57
Offline
[Profile] [PM]

buicathung wrote:

baothu wrote:
bác nè cúng ý tưởng với em,đổi tên biến chứa info truy cập vào mysql và Zend toàn bộ source.Xong,attacker pó chiếu smilie 


smilie cũng chưa hẳn bó chiếu vì nếu như attacker nếu có thể view được source của bạn(local) thì khả năng vẫn là cao. Thì thực ra trên biến là khác nhưng vị trí của nó thì vẫn ở đó thôi. Cái này nói gì thì nói cũng chỉ đánh lừa được những tay mơ. Chỉ có thể giảm thôi chứ ko thể tránh được hoàn toàn smilie  


view source nhưng Zend hết rồi thì làm seo :lolsmilie
[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 27/08/2006 06:53:33 (+0700) | #44 | 18328
[Avatar]
buicathung
Elite Member

[Minus]    0    [Plus]
Joined: 21/09/2004 01:17:00
Messages: 53
Location: Địa Ngục
Offline
[Profile] [PM] [Yahoo!] [MSN]

baothu wrote:

buicathung wrote:

baothu wrote:
bác nè cúng ý tưởng với em,đổi tên biến chứa info truy cập vào mysql và Zend toàn bộ source.Xong,attacker pó chiếu smilie 


smilie cũng chưa hẳn bó chiếu vì nếu như attacker nếu có thể view được source của bạn(local) thì khả năng vẫn là cao. Thì thực ra trên biến là khác nhưng vị trí của nó thì vẫn ở đó thôi. Cái này nói gì thì nói cũng chỉ đánh lừa được những tay mơ. Chỉ có thể giảm thôi chứ ko thể tránh được hoàn toàn smilie  


view source nhưng Zend hết rồi thì làm seo :lolsmilie  



smilie Thường thì chẳng thằng cu nào Zend hết toàn bộ source từ a-->z. smilie Vì nếu vậy nhiều khi nó chạy sẽ ko chuẩn.
smilie Tuy nhiên có một cách khác.
giả sử bạn có 2 file a.php và b.php chứa các biến nhạy cảm. Bạn tạo 2 ra 2 file a.php và b.php mới include 2 file a.php và b.php rồi zend lại. Sau đó đáp mấy file a.php và b.php gốc kia ra ngoài thư mục www smilie như vậy khả năng bảo mật sẽ cao hơn smilie Hơi điên rồ tí ... smilie
[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 27/08/2006 09:38:31 (+0700) | #45 | 18338
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
security through obscurity is worse than no security et at.
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Question]   hạn chế hack vào db ! cùng thảo luận nào ! 27/08/2006 11:26:56 (+0700) | #46 | 18350
channhua
Elite Member

[Minus]    0    [Plus]
Joined: 18/07/2003 04:49:28
Messages: 338
Offline
[Profile] [PM] [WWW] [Yahoo!]
mấy bác bàn về CHMOD kĩ là khá an toàn, nhưng em chưa rõ, kĩ là như thế nào. các bạn có thể cho vài ví dụ này và phân tích tại sao không
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|