के साथ सहायता की ज़रूरत है सबसे पहले, मैं कुछ भी हैक करने या करने की कोशिश नहीं कर रहा हूं। सोचा मैंने तुम्हें लोगों को बताया। मेरे पास एक ग्राहक है जो मुझे अपने सिस्टम पर कुछ संशोधन करना चाहता है, जब मैं इसे देख रहा था तो मुझे पता चला कि कुछ भी बच निकला नहीं था। मैं मजाक नहीं कर रहा हूं, कुछ भी बच नहीं रहा है। मैंने उन्हें समझाया कि इस तरह की प्रणाली होने में असुरक्षित है। फिर वह मुझे यह बताने के लिए आगे बढ़ता है कि उसके पास कुछ साल तक उसकी प्रणाली है और कुछ भी नहीं हुआ है। मुझे उसे दिखाने की ज़रूरत है कि उसकी प्रणाली सुरक्षित नहीं है, लेकिन मुझे वास्तव में एक एसक्यूएल इंजेक्शन करने के बारे में पता नहीं है। यहां कुछ प्रश्न हैं जो $ _GET का उपयोग करते हैं और बच नहीं पाए जाते हैं।एसक्यूएल इंजेक्शन
SELECT * FROM groups WHERE id=$thisladder[grid]
केवल बात यह है कि मुझे लगता है कि $ _GET साफ "हो सकता है" इस समारोह है:
SELECT *,DATE_FORMAT(joined,'%M %d, %Y') as \"Joined\" FROM `members` WHERE `name` LIKE '".$ltr."%' ORDER BY points DESC LIMIT $page,50
यहाँ एक और एक है
if (!ini_get('register_globals')) {
$superglobals = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobals, $_SESSION);
}
foreach ($superglobals as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
}
यह संभव है कि समारोह से ऊपर हो सकता है चर को sanitizing हो। और हाँ, सिस्टम रजिस्टर ग्लोबल्स का भी उपयोग करता है, जो भी खराब है।
मैंने भी बैकअप बनाया, बस मामले में।
क्या आप जानना चाहते हैं कि SQL इंजेक्शन को कैसे रोकें, या अपने क्लाइंट को साबित करें कि यह असुरक्षित है? – skyuzo
ओह मैन, न केवल वे कुछ भी नहीं बचते हैं, लेकिन वे स्पष्ट रूप से * पंजीकरण_globals' कार्यक्षमता को अनुकरण करते हैं यदि यह अक्षम है! यह पहला है! – rid
मुझे नहीं पता कि इसे कैसे साबित किया जाए। लेकिन मुझे पता है कि mysql_real_escape और तैयार कथन जाने का तरीका हैं। – user962449