biztonság: usertől jött adat validálása

SQLi, local file injection
This commit is contained in:
Kováts Levente 2021-01-18 15:49:35 +01:00
parent 78b0dca747
commit ea8163c5af
2 changed files with 10 additions and 2 deletions

View File

@ -75,7 +75,7 @@ function publish_image($artwork_details)
$MAX_THUMB_IMAGE_FILESIZE_STR = "100k"; // bélyegkép maximális mérete $MAX_THUMB_IMAGE_FILESIZE_STR = "100k"; // bélyegkép maximális mérete
$THUMB_IMAGE_LARGEST_DIM = THUMB_LARGEST_SIDE; // bélyegkép hosszabb oldalának mérete $THUMB_IMAGE_LARGEST_DIM = THUMB_LARGEST_SIDE; // bélyegkép hosszabb oldalának mérete
$incoming_filename = incoming_from_uid($artwork_details["uid"]); $incoming_filename = incoming_from_uid(only_alpha_numeric($artwork_details["uid"]));
$final_filename = date("Y_m_d_H_i_s") . bin2hex(openssl_random_pseudo_bytes(4)) . ".jpg"; $final_filename = date("Y_m_d_H_i_s") . bin2hex(openssl_random_pseudo_bytes(4)) . ".jpg";
// nagyméretű kép elkészítése // nagyméretű kép elkészítése
@ -107,6 +107,7 @@ function publish_image($artwork_details)
$img_info = getimagesize($thumb_filename); $img_info = getimagesize($thumb_filename);
// felhasználótól jött adatok, ellenőrizni kell
$author = mysqli_real_escape_string($dbconn, $artwork_details["author"]); $author = mysqli_real_escape_string($dbconn, $artwork_details["author"]);
$title = mysqli_real_escape_string($dbconn, $artwork_details["title"]); $title = mysqli_real_escape_string($dbconn, $artwork_details["title"]);
$desc = mysqli_real_escape_string($dbconn, $artwork_details["desc"]); $desc = mysqli_real_escape_string($dbconn, $artwork_details["desc"]);
@ -157,6 +158,10 @@ function get_batch($offset, $n)
{ {
global $dbconn; global $dbconn;
// felhasználótól jött paraméterek, ellenőrizni kell
$offset = intval($offset);
$n = intval($n);
$batch = []; $batch = [];
// kívánt mennyiségű képinformáció lekérdezése // kívánt mennyiségű képinformáció lekérdezése
@ -174,6 +179,9 @@ function get_update_batch($last_uid)
{ {
global $dbconn; global $dbconn;
// felhasználótól jött paraméter, ellenőrizni kell
$last_uid = mysqli_real_escape_string($dbconn, $last_uid);
$batch = []; $batch = [];
// az utolsó UID óta érkezett sorok kiválogatása // az utolsó UID óta érkezett sorok kiválogatása

View File

@ -113,7 +113,7 @@ function process_upload_response(resp) {
if (/^[0-9a-zA-Z]+$/.test(resp)) { // ha random string a válasz, akkor kaptunk UID-t if (/^[0-9a-zA-Z]+$/.test(resp)) { // ha random string a válasz, akkor kaptunk UID-t
image_uid = resp; image_uid = resp;
pup_slide(1); // előrelépés pup_slide(1); // előrelépés
} else { // ha negatív szám a válasz vagy egyébb szöveg, akkor hibás az eredmény } else { // ha negatív szám a válasz vagy egyébb szöveg, akkor hibás az eredmény
let resp_num = Number(resp); let resp_num = Number(resp);
switch (resp_num) { switch (resp_num) {