Профил
Loading...
+ Нов въпрос
ph.kolarov avatar ph.kolarov 63 Точки

PHP File достъп ?

Здравейте, понеже не искам да спамя темата PHP/MySQL затова ще питам тук. Става въпрос за сайт под Джумла. 

Преди няколко дни някой е успял да достъпи един php файловете в един от модулите и да сложи някакъв скрипт. Въпросът ми е как мога да огранича директния достъп на даден php файл без да наруша работата му в системата ?

Тагове:
1
Общи приказки 12/11/2014 23:42:21
Roumen avatar Roumen 127 Точки

Смени пермишъните на файловете и папките, гледай да нямаш разрешено публично писане в папките на уеб сървъра ти, не само за joomla ами по принцип. Примерно chmod 755 за папки и 644 за файлове и всичко би трябвало да е наред, в никакъв случай не ползвай 777 или нещо подобно. Ако ползваш споделен хостинг и нямаш shell достъп, опитай да ги смениш през ftp клиента си или контролния панел на хостинга (най-вероятно cPanel).

Общо взето това е въпрос на добра системна администрация, разгледай този Linux курс в SoftUni може да ти е полезен.

6
12/11/2014 23:57:08
RoYaL avatar RoYaL Trainer 6845 Точки

Струва ми се като да искаш да разрешаваш проблем, който де факто не е проблем.

Проблемът ти реално е, че файлът може да качва скриптове.

До колкото разбирам някой е написал http://yoursite.com/some_folder/some_file.php и от там е почнал да действа. А този some_file.php се ползва из ъпликейшъна за някаква друга цел.

Дай повече информация какво прави този файл и трябвали да може да качва скриптове. Трябва ли да може да се едитва? Защото ограничаването на файла за достъпване от уеба и същевременно позволяване за вътрешно ползване е малко tricky. Ако не post-ваш към него някъде из апп-а си, а просто го require-ваш, тогава може да ограничиш достъпа до файла или папката с htaccess. Другия ти вариант е някакъв token който се генерира и си го знаят само комуникиращия файл и some_file.php. Но в повечето случаи, когато някой стигне до такъв проблем, то проблемът е в това, че имаш въобще качен на уебсървъра файл, който може да прави неща, които не трябва да се правят. 

1
ph.kolarov avatar ph.kolarov 63 Точки

Сайтът беше спрян. Какво ми написаха:

Достъпът Ви до сайтът е спрян, т.к. е хакнат. Изглежда в системата за управление на съдържание(CMS), която ползвате има дупка в кода/сигурността позволяваща качване на файлове/изпълнение на команди и/или злонамерен php код. 

Като ми дадоха и директорията с въпросния файл. Е премахнах го, проблемът ми сега е със сигурността. Имам притеснения, че е възможно пак да се случи. Обнових htaccess файла. И до колкото виждам през FileZilla достъпът до папките е редовен... не знам колко може да и се вярва. 

Днес проверих логовете и какво да видя... някакви странни заявки от сорта:

/nowini/posledni-novini/itemlist/tag/\xd0\xb8\xd0\xb7\xd0\xbb\xd0\xbe\xd0\xb6\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5?format=feed&limitstart=&type=atom HTTP/1.0

Намирам подобни цикли в някои файлове..., но не знам тази заявка точно от кой файл идва.

За пръв път правя международен сайт и направо ми се разказа играта!

1
RoYaL avatar RoYaL Trainer 6845 Точки

.htaccess-а контролира нещата в уеб сървъра, FTP достъпа няма нищо общо. Това, че ги достъпваш през файловата система, не означава че не може да си ги прецакал да не може да се виждат от никой и никъде :)

Аз предполагам, че имаш форма, която позволява качване на снимки например, но няма ограничение да си кача и .php файл, да речем. Провери ли за такива формички?

Иначе да, свиквай, че ще те спамят със всякакви атаки, ще пробват всякакъв XSS и SQLi

1
ph.kolarov avatar ph.kolarov 63 Точки

Знам какво е FTP достъп и htaccess файл.

Говорех за пермишъните на папките, за които говореше Румен. В хоста няма опция за проверка и се чудех дали FileZilla ми дава коректни данни относно това...

1
Roumen avatar Roumen 127 Точки

Това вече си прилича на XSS атака, някой е вкарал в система скрипт (записал го е в някъде в някой файл), който прави белите. Учуден съм че Joomla няма някакви вградени механизми за защита от xsscsrf и подобни шегаджийски атаки, или версията е стара, или нещо друго не е наред, може би някой плъгин е компроментиран не цялата система.

Съвета ми е да преинсталираш на чисто cms-а, който ползваш и да изтриеш всички потенциално засегнати файлове, няма да загубиш нищо важно ако ползваш същата база данни.. ако разбира се и тя не е компроментирана по някакъв начин. smile Това за съжаление няма да те спаси ако версията си има опасна дупка в сигурността и някой реши пак да те изхака. 

Ако сайта е комерсиален и ти се хвърлят допълнително пари пробвай CloudFlare pro програмата, има си защити за подобни атаки и блокира ботове, спамери, зомбита и подобни. То и безплатната версия ще ти свърши не лоша работа всъщност.

6
13/11/2014 13:25:16
RoYaL avatar RoYaL Trainer 6845 Точки

Проблемът не е толкова в джуумлата, колкото в модула, който най-вероятно е някой кастъм такъв.

4