
09.11.2011, 23:41
|
|
Познавший АНТИЧАТ
Регистрация: 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 и шелл залит.
Тема не дотягивает до раздела "Уязвимости".
|
|
|