[PHP] Funkcje bez apostrofowe

0

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?

0

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ń.

0
  1. Jest, i to przynajmniej 2 sposoby na które wpadłem w kilkanaście sekund.
  2. Też jest, ale wymaga sprzyjających warunków.
0

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ć.

0

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;-)

0
Ś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
0

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.

0
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]

1 użytkowników online, w tym zalogowanych: 0, gości: 1