Хакнат сайт как да се защитя ?

C++ JAVA
Post Reply
popeto
Нов
Нов
Posts: 2
Joined: Tue Jan 21, 2020 7:13 am

Хакнат сайт как да се защитя ?

Post by popeto » Tue Jan 21, 2020 7:16 am

На сайта е направена функция, с помощта на която админ панелът е защитен. (Пренасочване на потребителя, ако правата са по-малко от изискваното).
Тази функция е заобиколена по някакъв начин. Кажете ми решенията.

Code: Select all

function rights($rights){
global $http;
global $user;
if($user['rights'] < $rights) {
header('Location: '.$http.$_SERVER['SERVER_NAME']); exit;
}}

Code: Select all

$user_id = isset($_COOKIE['uid']) ? fl($_COOKIE['uid']) : '';
$password = isset($_COOKIE['password']) ? fl($_COOKIE['password']) : '';

if($user_id && $password) {
$user = $base -> query('SELECT * FROM `users` WHERE `id` = "'.$user_id.'" AND `password` = "'.$password.'"') -> fetch_assoc();
} else {$user = false;}

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 921
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 65

Re: Хакнат сайт как да се защитя ?

Post by Revelation » Tue Jan 21, 2020 7:58 am

popeto wrote:
Tue Jan 21, 2020 7:16 am
На сайта е направена функция, с помощта на която админ панелът е защитен. (Пренасочване на потребителя, ако правата са по-малко от изискваното).
Тази функция е заобиколена по някакъв начин. Кажете ми решенията.

Code: Select all

function rights($rights){
global $http;
global $user;
if($user['rights'] < $rights) {
header('Location: '.$http.$_SERVER['SERVER_NAME']); exit;
}}

Code: Select all

$user_id = isset($_COOKIE['uid']) ? fl($_COOKIE['uid']) : '';
$password = isset($_COOKIE['password']) ? fl($_COOKIE['password']) : '';

if($user_id && $password) {
$user = $base -> query('SELECT * FROM `users` WHERE `id` = "'.$user_id.'" AND `password` = "'.$password.'"') -> fetch_assoc();
} else {$user = false;}
За съд си. Не те ли е срам да си държиш паролите в бисквитка. Най-добре спирай сайта, че ако някой забележи ще те съди и то здраво.

User avatar
Ticketa
Турист
Турист
Posts: 594
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 24
Location: in /root
Contact:

Re: Хакнат сайт как да се защитя ?

Post by Ticketa » Tue Jan 21, 2020 9:22 am

@Revelation, те повечето "програмисти" използват този метод с цел "опция "запомни ме"" за да не се вписват всеки път.(на теб ти е ясно за тези практики)

Popeto, какви данни запазваш в $right? Как става вписването на потребителя т.е. какэв формуляр ползваш? right ползваш ли го в бисквитките? Как филтрираш данните?

User avatar
muti
Турист
Турист
Posts: 279
Joined: Thu Nov 14, 2019 7:03 am
Answers: 2

Re: Хакнат сайт как да се защитя ?

Post by muti » Tue Jan 21, 2020 11:03 am

Може и да има инжекциика

Code: Select all

'SELECT * FROM `users` WHERE `id` = "'.$user_id.'"

Code: Select all

if ($user['rights'] < $rights)
Как трябва да работи това, ако $ user = false?
Най-вероятно поради грешка това условие просто се приема като невярно и чекът ви минава.

popeto
Нов
Нов
Posts: 2
Joined: Tue Jan 21, 2020 7:13 am

Re: Хакнат сайт как да се защитя ?

Post by popeto » Tue Jan 21, 2020 2:09 pm

Аз ако разбирах нещата щях сам да го направя.
Явно ще трябва да си платя да ми го направят.

uphero
Потребител
Потребител
Posts: 782
Joined: Mon Feb 20, 2012 12:26 pm
Answers: 34
Location: Казанлък
Contact:

Re: Хакнат сайт как да се защитя ?

Post by uphero » Tue Jan 21, 2020 3:40 pm

как кълват шараните. това е админа.
Вече 2 тема пуска за да "раздвижи" форума и като гледам му се получава :D :D :D

User avatar
muti
Турист
Турист
Posts: 279
Joined: Thu Nov 14, 2019 7:03 am
Answers: 2

Re: Хакнат сайт как да се защитя ?

Post by muti » Tue Jan 21, 2020 4:36 pm

uphero wrote:
Tue Jan 21, 2020 3:40 pm
как кълват шараните. това е админа.
Вече 2 тема пуска за да "раздвижи" форума и като гледам му се получава :D :D :D
Ти си роден за трол.

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3357
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 128

Re: Хакнат сайт как да се защитя ?

Post by dakata__92 » Fri Jan 24, 2020 4:11 pm

popeto wrote:
Tue Jan 21, 2020 7:16 am
На сайта е направена функция, с помощта на която админ панелът е защитен. (Пренасочване на потребителя, ако правата са по-малко от изискваното).
Тази функция е заобиколена по някакъв начин. Кажете ми решенията.

Code: Select all

function rights($rights){
global $http;
global $user;
if($user['rights'] < $rights) {
header('Location: '.$http.$_SERVER['SERVER_NAME']); exit;
}}

Code: Select all

$user_id = isset($_COOKIE['uid']) ? fl($_COOKIE['uid']) : '';
$password = isset($_COOKIE['password']) ? fl($_COOKIE['password']) : '';

if($user_id && $password) {
$user = $base -> query('SELECT * FROM `users` WHERE `id` = "'.$user_id.'" AND `password` = "'.$password.'"') -> fetch_assoc();
} else {$user = false;}
Този код е нормално да бъде "разбит" и да се получат допълнителни права от някой, който ги няма. Колегите ти споменаха вече за инжекцията или през бисквитките или, или ... Та решението е пренаписване на проверките ти за аутентикация на потребителите. Ако не си чувал за SQLi, прочети веднага за този вид атака. Дай повечко код и може да се пробваме да ти сглобим нещо.

Post Reply