Witam, mam pytanie, czy jest możliwość użycia funkcji fopen itd bez użycia Apostrofów lub cudzysłowiów?
Może jest inny sposób z poziomu PHP na operowania plikiem z poziomu PHP, lecz bez użycia apostrofów lub cudzysłowiów?
Witam, mam pytanie, czy jest możliwość użycia funkcji fopen itd bez użycia Apostrofów lub cudzysłowiów?
Może jest inny sposób z poziomu PHP na operowania plikiem z poziomu PHP, lecz bez użycia apostrofów lub cudzysłowiów?
Pewnie jakiś exploit wprowadzamy, co? Wszystkie argumenty które są nie-liczbami bierze się w apostrof albo cudzysłów bo inaczej kompilator potraktuje to jako stałą/błąd. Nie ma odchyleń.
Code injection w skrypcie PHP? Bez jaj, aż takich idiotów chyba nie ma? Chociaż brak apostrofów może sugerować, że dane mogą najpierw przez bazę przechodzić.
Dobra, wpadłem na pomysł nie używania charów, nie robię exploita o ile tak to wygląda. Mam coś takiego:
<?php
$dane = $_POST['dane'];
echo "$dane";
?>
Wiem, że mogłem to prościej zapisać, ale nie oto chodzi. Co trzeba wysłać do POST dane, żeby zamknąć ten cudzysłów z echo? W ogóle jest taka możliwość, z włączony magic_quotes? Naprościej by było napisać "
ale niestety to doda slasha i reszta kodu się nie wykona.
A druga sprawa, po co mi to jest, to po prostu kiedyś pisałem skrypt gdy nie potrafiłem nic napisać i chce zobaczyć, czy da się go obejść, skrypt wygląda tak:
<html>
<title>Panel Administracyjny</title>
<?php
$password='bardzoprostehaslo-qaz';
$str='<?php $notka="'.$_POST['notka'].'"?>';
if ($_POST['pass'] == $password) {
if(!$fd = fopen('./strony/infosport.txt', 'w+')){
echo '<b>B��d, dost�p do plik�w serwera zosta� zablokowany</b><br>';
}
if(fwrite($fd, $str) === false){
echo '<b>B��d serwera, zapis niezosta� dokonany</b><br>';
}
else{
echo '<b>Operacja zosta�a wykonana pomy�lnie</b><br>';
fclose($fd);
}
}
if (empty($_POST['pass'])) {
echo ''; } else {
if ($_POST['pass'] == $password) {} else echo '<b>B��d. Has�o jest nieprawid�owe</b><br>'; }
?>
<form method="post">
<p><h2>Panel administracyjny</h2></p>
<i>Wpisz tutaj og�oszenie : </i><br><input type="text" name="notka" value="<?php include './strony/infosport.txt'; echo $notka ?>" size=35/><br>
<i>Wpisz tutaj has�o administratora : </i><br><input type="password" name="pass" value="" size=30 /><br>
<input type="submit" name="Zapisz" value="Zapisz dane na serwerze" />
</form>
* <i>Uwaga, prosz� nie zostawia� pustych p�l, gdy� one te� si� wy�wietl� na stronie</i><br><br>
</html>
Kod pisany, kiedy praktycznie nie znałem jeszcze PHP a dopiero zacząłem się go uczyć.
Jak nie pomożecie to nawet nie będę dalej dociekać, po prostu chciałem sprawdzić z ciekawości czy coś takiego jest możliwe;-)
Świętowit napisał(a)
Code injection w skrypcie PHP? Bez jaj, aż takich idiotów chyba nie ma? Chociaż brak apostrofów może sugerować, że dane mogą najpierw przez bazę przechodzić.
heh, strona na której jesteś przez co najmniej 2 lata miała w kodzie błąd pozwalający na takie coś :D
mgx8 napisał(a)
Dobra, wpadłem na pomysł nie używania charów, nie robię exploita o ile tak to wygląda. Mam coś takiego:
<?php
$dane = $_POST['dane'];
echo "$dane";
?>
>
> Wiem, że mogłem to prościej zapisać, ale nie oto chodzi. Co trzeba wysłać do POST dane, żeby zamknąć ten cudzysłów z echo? W ogóle jest taka możliwość, z włączony magic_quotes? Naprościej by było napisać `"` ale niestety to doda slasha i reszta kodu się nie wykona.
lol ty widzisz co ty piszesz? żadnej logiki nie ma w tym co ty myślisz że jest możliwe do zrobienia :D
zapraszam do jakiegoś kursu php czy czegoś takiego
to oni cię brali za jakiegoś początkującego hackiera a się okazałeś początkującym użytkownikiem komputera :D
Chyba nie rozumiesz tego, że tam gdzie jest zmienna nie jest to rozwijane w kod. Czyli
$a = 'asdf"asdf'; echo "$a";
Nie spowoduje rozwinięcia zmiennych w
echo "asdf"asdf";
Po prostu nastąpi odwołanie do zmiennej.
Demonical Monk napisał(a)
Pewnie jakiś exploit wprowadzamy, co? Wszystkie argumenty które są nie-liczbami bierze się w apostrof albo cudzysłów bo inaczej kompilator potraktuje to jako stałą/błąd. Nie ma odchyleń.
A brak zdefiniowanej stałej wywali notice/warning [nie pamiętam] i stała zostanie uznana za string [diabel]