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

Zabezpieczenie BBCode i użycia javascript


Rekomendowane odpowiedzi

  • Manager

IP.Board 2.3.4 Security Enhancements

We are releasing a minor security update to address issues recently reported regarding areas of IP.Board 2.3.4. These security issues are rather low priority and the impact is minimal due to other security features in the software.

Issue

Due to Internet Explorer's overly zealous and often ambitious parsing engine, specifically crafted BBCodes can contain javascript. This issue is mitigated due to the use of httpOnly cookies which makes this more of a nuisance than a genuine threat.

Patching Your IP.Board

The IP.Board 2.3.4 download in the client area has already been updated with the required changes. If you download IP.Board after the date of this announcement your installation will be up to date.

Changed Files

Download the zip file below which includes only the changed files for this update. Simply upload and overwrite the old files.

http://forums.invisionpower.com/index.php?...st&id=16288

Zobacz cały artykuł

Manual zmian:

Otwórz plik: sources/classes/bbcode/class_bbcode_core.php

Znajdź:

  //-----------------------------------------
	// Don't let emos in URL..
	//-----------------------------------------

	if ( $this->parse_smilies )
	{
		if ( count( $this->ipsclass->cache['emoticons'] ) > 0 )
		{
			foreach( $this->ipsclass->cache['emoticons'] as $row)
			{
				$code	= $row['typed'];
				$code	= str_replace( '<', '<', str_replace( '>', '>', $code ) );	

				if( strpos( $url, $code ) )
				{
					$new  = '';

					for( $i=0; $i<strlen($code); $i++ )
					{
						//print dechex(ord($code{$i})).'<Br>';
						$new .= '%' . dechex(ord($code{$i}));
					}

					$url = str_replace( $code, $new, $url );
				}
			}
		}
	}

	$url = htmlspecialchars($url);

Znajdź:

  //-----------------------------------------
	// Don't let emos in URL..
	//-----------------------------------------

	if ( $this->parse_smilies )
	{
		if ( count( $this->ipsclass->cache['emoticons'] ) > 0 )
		{
			foreach( $this->ipsclass->cache['emoticons'] as $row)
			{
				$code	= $row['typed'];
				$code	= str_replace( '<', '<', str_replace( '>', '>', $code ) );	

				if( strpos( $url['html'], $code ) )
				{
					$new  = '';

					for( $i=0; $i<strlen($code); $i++ )
					{
						//print dechex(ord($code{$i})).'<Br>';
						$new .= '%' . dechex(ord($code{$i}));
					}

					$url['html'] = str_replace( $code, $new, $url['html'] );
				}
			}
		}
	}

Znajdź:

  //-----------------------------------------
	// clean up the ampersands / brackets
	//-----------------------------------------

Dodaj poniżej:

$url['html'] = htmlspecialchars( $url['html'] );

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ę.