Portál AbcLinuxu, 1. července 2025 21:45


Timthumb PHP skript může být zneužit k útoku

Timthumb PHP skript, který je používán mnoha tématy WordPressu k změnám velikosti obrázků, může být zneužit k načtení a spuštění podvrhnutého kódu na server. Timthumb obsahuje seznam domén, ze kterých vzdáleně načítá a upravuje obrázky. Při načítání obrázku ale nekontroluje celou URL, ale pouze to, zda obsahuje jméno některé z povolených domén. Tedy v případě, že povolenou doménou je blogger.com, bez problému je akceptována i http://blogger.com.evilhackersite.com/ či kterákoli jiná podvrhnutá URL.

3.8.2011 19:55 | Migi | Bezpečnostní upozornění


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Migi avatar 3.8.2011 20:03 Migi | skóre: 59 | blog: Mig_Alley
Rozbalit Rozbalit vše Re: Timthumb PHP skript může výt zneužit k útoku
Odpovědět | Sbalit | Link | Blokovat | Admin
veselá chybička v nadpisu, autor by se měl stydět :-D
David Watzke avatar 3.8.2011 20:30 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Timthumb PHP skript může výt zneužit k útoku
Opravil jsem to. Btw, měl jsem za to, že jsi taky správce zpráviček.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
3.8.2011 21:09 D''
Rozbalit Rozbalit vše Re: Timthumb PHP skript může být zneužit k útoku
Odpovědět | Sbalit | Link | Blokovat | Admin
sed s/".com"/".com/"/g zoznam_povolenych_url ?
4.8.2011 02:02 zulu
Rozbalit Rozbalit vše Re: Timthumb PHP skript může být zneužit k útoku
ne
4.8.2011 09:48 M___
Rozbalit Rozbalit vše Re: Timthumb PHP skript může být zneužit k útoku
http://evilhackersite.com/blogger.com/...
4.8.2011 11:21 kdosi
Rozbalit Rozbalit vše Re: Timthumb PHP skript může být zneužit k útoku
$allowedSites = array (
	'flickr.com',
	'picasa.com',
	'blogger.com',
	'wordpress.com',
	'img.youtube.com',
	'upload.wikimedia.org',
	'photobucket.com',
);

$url = ...
$host = parse_url($url,PHP_URL_HOST);

$ok = false;
foreach($allowedSites as $site){
  if(ereg($site.'$', $host)){
    $ok = true;
    break;
  }
}

if($ok){
  ...
}
4.8.2011 11:28 kdosi
Rozbalit Rozbalit vše Re: Timthumb PHP skript může být zneužit k útoku
A oprava opravy, radek 16 by mel byt:
if(ereg('^(.*\.)?'.$site.'$', $host)){
Josef Kufner avatar 4.8.2011 11:56 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Timthumb PHP skript může být zneužit k útoku
Takže pokud dáme do whitelistu doménu upload.wikimedia.org, tak si stačí podvrhnout doménu upload-wikimedia.org a máme hotovo?
Hello world ! Segmentation fault (core dumped)
4.8.2011 21:38 kdosi
Rozbalit Rozbalit vše Re: Timthumb PHP skript může být zneužit k útoku
Presne tak :)

tedy pred ifem jeste
$site = strtr($site,array('.'=>'\.'));
ted uz by to na domenu a subdomeny pasovat mohlo ?
Josef Kufner avatar 4.8.2011 11:22 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Timthumb PHP skript může být zneužit k útoku
if ($allowed == parse_url($url, PHP_URL_HOST)) { ... }
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru


ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.