Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Poprawa kodowania, zabezpi. cookies i subskrypcji


Rekomendowane odpowiedzi

  • Manager

Ważne łatki dla skryptu 2.3.1

Pierwsza poprawka dla for które mają ustawione kodowanie inne niż iso-8859-1 lub utf-8 czyli praktycznie wszystkie polskie fora.

Issue 1 (Reported by http://www.turkish-media.com/forum/ )

If you use a character set other than iso-8859-1 or utf-8, it is possible to submit javascript to your user profile fields. The potential damage is mitigated by the use of httpOnly cookies in IP.Board. Please note that IP.Board ships with iso-8859-1 set by default. Therefore, unless you have specifically changed the character set in the Admin CP your installation is not impacted by this issue.

Issue 2 (Reported by http://www.criticalsecurity.net/ )

A user is able to upload a non-image file if the file is given an image name in a specific format. The security implications are very low because IP.Board automatically resets the file to a .txt file and treats it as such, however this could result in broken photo or avatar images being displayed, and script files with a .txt extension saved in your uploads directory. Again the potential damage is mitigated by the use of httpOnly cookies in IP.Board thereby disallowing javascript access to cookies.

Issue 3 (Reported by http://communityseo.com/forums/ )

If you have subscription packages enabled on your site using the subscriptions manager included with IP.Board which promote a paying user to a new user group, it is possible to recraft a payment form to set the member's ID to a different member. The issue would require that an actual valid payment is made and no unauthorized access could be gained, however a specially crafted form could result in all administrators/moderators of a site being demoted to a subscriber group, for example. The reverse, a user being promoted to admin, is not possible in this issue.

Link: {kliknij_mnie}

Instrukcja manualna:

Manual Patch Instructions
9/11/2007 Patch

ips_kernel/class_ajax.php
~line 97 Find
##########################################################################

	if( $parse_incoming )

##########################################################################
Replace With
##########################################################################

	if( $parse_incoming OR ( strtolower($this->ipsclass->vars['gb_char_set']) != 'iso-8859-1' &&
		strtolower($this->ipsclass->vars['gb_char_set']) != 'utf-8' ) )

##########################################################################
ips_kernel/class_upload.php
~line 370 Find
##########################################################################

		if ( in_array( $this->file_extension, $this->image_ext ) )

##########################################################################
Replace With
##########################################################################

		if ( in_array( $this->real_file_extension, $this->image_ext ) )

##########################################################################
sources/classes/paymentgateways/class_gw_2checkout.php
~line 110 Find
##########################################################################

	$this->core_add_hidden_field( "quantity"			 , 1 );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" 		 , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 233 Find
##########################################################################

	list( $purchase_package_id, $member_id, $cur_sub_id, ) = explode( 'x', trim($this->ipsclass->input['merchant_order_id']) );

##########################################################################
Add This After
##########################################################################

	//--------------------------------------
	// Does the verification key match?
	//--------------------------------------

	if( $_POST['verification'] != md5( intval($member_id) . $purchase_package_id . $this->ipsclass->vars['sql_pass'] ) )
	{
		$this->error = 'verification_key_mismatch';
		return array( 'verified' => FALSE );
	}

##########################################################################
sources/classes/paymentgateways/class_gw_authorizenet.php
~line 129 Find
##########################################################################

	$this->core_add_hidden_field( "x_invoice_num"	, $fp_time.'-'.$fp_seq.'-'.$items['currency_code'] );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" 	 , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 164 Find
##########################################################################

	$this->core_add_hidden_field( "x_invoice_num"	, $fp_time.'-'.$fp_seq.'-'.$items['currency_code'] );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" 	 , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 273 Find
##########################################################################

		return array( 'verified' => FALSE );
	}

##########################################################################
Add This After
##########################################################################

	//--------------------------------------
	// Does the verification key match?
	//--------------------------------------

	if( $_POST['verification'] != md5( intval($member_id) . $purchase_package_id . $this->ipsclass->vars['sql_pass'] ) )
	{
		$this->error = 'verification_key_mismatch';
		return array( 'verified' => FALSE );
	}

##########################################################################
sources/classes/paymentgateways/class_gw_nochex.php
~line 113 Find
##########################################################################

	$this->core_add_hidden_field( "returnurl"	, GW_URL_PAYDONE   );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 132 Find
##########################################################################

	$this->core_add_hidden_field( "returnurl"	, GW_URL_PAYDONE   );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 256 Find
##########################################################################

	list( $purchase_package_id, $member_id, $cur_sub_id, ) = explode( 'x', trim($_POST['order_id']) );

##########################################################################
Add This After
##########################################################################

	//--------------------------------------
	// Does the verification key match?
	//--------------------------------------

	if( $_POST['verification'] != md5( intval($member_id) . $purchase_package_id . $this->ipsclass->vars['sql_pass'] ) )
	{
		$this->error = 'verification_key_mismatch';
		return array( 'verified' => FALSE );
	}

##########################################################################
sources/classes/paymentgateways/class_gw_paypal.php
~line 100 Find
##########################################################################

	$this->core_add_hidden_field( "cancel_return", GW_URL_PAYCANCEL );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 133 Find
##########################################################################

	$this->core_add_hidden_field( "cancel_return", GW_URL_PAYCANCEL );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 157 Find
##########################################################################

	$this->core_add_hidden_field( "cancel_return", GW_URL_PAYCANCEL );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 182 Find
##########################################################################

	$this->core_add_hidden_field( "cancel_return", GW_URL_PAYCANCEL );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 317 Find
##########################################################################

	list( $cur_sub_id, ) = explode( 'x', trim($_POST['invoice']) );

##########################################################################
Add This After
##########################################################################

	//--------------------------------------
	// Does the verification key match?
	//--------------------------------------

	if( $_POST['verification'] != md5( intval($_POST['custom']) . $_POST['item_number'] . $this->ipsclass->vars['sql_pass'] ) )
	{
			$this->error = 'verification_key_mismatch';
			return array( 'verified' => FALSE );
	}

##########################################################################
sources/classes/paymentgateways/class_gw_safshop.php
~line 115 Find
##########################################################################

	$this->core_add_hidden_field( "type"		 , "safshop" );

##########################################################################
Add This After
##########################################################################

	$this->core_add_hidden_field( "verification" , md5( $items['member_unique_id'] . $items['package_id'] . $this->ipsclass->vars['sql_pass'] ) );

##########################################################################
~line 214 Find
##########################################################################

	list( $purchase_package_id, $member_id, $cur_sub_id, ) = explode( 'x', trim($_POST['ordernumber']) );

##########################################################################
Add This After
##########################################################################

	//--------------------------------------
	// Does the verification key match?
	//--------------------------------------

	if( $_POST['verification'] != md5( intval($member_id) . $purchase_package_id . $this->ipsclass->vars['sql_pass'] ) )
	{
		$this->error = 'verification_key_mismatch';
		return array( 'verified' => FALSE );
	}
##########################################################################

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.