Показать сообщение отдельно

  #3  
Старый 09.11.2011, 23:41
Expl0ited
Познавший АНТИЧАТ
Регистрация: 16.07.2010
Сообщений: 1,022
Провел на форуме:
262707

Репутация: 935


По умолчанию

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]$ph[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'error'[/COLOR][COLOR="#007700"]]==[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"])

{

[/
COLOR][COLOR="#0000BB"]$pmid[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sql[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Select max(id) as mid from photo"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ar[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

if ([/COLOR][COLOR="#0000BB"]mysql_num_rows[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$pmid[/COLOR][COLOR="#007700"])>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"])

{

[/
COLOR][COLOR="#0000BB"]$pmid[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_fetch_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$pmid[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$mid[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$pmid[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"mid"[/COLOR][COLOR="#007700"]]+[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"];

}

else[/COLOR][COLOR="#0000BB"]$mid[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$oldname[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$ph[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$ext[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$ii[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]strlen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$oldname[/COLOR][COLOR="#007700"])-[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"];

while ([/COLOR][COLOR="#0000BB"]$oldname[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$ii[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]]!=[/COLOR][COLOR="#DD0000"]'.'[/COLOR][COLOR="#007700"]) {[/COLOR][COLOR="#0000BB"]$ext[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$oldname[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$ii[/COLOR][COLOR="#007700"]--].[/COLOR][COLOR="#0000BB"]$ext[/COLOR][COLOR="#007700"];}

[/
COLOR][COLOR="#0000BB"]move_uploaded_file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ph[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'tmp_name'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"./temp/"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$mid[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ext[/COLOR][COLOR="#007700"]);

if ([/COLOR][COLOR="#0000BB"]in_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]strtoupper[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ext[/COLOR][COLOR="#007700"])), Array([/COLOR][COLOR="#DD0000"]'.JPG'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'.GIF'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'.PNG'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'.JPEG'[/COLOR][COLOR="#007700"])))

{

if ([/COLOR][COLOR="#0000BB"]rename[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"temp/"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$mid[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ext[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$fldr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"/"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$mid[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]strtolower[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ext[/COLOR][COLOR="#007700"])))

{

[/
COLOR][COLOR="#0000BB"]sqlr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'Update advs set timeupdate='[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$time[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' where id='[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$idt[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]sql[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'Insert into photo'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ar[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'(IDT, fname, alt, time) values ('[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$idt[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]',"'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$mid[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]strtolower[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ext[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]'","'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$phalt[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'", '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$time[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]');'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

}

else

[/COLOR][COLOR="#0000BB"]unlink[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fldr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"/"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$mid[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ext[/COLOR][COLOR="#007700"]);

}[/COLOR][/COLOR
Соль в том, что там просто самая тупая проверка на свете, и достаточно было подменить _POST['file']['name'] на .JPG, .GIF, .PNG, .JPEG и шелл залит.

Тема не дотягивает до раздела "Уязвимости".
 
Ответить с цитированием