Geen index file en toch bezoekers

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jovank vank

jovank vank

31/05/2015 17:20:59
Quote Anchor link
Ik heb, als onervaren amateur, een website bijna operationeel. Alle bestanden staan inmiddels 'online'. Maar omdat een en ander nog moet worden afgewerkt, wil ik nog geen bezoekers. Daarom heb ik de index.php file niet online.

Toch worden er sessions aangemaakt getuige de sessionfiles die er worden aangemaakt. Zelfs worden er functies uitgevoerd zoals het aanmaken van overzichten. Dat leid ik af aan het feit dat er tijdelijke databasefiles worden aangemaakt.

Mis ik iets? Weet iemand wat hier gebeurt??
Ik ben benieuwd.
 
PHP hulp

PHP hulp

26/12/2024 03:05:11
 
Thomas van den Heuvel

Thomas van den Heuvel

31/05/2015 17:25:53
Quote Anchor link
Jovank vank op 31/05/2015 17:20:59:
Toch worden er sessions aangemaakt getuige de sessionfiles die er worden aangemaakt. Zelfs worden er functies uitgevoerd zoals het aanmaken van overzichten. Dat leid ik af aan het feit dat er tijdelijke databasefiles worden aangemaakt.

En dat heb je op geen enkele manier afgeschermd?
 
Jovank vank

jovank vank

31/05/2015 17:44:26
Quote Anchor link
Nou kennelijk niet. Mijn vraag is juist hoe dit kan. Als ik dat weet, kan ik het afschermen. Misschien worden er functies aangeroepen als URL. Zou het kunnen zijn omdat die beginnen met sessionstart()?
 
Ozzie PHP

Ozzie PHP

31/05/2015 17:59:01
Quote Anchor link
>> Zelfs worden er functies uitgevoerd zoals het aanmaken van overzichten.

Is dat een functie die jij ZELF hebt geschreven, of zijn dit overzichten die worden aangemaakt door een of ander admin-panel (DirectAdmin, cPanel, Plesk)?
 
Jovank vank

jovank vank

31/05/2015 18:45:01
Quote Anchor link
Die pagina's heb ik zelf gemaakt.

Ik heb een username/wachtwoord combinatie. Maar dat neemt nog niet weg dat de URL's niet gewoon bereikbaar zijn als je wat probeert. Ik heb het eens geprobeerd en je komt inderdaad overal maar in. Niet dat ze veel kunnen doen (want er is een username/wachtwoord combinatie). Dus eigenlijk kan het niet veel kwaad, maar toch.....

Is er geen mogelijkheid om dat af te vangen?
 
Ozzie PHP

Ozzie PHP

31/05/2015 18:48:13
Quote Anchor link
Ik snap niet wat je bedoelt. Jouw code is (nog) niet gekoppeld aan urls, maar wordt toch uitgevoerd. Dan lijkt het erop alsof je systeem lek is en er iemand heeft ingebroken.
 
- Ariën  -
Beheerder

- Ariën -

31/05/2015 18:49:40
Quote Anchor link
Kijk eens in de log van Apache, en kijk eens of je misschien een referer of IP kan achterhalen?
Misschien geeft dat meer duidelijkheid.
 
Eddy E

Eddy E

01/06/2015 20:58:10
Quote Anchor link
Als iemand zelf www.website.nl/admin.php opent zonder langs index.php te gaan, dan werkt dat toch gewoon?
 
Johan K

Johan K

01/06/2015 22:03:18
Quote Anchor link
Zelf run ik een CMS systeem en log alles wat er gebeurd en er zijn in het verleden vreemde dingen gelogd.
Hoe ik erachter kom of iemand een pagina aanroept buiten de index.php is simpelweg een constant definen en als deze constant niet bestaat in bijvoorbeeld "functions.php" dan betend het dat iemand de pagina aan heeft geroepen buiten index.php. Dit log ik.

Maar zo ben ik ook wel eens een "crawler" tegen gekomen. Hoewel ik een robots.txt zocht deze crawler naar "admin" & "system" directory's en poogde hij om verschillden posts uit te voeren.
Hoe wel ik graag verder wilde kijken hoe het gedrag van deze crawler was hij auto-banned voor een uur aangezien beide directory's een soort van valkuil zijn. Ze hebben gewoon een login form die nergens aan gelinked zijn.
 
Ozzie PHP

Ozzie PHP

01/06/2015 22:05:42
Quote Anchor link
>> Als iemand zelf www.website.nl/admin.php opent zonder langs index.php te gaan, dan werkt dat toch gewoon?

Als de bestanden in de document root staan dan wel ja. Maar daar ga je dan eigenlijk ook al gelijk de mist in.
 
Ward van der Put
Moderator

Ward van der Put

02/06/2015 06:25:13
Quote Anchor link
Gooi om te beginnen de boel eens op slot in .htaccess voor alles behalve je eigen IP-adres
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
Order deny,allow
Deny from all
Allow from 123.456.789.012

Daarna moet je het ontwerp eigenlijk 180 graden omkeren: helemaal geen PHP opslaan in de root, behálve index.php.
 
Jovank vank

jovank vank

02/06/2015 11:13:35
Quote Anchor link
Ik begrijp wat er gebeurt. Men kan inderdaad gewoon zelf een 'www.website.nl/bestand.php' intikken en als die URL bestaat kom je er gewoon in. Het is niet moeilijk om te weten wat 'bestand.php' moet zijn. Dat staat immers in je hoofdmenu. Er wordt dan een session aangemaakt omdat de URL begin met sessionstart. In principe allemaal niet zo erg. Via de index had men er ook gewoon gekomen nietwaar?

Alleen komt men dan ook op URL's waarvoor je ingelogd moet zijn. En dat moet ik afvangen. Lijkt me alleen te kunnen aan de hand van de userid, die immers null is. Of zijn er nog andere ideeën.
 
Ozzie PHP

Ozzie PHP

02/06/2015 11:20:55
Quote Anchor link
Als je de bestanden buiten de root zet heb je dit probleem niet.

>> Alleen komt men dan ook op URL's waarvoor je ingelogd moet zijn.

Je moet dus als iemand een url oproept die leidt naar een beveiligde pagina, vaststellen of die persoon daartoe gemachtigd is. Kortom, die persoon moet dus eerst inloggen.
 
John D

John D

02/06/2015 12:05:38
Quote Anchor link
Gebruik je misschien ook een van de bekende applicaties zoals wordpress en dergelijke? Er zijn honderden bots die alle bekende filenamen waaronder ook alle admin php dagelijks proberen op aanwezigheid en vervolgens proberen te hacken met de default username/password. Hieronder een voorbeeld wat er gisteren zomaar random opgevraagd werd, en die ik niet heb (dus 404):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Requests with error response codes
    404 Not Found
       http://testp3.pospr.waw.pl/testproxy.php: 8 Time(s)
       http://testp4.pospr.waw.pl/testproxy.php: 7 Time(s)
       /moadmin.php: 5 Time(s)
       /phpMoAdmin/moadmin.php: 5 Time(s)
       http://testp2.czar.bielawa.pl/testproxy.php: 5 Time(s)
       /myadmin/scripts/setup.php: 4 Time(s)
       /phpMyAdmin/scripts/setup.php: 4 Time(s)
       /pma/scripts/setup.php: 4 Time(s)
       http://testp1.piwo.pila.pl/testproxy.php: 3 Time(s)
       /PMA/scripts/setup.php: 1 Time(s)
       /e7/theme/failed.png: 1 Time(s)
       /mysqladmin/scripts/setup.php: 1 Time(s)
       /pagina7.html: 1 Time(s)
       /phpmyadmin/scripts/setup.php: 1 Time(s)
       /root/back.css: 1 Time(s)
       /w00tw00t.at.blackhats.romanian.anti-sec:): 1 Time(s)
       /webdav/: 1 Time(s)
       http://testp5.mielno.lubin.pl/testproxy.php: 1 Time(s)
Gewijzigd op 02/06/2015 12:09:49 door John D
 
Jovank vank

jovank vank

02/06/2015 12:09:10
Quote Anchor link
Nee ik gebruik geen applicatie. En ja, ik heb alle bestanden buiten de root staan. Ik leer er in ieder geval van dat ik bij iedere URL opnieuw vaststel of iemand is ingelogd. THX!
 
John D

John D

02/06/2015 12:12:18
Quote Anchor link
Omdat je geen index.html of index.php hebt heb je hopelijk wel Directory Listing UIT staan? Zodat men dus ook geen listing te zien krijgt?? En vervolgens de filenamen kent?

-->> Dat leid ik af aan het feit dat er tijdelijke databasefiles worden aangemaakt.
Wat zijn tijdelijke database files? Gebeurt er iets in MySQL?
Gewijzigd op 02/06/2015 12:15:24 door John D
 
Jovank vank

jovank vank

02/06/2015 21:13:07
Quote Anchor link
Ja het zijn tijdelijke tabellen in MySQL, die aangemaakt worden om overzichten sneller te kunnen presenteren.Inmiddels heb ik het opgelost. Ik vang de bezoeker af die niet ingelogd is. Overigens kom ik erachter dat de heading functie niet werkt als die na de sessionstart wordt uitgevoerd. kan dat kloppen?
 
Thomas van den Heuvel

Thomas van den Heuvel

02/06/2015 22:09:06
Quote Anchor link
Never mind.

Herformuleer je vraag.
Gewijzigd op 02/06/2015 22:09:49 door Thomas van den Heuvel
 
Ward van der Put
Moderator

Ward van der Put

02/06/2015 22:25:50
Quote Anchor link
Jovank vank op 02/06/2015 21:13:07:
Ja het zijn tijdelijke tabellen in MySQL, die aangemaakt worden om overzichten sneller te kunnen presenteren. Inmiddels heb ik het opgelost.

Dan ben je inderdaad al vergevorderd. Tijdelijke tabellen genereren als je er zelfs memcached niet uitkomt na profiling, is namelijk nog niet zo makkelijk.

Kun je de tabellen, indexen en queries waarop je vastloopt hier posten?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.