Het rapporteren van fouten
Een
standaard
aanval
taktiek
is
om
het
systeem
te
voorzien
van
ongeldige
gegevens
,
en
zo
te
controleren
op
fouten
en
de
context
waarin
foutmeldingen
worden
teruggegeven
.
Dit
voorziet
de
aanvaller
van
informatie
over
de
server
waarmee
deze
mogelijke
zwakheden
kan
vinden
.
De
meldingen
die
PHP
normaal
teruggeeft
kunnen
erg
nuttig
zijn
voor
een
ontwikkelaar
die
aan
het
debuggen
is
,
zoals
dingen
als
de
functie
of
het
bestand
dat
faalde
,
het
PHP
bestand
dat
fout
liep
,
en
het
regelnummer
waar
de
fout
optrad
.
Al
deze
informatie
kan
worden
gebruikt
om
het
systeem
te
helpen
kraken
.
Als
voorbeeld
is
de
stijl
van
de
foutmeldingen
die
PHP
geeft
.
Als
een
aanvaller
naar
een
.html
pagina
kijkt
,
en
wil
weten
wat
voor
back-end
er
draait
(
om
zwakheden
in
het
systeem
te
vinden
)
,
kan
hij
,
door
er
foutieve
gegevens
heen
te
sturen
,
er
misschien
achter
komen
dat
het
systeem
is
gebouwd
met
PHP
.
Een
functie
foutmelding
kan
een
indictatie
zijn
dat
een
systeem
een
specifieke
database
engine
draait
,
of
kan
aanwijzingen
geven
hoe
de
website
is
geprogrammed
of
is
ontworpen
.
Dit
geeft
meer
aanleiding
tot
een
verder
onderzoek
naar
openstaande
database
porten
,
of
om
te
kijken
naar
speicifieke
bugs
in
een
website
.
Door
verschillende
stukken
van
"
slechte
"
gegevens
te
versturen
,
kan
hij
de
manier
van
authenticatie
vinden
(met
behulp
van
de
regelnummers
in
de
foutmeldingen
)
alsook
op
zoek
gaan
naar
bugs
in
andere
plaatsen
in
een
script
.
Een
bestands
of
normale
PHP
fout
kan
aangeven
wat
voor
permissies
de
webserver
heeft
,
alsmede
de
structuur
en
plaats
van
bestanden
op
de
web
server
.
Er
zijn
drie
manieren
van
oplossingen
voor
dit
soort
zaken
.
De
eerste
is
om
alle
functies
zo
te
maken
,
dat
foutieve
invoer
in
zijn
geheel
wordt
afgevangen
.
De
tweede
manier
is
om
alle
fout
rapportage
uit
te
zetten
en
de
derde
is
om
PHP
'
s
eigen
foutafhandeling
te
omzeilen
en
deze
te
vervangen
door
gebruikers
gedefineerde
fout
afhandelings
routines
.
Afhankelijk
van
je
security
policies
,
kan
elk
van
de
genoemde
drie
toepasbaar
zijn
op
jouw
situatie
.