Materials and tools used in a security reviewIllustration of a working environment

Enrolment opening soon

SQL Injection in depth

SQL from the basics to SQL injection

Start with your first SELECT and understand queries before moving to SQL injection. Learn filtering, condition logic, sorting, grouping and UNION, then see how form data changes a query. Connect vulnerability tests to cause analysis and verification of the fix.

PLN 449planned price including tax

In your browser · No installation · Tutor and narration

FormatIn your browser, at your own pace
Syllabus14 topic areas
Edition languagePolish
Signup typeFree waitlist

SQL Injection in depth

Join the waitlist

Have a question? Email me

You can withdraw your consent at any time. This signup covers the selected course — we will not add you to the lists for the other courses automatically.

Open your browser. Start learning.

The tutor shows you.
The narrator explains. You practice.

Do not spend your first evening configuring an environment. The application, tools and task context are in one place. You do not need Docker, a VPN, a virtual machine or paid software.

See what to pay attention to

A virtual tutor walks you through the example and highlights important parts of the application, code or tool. Connect the instruction to what is happening on screen.

Hear why the result matters

Narration explains the mechanism, decision and result. Pause the guidance, return to an earlier step and work through it at your own pace.

Test your own reasoning

Take over in the exercise: change data, run a test or make a decision. Compare the result and improve your solution using the explanation.

One environment, without switching between a video and a local installation. Tools fit the topic: from HTTP requests and code to a terminal, calculator or document. Practice in simulators and prepared cases, without attacking other people's systems.

What will you be able to do?

From your first SELECT to explaining SQL injection.

First, understand the query. Then see how user input changes its meaning and how to check whether a fix addresses the cause.

Starting point

You do not know SQL or understand query results.

The skill you develop

Read a schema and write queries with filters, sorting and UNION.

How you test it in practice

Read the requested records and explain why the condition returned that particular dataset.

Starting point

You have a list of test strings but do not know what causes the flaw.

The skill you develop

Trace user input into SQL and build controlled tests.

How you test it in practice

Compare normal input with conditions that change the result. Justify the conclusion through behavior, not a single error message.

Starting point

You treat removal of a syntax error as a completed fix.

The skill you develop

Choose query protection and test data access separately.

How you test it in practice

Explain the role of parameterization and allowed SQL structure. Check that users still see only authorized records.

Why does this matter beyond the course?

A foundation for deliberate SQL injection testing and discussing causes and fixes with developers, not just blocking one payload.

Connect each skill to a concrete work product. Return to explanations while you practice.

A syllabus backed by materials

Specific topics.
Practice that helps you understand them.

See what makes up the syllabus: lessons, explanations, examples and exercises. The figures below describe different types of materials.

12chapters
Topic chapters in the current course materials. Subviews and indexes of the same content do not increase this count.
304narrated steps
Distinct pairs of screen text and narration after removing identical duplicates. These are guidance segments, not separate complete lessons.
307exercise variations
17 demonstrations, 50 levels and 240 SQL academy lessons. Academy lessons are already included in this total and declare different execution modes.
218queries in the corpus
Distinct SQL strings in the reference corpus. These are query examples, not counts of independent vulnerabilities or rerun results.

The figures describe the English-language source materials. The waiting list is for the planned Polish edition. These counts do not mean its translation is complete. Demonstration steps, examples and tasks are different units, not hours of video or counts of unique vulnerabilities.

Entry point

Who is this course for?

  • Beginners who want to learn SQL in the context of application behavior and security.
  • Aspiring pentesters and API testers who want to understand SQL injection instead of memorizing input strings.
  • Backend developers who want to test query construction and record access.

What helps at the start

  • No SQL knowledge required. The course starts with tables, columns, records and a simple SELECT.
  • Understanding URLs and form parameters will help in the application section. Examples explain the relationship between HTTP requests and queries.

Available in Polish and English — you can switch language at any time. Command names, code snippets and standard identifiers remain in their original form.

How you learn

First, understand.
Then, do it yourself.

The tutor walks through an example and explains each decision. In the exercise, return to the context, check the result and improve your answer.

  1. Understand the situation

    Goal, constraints and inputs. Know what you are testing and why.

  2. See the mechanism

    Watch a demonstration with tutor commentary, step by step.

  3. Complete the task

    Work with data, a tool or a scenario. Compare the result with your expectation.

  4. Draw a conclusion

    Justify your decision and understand its limitations. Return to anything that needs improvement.

Exercises use simulators and selected mechanisms that run in the browser. They do not require attacking other people's systems.

Planned syllabus

Know what you are learning. And why.

Each area develops a specific skill. Learn not only the topic but also the action and outcome that learning leads to.

Each topic includes a skill and a concrete exercise outcome.

I want to join the list
01Databases from the beginning

Learn tables, columns, records and keys through application data. Read the schema and relationships between orders, invoices, users and tenants. Establish what a query result means before changing it.

Tutor-guided exercise

What you practice
Read table structures and understand relationships between records.
Practical outcome
Find columns, identifiers and relationships in the prepared database. Identify where data ownership is recorded.
02Your first SELECT queries

Choose columns, a table and a WHERE condition. Compare a search result with a query deliberately returning no records. Read syntax and returned data together to understand every result change.

Tutor-guided exercise

What you practice
Select the required columns and records with SQL.
Practical outcome
Run SELECT on exercise data and compare the result with the table. Explain where each returned value comes from.
03Conditions and SQL logic

Practice comparisons, AND, OR and how grouping conditions affects results. Build pairs of true and false conditions. This supports later understanding of login-condition bypass and boolean-based tests.

Tutor-guided exercise

What you practice
Predict which records satisfy a query condition.
Practical outcome
Change conditions and logical grouping. Compare result sets and identify the significance of parentheses and NULL values.
04Sorting, grouping and limiting results

Use ORDER BY, GROUP BY and row limits in analytical queries. Distinguish a filter value from a column name or SQL structure fragment. Connect these elements to search and report parameters.

Tutor-guided exercise

What you practice
Distinguish record selection from presentation and aggregation.
Practical outcome
Compare queries with sorting, grouping and limits. Explain why a changed row count does not always mean changed permissions.
05From request to database

Trace search text, a product identifier and a sort choice into SQL. Compare normal form use with a value that changes the query. Identify the exact point where user data becomes syntax.

Tutor-guided exercise

What you practice
Trace user input into the executed query.
Practical outcome
Compare the parameter, code fragment and SQL. Identify where data may be treated as syntax.
06Injection signals

Start with a valid request and a control value that returns no results. Then check a syntax-error signal and matched true and false conditions. Connect the application response to changes in the query and records to distinguish a lead from a confirmed mechanism.

Tutor-guided exercise

What you practice
Distinguish a signal needing investigation from a confirmed effect on the query.
Practical outcome
Compare normal input with a controlled change. Record the error or result difference alongside an alternative explanation.
07UNION and result shape

Learn result combination with UNION, matching column counts and types, and where data appears. Progress from a valid query to its use in a controlled SQL injection example. Also test variations where filtering or query shape changes the possible result.

Tutor-guided exercise

What you practice
Match a combined query to the number and types of columns.
Practical outcome
Compare compatible and incompatible result shapes on local data. Explain why a particular UNION variation is accepted.
08Encoding and data inference

Practice character representations, hexadecimal values and questions about text fragments. Connect these operations to condition logic and response interpretation. See why input meaning depends on successive processing stages.

Tutor-guided exercise

What you practice
Recognize how input transformations affect SQL interpretation.
Practical outcome
Compare the submitted form with the value used in the query. Connect the observation to a specific condition, not the test string's appearance.
09Errors, blind injection and timing signals

Compare inference from error messages, logical differences and response time. Choose controls for a specific hypothesis. Timing examples and selected database functions are modeled to teach interpretation, not measure an external server.

Case analysis

What you practice
Assess the reliability of an indirect injection signal.
Practical outcome
Compare prepared true/false tests and timing signals with the baseline. Identify the need for repetition and ruling out other causes.
10SQL injection and file access

Use prepared examples to analyze how file operations depend on database functions, permissions and environment. Distinguish changing a query from reading a file. Identify information needed for further verification without accessing others' resources.

Case analysis

What you practice
Consider database permissions and configuration when assessing impact.
Practical outcome
Analyze a file-operation example and its conditions. Explain why SQL injection does not automatically provide access to any file.
11Parameterization and safe query structure

Compare string concatenation with treating values as data. Check why dynamic column names and sort direction require separate controls. Analyze ORM-based code instead of assuming that using a library removes the problem.

Tutor-guided exercise

What you practice
Distinguish parameter values from allowed SQL structure.
Practical outcome
Compare query concatenation with parameterization. Identify structural elements that need a controlled choice rather than a value parameter.
12Data authorization

Check invoice ownership, the role performing an export and tenant isolation. See that a safely constructed query can still return the wrong record. Connect user permissions to a data-restricting condition.

Tutor-guided exercise

What you practice
Test data isolation independently of SQL injection protection.
Practical outcome
Compare reading your own and another user's record. Explain why correct parameterization does not replace an ownership condition.
13Evidence and minimization

Record only the data needed to explain the issue, together with the request, query and result. Distinguish SQL injection, missing authorization and an unexplained signal. Describe the cause and recommend a fix for the actual flaw.

Workshop with prepared data

What you practice
Confirm the effect without retrieving unnecessary data.
Practical outcome
Choose the minimum result needed for the conclusion. Record the query, context and limitations instead of exporting the entire database.
14Remediation and regression

Repeat the same input after the fix and check that it is treated as data. Separately test other users' and your own records, export roles and report scope. Finish with results that allow assessment of the fix.

Workshop with prepared data

What you practice
Verify removal of the cause and correct query behavior.
Practical outcome
Compare an injection attempt, a normal search and cross-account access after the fix. Assess each result separately.

In practice

What will you work on
during the course?

Each case has context, a concrete action and an outcome. The goal is not to memorize a command but to understand why the result changed.

Your own queries against application data

Read the schema, write SELECT queries and prepare filters, sorting and grouping. Compare normal queries with true and false conditions and practice UNION.

Work productA set of queries explaining the syntax and returned records.

SQL injection and verification of the fix

Trace search input into SQL, prepare paired tests and check the change after securing the query. Separately test whether data ownership restrictions remain enforced.

Work productAn explanation of the injection mechanism and a regression plan for queries and permissions.

Certificate of completion

Finish the course.
Get the certificate.

When you complete the course, the certificate is issued automatically and emailed to you. It shows your name, the date of issue and a unique code, and its second page lists the course scope.

  • Anyone, such as an employer, can check the code without logging in.
  • The certificate is issued in English.
  • It confirms completion of the course; it is not an industry certification.

Code verification: cyberszkola.pl/verify

Sample certificate of completion, page 1, with example details and a SPECIMEN watermark
Sample certificate, page 2: course scope
Sample certificate: page 1 and the course scope on page 2. The name, date and code are examples.
Enlarge course scope
Sample certificate, page 2: course scope

Upcoming standalone course

A defined scope.
Without buying the whole path.

  • An introduction to SQL starting with tables and SELECT, with no prior knowledge required.
  • Examples of queries, conditions, UNION and SQL injection signal interpretation.
  • Form and API scenarios showing the relationship between input, queries and data.
  • Comparisons of vulnerable and corrected solutions, plus retest tasks.
  • Certificate of completion in English, with a verification code.

Planned course price

PLN 449including tax

Polish edition · Launch date not yet announced

Notify me at launch

Joining is free. Before sales open, you will receive the date, full scope and purchase terms. We are not taking payments today. This is a separate interest list, not a place reservation or purchase.

For companies and teams

Training for your team.
On our platform or in your LMS.

  • Company accounts, departments and licences on our platform, with progress reports for managers.
  • Delivery into your company's e-learning system. Progress and completion show up in your own reports.
  • VAT invoice issued to your company.

Compatible with LMS platforms including:

  • Moodle
  • TalentLMS
  • Cornerstone
  • Docebo
  • SAP SuccessFactors
  • Workday Learning
  • Absorb
  • 360Learning

and other platforms that support e-learning standards.

Price for companies

Individual quotedepends on the number of licences, access period and delivery method

Delivery into your company's own LMS from 50 licences.

Ask for a quote

Write to [email protected]: the number of people, the courses you want and your LMS, if you use one.

Jacek Wlodarczyk

Project author

Jacek Wlodarczyk

Creator of Cyberwiedza, cyberszkola and AI SecLabs. In these courses, I connect explanations of mechanisms with practice, observation and decisions you need to justify.

Running a command is not enough. What matters is what its output confirms, what it does not confirm and what the next step should be.

More about the author

Before joining

Good to know.

Is this course suitable for someone who does not know SQL yet?

Yes. Start with tables, records and SELECT, then progress to conditions, sorting, grouping and UNION. Vulnerability analysis belongs to the later part of the planned course.

Is this a general database administration course?

No. Learn SQL for reading and testing applications, with particular emphasis on SQL injection and data access control. Database server administration is not the course's main purpose.

Am I buying a course now?

No. This is an upcoming course announcement and an interest list. Joining is not a purchase, a place reservation or a commitment to pay.

When will it launch, and what will it cost?

The launch date, price and access terms will be announced before sales open. The interest list is how we send that information.

What language will the course use?

The course is available in Polish and in English — you can switch language at any time, and lessons, exercise explanations and narration exist in both. Commands, code and tool names keep their original syntax, as used in everyday work.

Do I need to install Docker, a VPN or my own lab?

No. All course exercises run in your browser on a computer with internet access. Training applications, terminals, editors and workshops are part of the platform. You do not install Docker, a virtual machine or a VPN, and you do not need paid external tools.

Is this just a collection of videos?

No. You work in an interactive environment. A virtual tutor highlights important elements, and narration explains the action and its result. Pause the lesson, return to earlier steps and run your own experiments. This guidance is built into the course, not individual consultation with a person.

Do the exercises act on other people's systems?

No. You use training applications, simulators and prepared data. Learn the mechanism and its limitations in a safe environment. External resources are supplementary, not required to complete the exercises.

Will I receive a certificate or a job guarantee?

Yes, a certificate of completion. When you complete the course, you receive a certificate in English with a unique code that anyone can check at cyberszkola.pl/verify. It confirms completion of the course and is issued by the author; it is not an industry certification. We do not promise employment.

Are these official OWASP or ISO courses?

No. These are independently authored courses using public references and original cases. They do not replace licensed standards, accreditation or qualifications required in regulated industries.

Join the waitlist

Do not miss the launch: SQL Injection in depth

Leave your email address. We will send you news of enrollment, the syllabus and first-edition terms. You will not need to keep checking this page.

Planned price: PLN 449 including tax

  • Launch news for your chosen course
  • The full offer before you decide to buy
  • Free to join, no obligation to buy

Join the waitlist

Have a question? Email me

You can withdraw your consent at any time. This signup covers the selected course — we will not add you to the lists for the other courses automatically.