Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] SQL Injection
-MPC User-
post
Post #1





Goście







Jakiś user udostępnił skrypt na pewnym forum i część użytkowników twierdzi, że jest on podatny na SQLi.

Nie znam się na php, ale chciałbym wtłoczyć ten skrypt do pewnej strony, ale nie wiem czy jest on bezpieczny.

  1. <?php
  2. // by Smudzas-Design
  3.  
  4. $host = '';
  5. $user = '';
  6. $pass = '';
  7. $cena = 62; // cena pierwszego pierscionka
  8. $czas = 7; // dlugosc pierwszego pierscionka
  9.  
  10. mysql_connect($host, $user, $pass);
  11. mysql_select_db('account');
  12.  
  13. echo '<meta http-equiv="content-type" content="text/html; charset=utf-8" />';
  14.  
  15. $zap = "SELECT `cash` FROM `account` WHERE `id`='".$_SESSION['id']."' LIMIT 1";
  16.  
  17. if($_GET['akcja'] == 'pd'){
  18. if($_GET['dni'] == $czas){
  19. if($tab['cash'] < $cena){
  20. echo 'Masz zbyt mało Smoczych Monet<br>';
  21. }
  22. else{
  23. $data = date("Y-m-d H:i:s");
  24. $time = strtotime($data);
  25. $czasTrwania = 3600 * 24 * $czas;
  26. $nowaData = $time + $czasTrwania;
  27. $doKiedy = date("Y-m-d H:i:s", $nowaData);
  28.  
  29. $pd = mysql_query("UPDATE `account` SET `cash`=`cash`-".$cena.", `silver_expire`='".$doKiedy."' WHERE `id`='".$_SESSION['id']."'");
  30.  
  31. if($pd){
  32. echo 'Pomyślnie kupiłeś PD';
  33. }
  34. else{
  35. echo 'Błąd. Spróbuj ponownie';
  36. }
  37. }
  38. }
  39. elseif($_GET['dni'] == $czas*2){
  40. if($tab['cash'] < $cena*2){
  41. echo 'Masz zbyt mało Smoczych Monet';
  42. }
  43. else{
  44. $data = date("Y-m-d H:i:s");
  45. $time = strtotime($data);
  46. $czasTrwania = 3600 * 24 * $czas *2;
  47. $nowaData = $time + $czasTrwania;
  48. $doKiedy = date("Y-m-d H:i:s", $nowaData);
  49.  
  50. $pd = mysql_query("UPDATE `account` SET `cash`=`cash`-".$cena*2 .", `silver_expire`='".$doKiedy."' WHERE `id`='".$_SESSION['id']."'");
  51.  
  52. if($pd){
  53. echo 'Pomyślnie kupiłeś PD';
  54. }
  55. else{
  56. echo 'Błąd. Spróbuj ponownie';
  57. }
  58. }
  59. }
  60. elseif($_GET['dni'] == $czas*4){
  61. if($tab['cash'] < $cena*4){
  62. echo 'Masz zbyt mało Smoczych Monet';
  63. }
  64. else{
  65. $data = date("Y-m-d H:i:s");
  66. $time = strtotime($data);
  67. $czasTrwania = 3600 * 24 * $czas *4;
  68. $nowaData = $time + $czasTrwania;
  69. $doKiedy = date("Y-m-d H:i:s", $nowaData);
  70.  
  71. $pd = mysql_query("UPDATE `account` SET `cash`=`cash`-".$cena*4 .", `silver_expire`='".$doKiedy."' WHERE `id`='".$_SESSION['id']."'");
  72.  
  73. if($pd){
  74. echo 'Pomyślnie kupiłeś PD';
  75. }
  76. else{
  77. echo 'Błąd. Spróbuj ponownie';
  78. }
  79. }
  80. }
  81. else{
  82. echo '<a href="index.php?akcja=pd&dni='.$czas.'"><h1 style="text-align:center;">'.$czas.' dni ('.$cena.' SM)</h1></a>';
  83. echo '<a href="index.php?akcja=pd&dni='.$czas*2 .'"><h1 style="text-align:center;">'.$czas*2 .' dni ('.$cena*2 .' SM)</h1></a>';
  84. echo '<a href="index.php?akcja=pd&dni='.$czas*4 .'"><h1 style="text-align:center;">'.$czas*4 .' dni ('.$cena*4 .' SM)</h1></a>';
  85. }
  86. }
  87. else{
  88. echo '<a href="index.php?akcja=pd"><h1 style="text-align:center;">Kup pierścień expa</h1></a>';
  89. }
  90.  
  91. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
d3ut3r
post
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

Ostrzeżenie: (0%)
-----


można poczytać ciekawe rzeczy (IMG:style_emoticons/default/smile.gif)

http://ha.xxor.se/2011/09/local-session-po...php-part-1.html

czyli generalnie i tak wszystko zależy, od konfiguracji serwera. Zatrucie sesji jest możliwe tylko gdy serwer nie jest odpowiednio skonfigurowany wówczas skrypt taki jaki przedstawił autor może sprawić problemy. Osobiście nie ufam żadnym zmiennym (to że teraz atak jest nie możliwy nie znaczy, że za 3 dni nie będzie nowej luki) tym bardziej jeżeli potrzebuje inta to zwykłe rzutowanie w zupełności wystarcza.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 21:51