abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 22:17:08 #121
1972 Swetsenegger
Egocentrische Narcist
pi_35491979
En waarom maak je het jezelf eigenlijk niet makkelijk door gewoon binair te rekenen.
1=lezen
10=schrijven
11=lezen en schrijven
Etc.

Op die manier kan je een ubersimpele switch functie gebruiken om je rechten te checken en je checkboxen te setten.

1
2
3
4
5
6
7
8
9
10
<?php
switch ($rechten){
case
'1':
// lezen
break;
case
'10':
//schrijven
break;
}
?>
pi_35492150
quote:
Op zaterdag 25 februari 2006 22:17 schreef Swetsenegger het volgende:
En waarom maak je het jezelf eigenlijk niet makkelijk door gewoon binair te rekenen.
1=lezen
10=schrijven
11=lezen en schrijven
Etc.

Op die manier kan je een ubersimpele switch functie gebruiken om je rechten te checken en je checkboxen te setten.
[ code verwijderd ]
Zou ook kunnen inderdaad maar heb de fout al gevonden! Om 1 of andere vage reden parste PHP de getallen als octaal (vandaar dat 1 en 8 het niet deden)
Even de intval() eromheen zetten en works like a charm! Bedankt iig!
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 22:23:07 #123
1972 Swetsenegger
Egocentrische Narcist
pi_35492196
quote:
Op zaterdag 25 februari 2006 22:21 schreef c0nd0r het volgende:

[..]

Zou ook kunnen inderdaad maar heb de fout al gevonden! Om 1 of andere vage reden parste PHP de getallen als octaal (vandaar dat 1 en 8 het niet deden)
Even de intval() eromheen zetten en works like a charm! Bedankt iig!
als het begint met een 0 wordt het als octaal geinterpreteerd. (dacht ik. even zoeken op php.net)
pi_35492710
quote:
Op zaterdag 25 februari 2006 22:23 schreef Swetsenegger het volgende:

[..]

als het begint met een 0 wordt het als octaal geinterpreteerd.
Correct.
  FOK!-Schrikkelbaas zaterdag 25 februari 2006 @ 22:38:19 #125
1972 Swetsenegger
Egocentrische Narcist
pi_35492795
quote:
Op zaterdag 25 februari 2006 22:35 schreef Light het volgende:

[..]

Correct.
ZCE basis kennis
  zondag 26 februari 2006 @ 17:43:38 #126
26631 Boink
Ik ben er klaar voor!
pi_35516348
Hoi, daar ben ik weer

De thumbnail werkt bij php5 niet meer Zie: http://dev.wscp.nu/~testt(...)cars.php?view=last40 Nu gebruik ik dit script, http://dev.wscp.nu/~testteam/autogespot/viewimg.phps , ik heb er al naar gekeken maar kan niks vinden.. Kan iemand iets ontdekken?
pi_35516678
Leer zelf eens debuggen, begin eens met die apenstaartjes voor de functies weg te halen want die onderdrukken errors en warnings. En dan zet je gewoon ergens een echo ofzo om te kijken of hij in een bepaald if-statement komt...... Probeer eens wat losse onderdelen of die wel werken.
Doe een echo op je filename/imagepath, misschien is dat wel niet goed.... Wij hoeven toch niet iedere keer jouw lappen code door te gaan spitten op zoek naar een foutje?

En denk ook eens aan het controleren van je input... je haalt iets uit een GET en je zet dat gewoon in een query, ik zou daar op zn minst een addslashes op uitvoeren.....
pi_35517193
quote:
Op zondag 26 februari 2006 17:58 schreef ikke_ook het volgende:
Leer zelf eens debuggen, begin eens met die apenstaartjes voor de functies weg te halen want die onderdrukken errors en warnings. En dan zet je gewoon ergens een echo ofzo om te kijken of hij in een bepaald if-statement komt...... Probeer eens wat losse onderdelen of die wel werken.
Doe een echo op je filename/imagepath, misschien is dat wel niet goed.... Wij hoeven toch niet iedere keer jouw lappen code door te gaan spitten op zoek naar een foutje?

En denk ook eens aan het controleren van je input... je haalt iets uit een GET en je zet dat gewoon in een query, ik zou daar op zn minst een addslashes op uitvoeren.....
helemaal mee eesn

ennuh even reactie op 2de punt en een handige vraag voor mij :
om de een of andere reden hoef ik in mijn php scripts nooit de addslashes te gebruiken...
hij negeerdt die slashes ofzo...
wat ik wel doet is dit:
$bla =$_get['Boe'];
komt dat daardoor?


ben zelf nu ook beetje bezig met een hele simpele template parser
eens kijken of ik daar iets leuks van kan maken
dus het gebruik maken van een simpele template parser niet het maken van een parser..
is leuke oefening en kan er misschien een leuke site uitdraaien voor het pc management op me stage is te zien hier: http://fia181-83.dsl.hccnet.nl/pwa

[ Bericht 9% gewijzigd door mschol op 26-02-2006 18:21:50 ]
pi_35517423
quote:
Op zondag 26 februari 2006 18:15 schreef mschol het volgende:

[..]

helemaal mee eesn

ennuh even reactie op 2de punt en een handige vraag voor mij :
om de een of andere reden hoef ik in mijn php scripts nooit de addslashes te gebruiken...
hij negeerdt die slashes ofzo...
wat ik wel doet is dit:
$bla =$_get['Boe'];
komt dat daardoor?


ben zelf nu ook beetje bezig met een hele simpele template parser
eens kijken of ik daar iets leuks van kan maken
Magic_quotes?

Voor een id ben ik zelf altijd erg van een if(is_numeric()) { constructie.
pi_35519282
quote:
Op zondag 26 februari 2006 18:15 schreef mschol het volgende:
ennuh even reactie op 2de punt en een handige vraag voor mij :
om de een of andere reden hoef ik in mijn php scripts nooit de addslashes te gebruiken...
hij negeerdt die slashes ofzo...
wat ik wel doet is dit:
$bla =$_get['Boe'];
komt dat daardoor?
Dat komt idd door magic_quotes_gpc. Eerder in dit topic staat er meer over. Een feature die schijnveiligheid creëert en verder alleen maar tegen je werkt.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35520387
quote:
Op zondag 26 februari 2006 19:26 schreef SuperRembo het volgende:

[..]

Dat komt idd door magic_quotes_gpc. Eerder in dit topic staat er meer over. Een feature die schijnveiligheid creëert en verder alleen maar tegen je werkt.
maar dat zou hij toch alleen doen als hij aanstaat
dit staat in mijn php.ini:
; This directive is deprecated. Use variables_order instead.
gpc_order = "GPC"

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

dus dat zou dan niet opgaan voor mij
pi_35520535
Maar wat gebeurd er dan precies met dat slashes gebeuren bij deze php-installatie?
pi_35520863
quote:
Op zondag 26 februari 2006 20:09 schreef DutchBlood het volgende:
Maar wat gebeurd er dan precies met dat slashes gebeuren bij deze php-installatie?
nou normaal gesproken zou je een sql injection kunnen doen als de quotes e.d niet worden gescaped..

maar ik escape dus niet en SQL injections zijn echt onmogelijk
ik krijg hooguit een php error op line 10 ofzo
en dit heb ik al heeel lang bij meerdere script..
komt dat omdat ik de GET waarde eerst in een variable zet en die variable in een SQL statment gebruik?
pi_35521390
quote:
Op zondag 26 februari 2006 20:19 schreef mschol het volgende:

[..]

nou normaal gesproken zou je een sql injection kunnen doen als de quotes e.d niet worden gescaped..

maar ik escape dus niet en SQL injections zijn echt onmogelijk
ik krijg hooguit een php error op line 10 ofzo
en dit heb ik al heeel lang bij meerdere script..
komt dat omdat ik de GET waarde eerst in een variable zet en die variable in een SQL statment gebruik?
Zou je dat eens kunnen uitttesten met wat echo's misschien? Dus de $_GET var en dan de gewone?

Raar doch interessant geval .
pi_35522375
Niet dat ik het wil misbruiken, maar hoe kun je sql injections uitproberen? Wat moet je in je GET-variabele toevoegen?
1test.php?sort=ASC;%20DELETE%20FROM%20tabelnaam

Zoiets zal wel niet werken?
pi_35522540
http://www.securiteam.com/securityreviews/5DP0N1P76E.html

hier wordt het hoe en wat uitgelegd, vaak kan je het misbruiken door in een search veld de string proberen te escapen
pi_35523932
quote:
Op zondag 26 februari 2006 21:01 schreef mschol het volgende:
http://www.securiteam.com/securityreviews/5DP0N1P76E.html

hier wordt het hoe en wat uitgelegd, vaak kan je het misbruiken door in een search veld de string proberen te escapen
Dankje, erg handig
deze ook wel
pi_35524236
ik loop nu wel tegen een robleem aan op een site die ik aan het boiuwen ben voor me stage (zie boven) tis vast heel simpel maar ik zie het niet :
ik maaj dus gebruik van een simpele template parser:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
class template
{
    var
$data;

    function
load($file)
    {
        
$this-&gt;data = file_get_contents('templates/'. $file . '.tpl');
    }

    function
replace($var, $value)
    {
        
$this-&gt;data = str_replace('{' . $var . '}', $value, $this-&gt;data);
    }
    
    function
parse()
    {
        echo
$this-&gt;data;
    }
}
?>

dit werkt helemaal perfect..
maar als ik een tag replace voor een include:
1
2
3
4
5
6
7
8
<?php
{
    
$template-&gt;load('main');
    
$template-&gt;replace('Title', 'Overzicht PC\'s');
    
$template-&gt;replace('Content',include('includes\overzicht.php'));
    
$template-&gt;parse();
}
?>


maar daar loop ik dus tegen een probleem aan:
in de include staat het volgende:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$SQL
= "SELECT * FROM `p`";
$result = mysql_query($SQL);
while(
$row = mysql_fetch_array($result))
    {
      echo(
"<tr>\n");
      echo(
"<td align='center'>".$row['pcnaam']."</td>\n\r");
      echo(
"<td align='center'>".$row['gebouw']."</td>\n\r");
      echo(
"<td align='center'>".$row['lokatie']."</td>\n\r");
      echo(
"<td align='center'>".$row['leerkracht']."</td>\n\r");
      echo(
"<td align='center'>\n\r");
      echo(
"<input name='button2' type='button' value='Aanpassen' onclick=\"\PopUpWindow('edit_pc','http://fia181-83.dsl.hccnet.nl/PWA/pc.php?act=edit_pc','http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."\") />");
      echo(
"</td>\n\r");
      echo(
"<td align='center'><input name='button' type='button' value='Verwijderen' /></td>\n\r");
      echo(
"</tr>");
    }
}
?>


als ik een return geef dan echotie em netjes in het midden van de pagina onder de kop overzicht pc's maar kapt ie em gelijk af... (want het is een return immers)
bij echo wordt het helemaal bovenaan de pagina weergegeven en niet in een tabel..
is er niet een manier om het huidige script toch goed te laten gaan?
hope it makes sense

ik zat dus te denken aan een soort van buffer OBstart(); oid maar krijg dat niet aan de praat...?

volgens mij zit er weinig anders op dan me hele include te herschrijven (ook geen idee hoe ik dan moet aan aan pakken trouwens , maar tis laat, morgen weer een dag)

[ Bericht 2% gewijzigd door mschol op 26-02-2006 21:48:17 (verschrikkelijke typo) ]
pi_35524638
quote:
Op zondag 26 februari 2006 20:57 schreef Nevermind het volgende:
Niet dat ik het wil misbruiken, maar hoe kun je sql injections uitproberen? Wat moet je in je GET-variabele toevoegen?
[ code verwijderd ]

Zoiets zal wel niet werken?
probeer maar. Met magic Quotes die aanstaan werkt dit niet nee.....
pi_35524771
quote:
Op zondag 26 februari 2006 20:19 schreef mschol het volgende:

[..]

nou normaal gesproken zou je een sql injection kunnen doen als de quotes e.d niet worden gescaped..

maar ik escape dus niet en SQL injections zijn echt onmogelijk
ik krijg hooguit een php error op line 10 ofzo
en dit heb ik al heeel lang bij meerdere script..
komt dat omdat ik de GET waarde eerst in een variable zet en die variable in een SQL statment gebruik?
Ow, mysql gaat gewoon op z'n bek als je een quotje invoert. Nee, da's prima
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35525047
quote:
Op zondag 26 februari 2006 21:49 schreef SuperRembo het volgende:

[..]

Ow, mysql gaat gewoon op z'n bek als je een quotje invoert. Nee, da's prima
maar aaleen bij de uitvoer van dat script... dus iedere hack poiung loopt dood
my point : oke script gaat onderuit, maar hij valt voor de rest niet te hacken..
pi_35526580
quote:
Op zondag 26 februari 2006 21:55 schreef mschol het volgende:

[..]

maar aaleen bij de uitvoer van dat script... dus iedere hack poiung loopt dood
my point : oke script gaat onderuit, maar hij valt voor de rest niet te hacken..
Daar zou ik niet al te zeker van zijn.
Neem een simpele update al deze:

1$sql = "UPDATE mytable SET myvalue='$_POST[myvalue]' WHERE id=$_POST[id]";


Als je dan in het form bij myvalue invult: All Your Quotes Are Belong To Us';--
Dan staat die tekst opeens op ELKE regel in de tabel. Zonder MySQL foutmelding.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35527392
http://ww.phpfreakz.nl/downloadz/webprogrammers_hacking_huide.pdf

Erg nuttig om eens door te lezen, worden veel beveiliginslekken besproken.
pi_35529134
quote:
Op zondag 26 februari 2006 22:25 schreef SuperRembo het volgende:

[..]

Daar zou ik niet al te zeker van zijn.
Neem een simpele update al deze:
[ code verwijderd ]

Als je dan in het form bij myvalue invult: All Your Quotes Are Belong To Us';--
Dan staat die tekst opeens op ELKE regel in de tabel. Zonder MySQL foutmelding.
ook met deze constructie? want zo doe ik het altijd... en als je dan gaat klooien met ; en komma's etc dann loopt ie stuk op php code.. lijkt mij...:
1
2
3
$value = $_POST[myvalue];
$ids = $_POST[id];
$sql = "UPDATE mytable SET myvalue='$value' WHERE id=$ids";
pi_35529957
Nee, dat is voor php geen probleem. Dan werkt mijn "hack" nog steeds.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_35530022
quote:
Op zondag 26 februari 2006 23:51 schreef SuperRembo het volgende:
Nee, dat is voor php geen probleem. Dan werkt mijn "hack" nog steeds.
nou vreemd ik heb meerdere scrippie's gemaakt waar ik toch op die manier allerlei haakjes, puntkomma's en quotes tegenhield...
pi_35530260
Wat bedoel je met "tegenhouden"? Als je zoonder problemen een ' in kan voeren zit je waarschijnlijk wel goed (dan staat magic_quotes_gpc aan of je gebruikt addslashes/mysql_real_escape_string). Als er dingen fout gaan als je een ' invoert, dan heb je toch een (potentieel) probleem.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  maandag 27 februari 2006 @ 12:27:36 #148
52200 ViPeRII
It's a good day to die
pi_35538326
en nu heb ik een vraagje

Ik heb een bestand waarin ik wat settings schrijf.
Het bestand ziet er ongeveer zo uit:
USEDB | localhost | db | ww | naam | INSERT INTO evenementen (naam, datum, folder)
values ( '" . $_SESSION['albumhtmlinfo']['titel'] . "',
'" . $_SESSION['datum'] . "',
'" . $_SESSION['albumhtmlinfo']['filename'] . "' ) |


Het uitlezen van het bestand doe ik alsvolgt:

1
2
3
4
5
6
7
8
9
<?php 

    $fp = fopen($filename, "r") or die ("Couldn't open $filename");  
    while (!feof($fp)) {  
        $line = fgets($fp, 180);  
    //explode alle elementen tot regels in de array 
    $info_array = explode(" | ",addslashes($line));  

?> 

Als ik nu ga bekijken wat er in mijn $info_array[x] staat, gaat het allemaal goed,
bahalve het laatste lijntje (de SQL code die ik in het bestand heb geschreven.)
Daar staat alleen maar INSERT als laatste in mijn $info_array

Weet iemand hoe ik dit goed uit lees? Of kan het te maken hebben met de lengte van de bestands-regel of kan het aan nog wat anders liggen?
-- ViPeRII --
pi_35539203
1
2
3
4
5
6
7
8
9
10
11
<?php
php

    $fp
= fopen($filename, "r") or die ("Couldn't open $filename");  
    while (!
feof($fp)) {  
        
$line = fgets($fp, 180);  
    
//explode alle elementen tot regels in de array
    
$info_array[] = explode(" | ",addslashes($line));  


?>

Ofwel: $info_array[] =ipv $info_array =

Zonder die [] zou het gewoon een variable zijn, en elke keer door de nieuwe line overschreven worden. Met de [] wordt het een variable in een array.

edit: mist overigens ook een end bracket voor de while-lus
  maandag 27 februari 2006 @ 13:15:03 #150
52200 ViPeRII
It's a good day to die
pi_35539600
the_disheaver...

Die brackets weet ik, was verkeerd gekopiëerd hierheen, maar het probleem is niet dat het overschreven wordt.

$info_array wordt netjes gevult,
ik krijg dus in mijn voorbeeld:

echo $info_array[0]; // = USEDB
echo $info_array[1]; // = localhost

die waardes netjes terug, BEHALVE de laatste die hij moet pakken (in mijn geval $info_array[17])
want daar staat alleen maar INSERT in.
en $info_array[18] en hoger zijn gewoon leeg...
USEDB | localhost | db | ww | naam | INSERT
-- ViPeRII --
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')