WHAT IS SQL INJECTION

May 01, 2024 Copy Link

ุงู„ุณู„ุงู… ุนู„ูŠูƒู… ๐Ÿ™Œ

 

ุงู„ู†ู‡ุงุฑุฏู‡ ุฑุงุฌุนูŠู† ุจู…ู‚ุงู„ุฉ ุฌุฏูŠุฏุฉ ูˆ ู‡ู†ุชูƒู„ู… ุนู† ุงู„ SQL Injection ูˆ ุงุฏ ุฅูŠู‡ ู‡ูˆ ู…ู‡ู… ุนุดุงู† ู…ูˆู‚ุนูƒ ู…ูŠูƒูˆู†ุด vulnerable ๐Ÿ™…‍โ™‚๏ธ

 

ุงูˆู„ุงู‹ ุงู„ูƒู„ู…ุฉ ุฏูŠ ู…ู…ูƒู† ู†ุฎุชุตุฑู‡ุง ุจ SQLi ูˆ ู‡ูŠ ุจุชุณู…ุญ ู„ู„ attacker ุงู†ู‡ ูŠุชุนุงู…ู„ ู…ุน ุงู„ queries ุงู„ู„ูŠ ู…ูˆู‚ุนู†ุง ุจูŠุนู…ู„ู‡ุง, ูˆ ุฏุง ุจูŠุณู…ุญู„ู‡ ุงู†ู‡ ูŠุดูˆู ุฏุงุชุง ู…ุด ู…ุณู…ูˆุญ ู„ูŠู‡ ุงู†ู‡ ูŠุดูˆูู‡ุง ุฃูˆ ู…ู…ูƒู† ุชุฎู„ูŠ ูŠูˆุฒุฑ ูŠุดูˆู ุฏุงุชุง ุฎุงุตุฉ ุจูŠูˆุฒุฑ ุชุงู†ูŠ...ุงู„ุจูŠุงู†ุงุช ุฏูŠ ู…ู…ูƒู† ุชูƒูˆู† Password ุฃูˆ Credit Card ๐Ÿค

 

ุทูŠุจ ู‡ูˆ ู…ู…ูƒู† ุงุนุฑู ุฅุฐุง ูƒุงู† ุงู„ู…ูˆู‚ุน ุจุชุงุนูŠ vulnarable ูˆ ู„ุง ู„ุฃุŸ ๐Ÿค”

 

ู†ุนู… ูŠ ุตุฏูŠู‚ูŠ ุชู‚ุฏุฑ ุชุนุฑู ุจุญุงุฌุชูŠู† ูˆ ู‡ู…ุง ุงู„ single quote ูˆ ุงู„ boolean condition...ุชุนุงู„ูˆุง ุณุฑูŠุนุงู‹ ู†ุดูˆู ุงู„ู…ุดูƒู„ุฉ ุจุชูŠุฌูŠ ู…ู†ูŠู†

 

ู„ูˆ ุฃู†ุง ู‡ูƒุชุจ query ุฒูŠ ุงู„ู„ูŠ ุชุญุช ุฏูŠ ูˆ ุนุงูŠุฒ ุงุนู…ู„ู‡ุง run ุจุงู„ PHP

 

$query = "SELECT * FROM users WHERE user = '$username' and password = '$password'";

$result = mysql_query($query);

 

ุจุงู„ุทุฑูŠู‚ุฉ ุงู„ู„ูŠ ููˆู‚ ุฏูŠ ุฃู†ุง ุจุซู‚ ููŠ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ู‡ูŠูƒุชุจู‡ุง ุงู„ูŠูˆุฒุฑ, ูู…ุซู„ุงู‹ ู„ูˆ ูƒุชุจ ููŠ ุฎุงู†ุฉ ุงู„ูŠูˆุฒุฑ ู†ูŠู… admin ูˆ ููŠ ุฎุงู†ุฉ ุงู„ุจุงุณูˆุฑุฏ  a' or 1 = '1 ุนุดุงู† ูŠุจู‚ุง ุดูƒู„ ุงู„ query ุงู„ุฌุฏูŠุฏ ูƒุฏุง and password = 'a' or '1' = 1 ูˆ ุทุจุนุงู‹ ุงู„ condition ุงู„ู„ูŠ ู‡ูˆ  1 = '1' ู‡ูŠุชุญู‚ู‚ ุนู„ูŠ ุทูˆู„ ูˆ ู‡ูŠุฑุฌุนู„ูŠ ุจูŠุงู†ุงุช ูƒู„ ุงู„ู…ุณุชุฎุฏู…ูŠู†

 

ุทูŠุจ ุฃุนู…ู„ ุฅูŠู‡ ุนุดุงู† ุฃุญู„ ุงู„ู…ุดูƒู„ุฉ ุฏูŠุŸ

 

ุงู„ุญู„ ุฅู†ูƒ ุชุณุชุฎุฏู… ุงู„ Prepared Statement ูˆ ุฏูŠ ู…ูู‡ู…ุชู‡ุง ุฅู†ู‡ุง ุจุชุงุฎุฏ ุงู„ู‚ูŠู…ุฉ ุจุชุงุนุฉ ุงู„ูŠูˆุฒุฑ ุฒูŠ ู…ุง ู‡ูŠุง ุจุงู„ุธุจุท, ุฎู„ูˆู†ุง ู†ุนู…ู„ run ู„ู†ูุณ ุงู„ query ุงู„ู„ูŠ ูุงุชุช ุจุณ ุจุฅุณุชุฎุฏุงู… method ุชุงู†ูŠุฉ ููŠ ุงู„ PHP

 

$stmt = $mysqli->prepare("SELECT * FROM users WHERE user = ? AND password = ?");

$stmt->bind_param("ss", $username, $password);

$stmt->execute();

 

ุงู„ู…ูŠุซูˆุฏ ุงู„ู„ูŠ ุฅุณู…ู‡ุง bind_param ุฏูŠ ุจู‚ูˆู„ู‡ุง ุฅู†ูŠ ุฌุงูŠู„ูŠ two inputs string ู…ู† ุงู„ูŠูˆุฒุฑ ูˆ ุนุงูŠุฒ ุฃุดูŠู„ ุนู„ุงู…ุฉ ุงู„ุฅุณุชูู‡ุงู… ุงู„ุฃูˆู„ูŠ ูˆ ุฃุญุท ู…ูƒุงู†ู‡ุง ุงู„ูŠูˆุฒุฑ ู†ูŠู… ูˆ ุงู„ุชุงู†ูŠุฉ ุฃุญุท ู…ูƒุงู†ู‡ุง ุงู„ุจุงุณูˆุฑุฏ, ูƒุฏุง ูŠ ุตุฏูŠู‚ูŠ ู…ู‡ู…ุง ุชูƒู† ุงู„ู‚ูŠู…ุฉ ุงู„ู„ูŠ ุงู„ูŠูˆุฒุฑ ู‡ูŠูƒุชุจู‡ุง ุงู„ PHP ู‡ุชุงุฎุฏู‡ุง ุฒูŠ ู…ุง ู‡ูŠ ุจุงู„ุธุจุท ูˆ ุจูƒุฏุง ู†ูƒูˆู† ุจุฃู…ุงู† ๐Ÿ”

 

ุทูŠุจ ููŠ ู†ุงุณ ู…ู…ูƒู† ุชูƒุชุจ ุงู„ Boolean Condition ูˆ ู†ุงุณ ู…ู…ูƒู† ุชูƒุชุจ ุงู„ SQL Comment ูˆ ุงู„ู„ูŠ ุจุชูƒูˆู† ุนุจุงุฑุฉ ุนู† two hypens ุฒูŠ ุงู„ query ุงู„ู„ูŠ ุชุญุช ุฏูŠ โœ

 

SELECT * FROM users WHERE username = 'administrator' -- ' AND password = ''

 

ุจุงู„ุดูƒู„ ุงู„ู„ูŠ ููˆู‚ ุฏุง ู‡ูŠุญุตู„ ูƒูˆู…ู†ุช ู„ู„ุฌุฒุก ุงู„ู„ูŠ ุจุนุฏ ุงู„ูŠูˆุฒุฑ ู†ูŠู… ูˆ ู‡ูƒูˆู† ู‚ุฏุฑุช ุงุฌูŠุจ ูƒู„ ุจูŠุงู†ุงุช ุงู„ู…ุณุชุฎุฏู…ูŠู† ุชุงู†ูŠ ๐Ÿคก

 

ูˆ ุจูƒุฏุง ุฃูƒูˆู† ุฎู„ุตุช ูˆ ุฃุชู…ู†ูŠ ุชูƒูˆู† ุฅุณุชูุฏุช โœ”

Share via

Mahmoud Ramadan

Mahmoud Ramadan

Mahmoud is the creator of Digging Code and a contributor to Laravel since 2020.

Newly published

  • How to Enable Relationship Autoloading in Versions Before v12.8

    How to Enable Relationship Autoloading in Versions Before v12.8

    PREMIUM

  • Get your environment ready to welcome Laravel v12

    Get your environment ready to welcome Laravel v12

    PREMIUM

  • How to generate Arabic PDF using TCPDF

    How to generate Arabic PDF using TCPDF

    FREE