शुरू करेंमुफ़्त में शुरू करें

स्टेटमेंट्स में हैकिंग

CityBook Libraries एक सर्च फीचर बना रहा है जिसमें यूज़र शीर्षक के आधार पर किताबें ढूँढ सकते हैं. आप सिस्टम की सुरक्षा को लेकर चिंतित हैं, इसलिए आपने इसे SQL injection हमलों के खिलाफ टेस्ट करने का फैसला किया है.

SQL injection का उपयोग करके जाँचिए कि क्या आप अनधिकृत डेटा निकाल सकते हैं. HikariSetup क्लास पहले से कॉन्फ़िगर है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Java में PostgreSQL डेटाबेस को क्वेरी करना

पाठ्यक्रम देखें

अभ्यास निर्देश

  • titleParameter को इस तरह बदलें कि आप ऐसी कंडीशन इंजेक्ट कर सकें जिससे सभी किताबें पढ़ी जा सकें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

public class Main {
    public static void main(String[] args) throws SQLException {
        HikariDataSource ds = HikariSetup.createDataSource();

		// Change the title to inject a condition that will allow reading all books
        String titleParameter = "To Kill a Mockingbird";

        String query = "SELECT * FROM books WHERE title = '" +  titleParameter + "'";

        try (Connection conn = ds.getConnection()) {
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(query);
            while (rs.next()) {
                System.out.printf("ID: %d, Title: %s (%d)%n", rs.getInt("book_id"), rs.getString("title"), rs.getInt("publication_year"));
            }
        }
    }
}
कोड संपादित करें और चलाएँ