Loading...
Помощь по скриптам | Есть ли уязвимость
<?

include './system/common.php';

include './system/functions.php';

include './system/user.php';

if(!$user) {

header('location: /');

exit;

}

$sub = _string(_num($_GET['sub']));
$topic = _string(_num($_GET['topic']));

if(!$sub && !$topic) {
$title = 'Форум';

include './system/h.php';

?>

<div class='title'><?=$title?></div>
<div class='line'></div>

<?

$count = mysql_result(mysql_query('SELECT COUNT(*) FROM `forum_sub`'),0);

if($count > 0) {


if($_POST['create'] == true && $user['access'] == 2) {

$name = _string($_GET['name']);
$access = _string(_num($_GET['access']));
if($name) {

mysql_query('INSERT INTO `forum_sub` (`name`,
`access`) VALUES ("'.$name.'",
"'.$access.'")');

header('location: /forum/');

}

?>

<div class='content'>

<form action='/forum/?create=true' method='post'>

Название раздела:<br/>
<input name='name'/><br/>
Создавать топики могут:<br/>
<select name='access'>
<option value='0'>все</option>
<option value='1'>модераторы</option>
<option value='2'>администраторы</option>
</select><br/>
<input type='submit' value='Создать'/>

</form>

</div>
<div class='line'></div>

<?

}

$id = _string(_num($_GET['id']));

if($id && $user['access'] == 2) {

$i = mysql_query('SELECT * FROM `forum_sub` WHERE `id` = "'.$id.'"');
$i = mysql_fetch_array($i);

if(!$i) {

header('location: /forum/');

exit;

}


$name = _string($_GET['name']);
if($name) {

mysql_query('UPDATE `forum_sub` SET `name` = "'.$name.'" WHERE `id` = "'.$i['id'].'"');

header('location: /forum/?adm=true');

}

?>

<div class='content'>

<form action='/forum/?adm=true&id=<?=$i['id']?>' method='post'>

Название раздела:<br/>
<input name='name' value='<?=$i['name']?>'/> <input type='submit' value='Сохранить'/>

</form>

</div>
<div class='line'></div>

<?

if($_POST['delete'] == true) {

$q = mysql_query('SELECT * FROM `forum_topic` WHERE `sub` = "'.$i['id'].'"');
while($row = mysql_fetch_array($q)) {
mysql_query('DELETE FROM `forum_comments` WHERE `topic` = "'.$row['id'].'"');
}

mysql_query('DELETE FROM `forum_topic` WHERE `sub` = "'.$i['id'].'"');

mysql_query('DELETE FROM `forum_sub` WHERE `id` = "'.$i['id'].'"');

header('location: /forum/?adm=true');

}

}

?>

<div class='list'>

<?

$q = mysql_query('SELECT * FROM `forum_sub`');

while($row = mysql_fetch_array($q)) {

$i++;

?>

<li>

<?


if($_POST['adm'] == true && $user['access'] == 2) {

?>

<span style='float: right;'>( <a href='/forum/?adm=true&id=<?=$row['id']?>&delete=true'>Удалить</a> | <a href='/forum/?adm=true&id=<?=$row['id']?>'>Редактировать</a> )</span>

<?

}

?>

<a href='/forum/sub/<?=$row['id']?>/'><img src='/images/icon/section.png' alt='*'/> <?=$row['name']?></a></li>

<?

}

?>

<li <?=($_POST['adm'] == true ? '':'class=\'no_b\'')?>>

<?

if($user['access'] == 2) {

?>

<a href=''><a href='/forum/<?=($_POST['adm'] == true ? '':'?adm=true')?>' <?=($_POST['adm'] == true ? 'style=\'color: #909090;\'':'')?>><img src='/images/icon/arrow.png' alt='*'/> Управление форумом</a></a>

<?

if($_POST['adm'] == true) {

?>

<li class='no_b'><a href='/forum/?create=true'><img src='/images/icon/arrow.png' alt='*'/> Создать раздел</a></li>

<?

}

}

?>

</li>

</div>

<?

}
else
{

?>

<div class='content'><font color='#909090'></font></div>

<?

}

include './system/f.php';

}
elseif($sub) {

$sub = mysql_query('SELECT * FROM `forum_sub` WHERE `id` = "'.$sub.'"');
$sub = mysql_fetch_array($sub);

if(!$sub) {

header('location: /forum');

exit;

}

if($_POST['create'] == true && $user['access'] >= $sub['access']) {

$title = 'Новый топик';

include './system/h.php';

?>

<div class='title'><?=$title?></div>
<div class='line'></div>

<?

if($user['save'] == 1) {


$name = _string($_GET['name']);
$text = _string($_GET['text']);

if($name && $text) {

if($user['level'] > 14) {

mysql_query('INSERT INTO `forum_topic` (`sub`,
`name`,
`user`,
`text`,
`time`) VALUES ("'.$sub['id'].'",
"'.$name.'",
"'.$user['id'].'",
"'.$text.'",
"'.time().'")');

$topic_id = mysql_insert_id();

header('location: /forum/topic/'.$topic_id.'/');

}
else
{

?&g
ап
Есть
нет Гг
где то есть там а может и нет *CRAZY*
SterVA_NamE, где
мельком заметил что строки передаются через GET параметры и без прочих проверок (хотя бог знает что в _string имеется ввиду) заносится в базу, что уже само по себе попахивает диким говнокодом
37861047, что все параметры должны предаватся через POST
[BoB], это вопрос или что?
зачем в урл светить имя пользователя к примеру?
37861047, не знаю я не писал скрипт БТ помоги закрыть дыры в лс
Онлайн: 3
Время:
Gen. 0.103
(c) Bym.Guru 2010-2025