ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 06.08.2007, 10:21
George767
Участник форума
Регистрация: 10.01.2006
Сообщений: 193
Провел на форуме:
553876

Репутация: 81
По умолчанию

Я на своих проектах юзаю следующий алгоритм
1 Проверка расширения
2 Проверка Mime типа
3 Проверка типа вообще (через exif_imagetype)
4 Проба ширины и высоты - имеют ли числовые значения
Далее можно пере-рендерить картинку как уже написал Helios:
$im = imagecreatefromjpeg('image.jpg');
imagejpeg($im, 'newimage.jpg', 100);

Если рендерить и менять ширину/высоту по какой-то причине нельзя, то можно проверсти вот такую проверочку содержимого картинки

<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<?php

$result_of_scan="";

$uploaded_img="resized.jpg";
$fh=fopen($uploaded_img, 'r');
$contents_of_uploaded_img=fread($fh, filesize($uploaded_img));
fclose($fh);

$list_of_potential_xss=array('javascript', 'vbscript', 'expression', 'applet', 'blink', 'link', 'style', 'script', 'embed',

'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base', 'onabort', 'onactivate',

'onafterprint', 'onafterupdate', 'onbeforeactivate', 'onbeforecopy', 'onbeforecut', 'onbeforedeactivate',

'onbeforeeditfocus', 'onbeforepaste', 'onbeforeprint', 'onbeforeunload', 'onbeforeupdate', 'onblur', 'onbounce',

'oncellchange', 'onchange', 'onclick', 'oncontextmenu', 'oncontrolselect', 'oncopy', 'oncut', 'ondataavailable',

'ondatasetchanged', 'ondatasetcomplete', 'ondblclick', 'ondeactivate', 'ondrag', 'ondragend', 'ondragenter', 'ondragleave',

'ondragover', 'ondragstart', 'ondrop', 'onerror', 'onerrorupdate', 'onfilterchange', 'onfinish', 'onfocus', 'onfocusin',

'onfocusout', 'onhelp', 'onkeydown', 'onkeypress', 'onkeyup', 'onlayoutcomplete', 'onload', 'onlosecapture', 'onmousedown',

'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout', 'onmouseover', 'onmouseup', 'onmousewheel', 'onmove',

'onmoveend', 'onmovestart', 'onpaste', 'onpropertychange', 'onreadystatechange', 'onreset', 'onresize', 'onresizeend',

'onresizestart', 'onrowenter', 'onrowexit', 'onrowsdelete', 'onrowsinserted', 'onscroll', 'onselect', 'onselectionchange',

'onselectstart', 'onstart', 'onstop', 'onsubmit', 'onunload', 'input', 'form', 'post','input', 'echo', 'background',

'alert', 'img src', 'table', 'Content-Type', 'charset', 'http-equiv', 'meta', 'body', 'document', 'style', 'cookie',

'false', 'true', 'delete', 'UTF-7', 'UTF-8', '.html', '.dhtml');


for($x = 0; $x < count($list_of_potential_xss); $x++)
{
preg_match("/".$list_of_potential_xss[$x]."/", $contents_of_uploaded_img, $matches);
if(count($matches) > 0)
{
$result_of_scan="true";
echo "$list_of_potential_xss[$x] - присутсвует<br><br>";
}
else
{
echo "$list_of_potential_xss[$x] - отсутсвует<br><br>";
}
}

if ($result_of_scan==="true")
{
echo ("<b><h1>XSS есть");
}
else
{
echo ("<b><h1>Все чисто");
}

?>

Последний раз редактировалось George767; 06.08.2007 в 10:23..
 
Ответить с цитированием

  #12  
Старый 06.08.2007, 10:52
SQLHACK
Голос разума
Регистрация: 27.09.2006
Сообщений: 529
Провел на форуме:
1607210

Репутация: 1617


Отправить сообщение для SQLHACK с помощью ICQ
По умолчанию

1. Эта проверка идёт лесом. пример тому.
<IMG DYNSRC="javas cript:al ert('XSS')">

2. вроде разговор о шеллах, а чёт похоже на защиту от XSS, если ты имел ввиду XSS то читай первый пост.

А если ты говорил про пхп шелл то за GZIP'еный шелл склееный с картинкой ты тоже не спалишь этим скриптом.

Так что либо дорабатывай, либо забудь об этой защите
__________________
Бойтесь своих желаний. Они могут исполниться....

...О-о-о-о, ушами не услышать, глазами не понять!

Последний раз редактировалось SQLHACK; 06.08.2007 в 10:57..
 
Ответить с цитированием

  #13  
Старый 06.08.2007, 11:10
George767
Участник форума
Регистрация: 10.01.2006
Сообщений: 193
Провел на форуме:
553876

Репутация: 81
По умолчанию

Цитата:
Сообщение от SQLHACK  
1. Эта проверка идёт лесом. пример тому.
<IMG DYNSRC="javas cript:al ert('XSS')">

2. вроде разговор о шеллах, а чёт похоже на защиту от XSS, если ты имел ввиду XSS то читай первый пост.

А если ты говорил про пхп шелл то за GZIP'еный шелл склееный с картинкой ты тоже не спалишь этим скриптом.

Так что либо дорабатывай, либо забудь об этой защите
Эта проверка чисто для экспериментов (хз каких))

В любом случае проще пере-рендерить картинку и весь побочный код идет лесом.
 
Ответить с цитированием

  #14  
Старый 06.08.2007, 11:29
SQLHACK
Голос разума
Регистрация: 27.09.2006
Сообщений: 529
Провел на форуме:
1607210

Репутация: 1617


Отправить сообщение для SQLHACK с помощью ICQ
По умолчанию

Цитата:
Сообщение от George767  
В любом случае проще пере-рендерить картинку и весь побочный код идет лесом.
А ведь есть ещё и технические поля.
Где можно сохранить. Хз как передендеринг, удалит их, или нет.
__________________
Бойтесь своих желаний. Они могут исполниться....

...О-о-о-о, ушами не услышать, глазами не понять!
 
Ответить с цитированием

  #15  
Старый 06.08.2007, 11:53
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
Отправить сообщение для Helios с помощью ICQ
По умолчанию

Цитата:
А ведь есть ещё и технические поля.
Где можно сохранить. Хз как передендеринг, удалит их, или нет.
Как я уже говорил, Gd считывает и сохраняет только графические данные, используемые для построения растра, т.е. все техничесие поля остаются неудел.
 
Ответить с цитированием

  #16  
Старый 06.08.2007, 12:48
SQLHACK
Голос разума
Регистрация: 27.09.2006
Сообщений: 529
Провел на форуме:
1607210

Репутация: 1617


Отправить сообщение для SQLHACK с помощью ICQ
По умолчанию

сорри не увидел первую страницу разговора. Теперь всё ясно.
__________________
Бойтесь своих желаний. Они могут исполниться....

...О-о-о-о, ушами не услышать, глазами не понять!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытое письмо журналу "Хакер" TheFile Болталка 34 31.01.2009 21:03
Наша служба и опасна и трудна) Copyright_2000 Болталка 10 28.05.2008 19:20
Как стать хакером! foreva Болталка 19 12.12.2007 00:12
Взлом чата mail.ru yurist Чаты 5 27.10.2003 01:52
еще раз спрашиваю direktor_pljazha Болталка 9 19.05.2003 10:21



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ