※ [本文转录自 CyberSecure 看板 #1SrZoqyB ]
作者: st1009 (前端攻城师) 看板: CyberSecure
标题: [教学] 小风的资安科普-SQL injection
时间: Sat May 11 11:08:32 2019
一.前言
SQL injection 是一种在网络上经典常见的攻击手法,不论是在CTF中,还是真实的
网络攻防战中都可以见到其身影。
故本文将介绍这种古老又实用的攻击手法给想要学习资讯安全的板友了解其原理以及
运作方式。
期待可以为一些没有资安经验的板友们开启一扇通往资讯安全领域的大门。
二.概述
1.什么是 SQL injection ?
SQL injection 是一种将恶意的程式码注入数据库搜寻语法的资安技术。
2.SQL injection 的危害是什么?
借由 SQL injection 黑客可以修改数据库中的内容,非法越权或者之后进行更
进一步的攻击手法。
3.如何进行 SQL injection?
找到存在漏洞的SQL注入点注入,例如:网址列的get使用处,帐号密码输入处,
以及其他各种会将资料送到数据库的位置。
三.原理
在数据库中,我们会使用搜寻语法进行搜寻。
例如:"SELECT * FROM user_data WHERE account ='$account' AND pwd = '$pwd' "
上例中存在两个来自使用者的变量,分别是帐号($account)以及密码($pwd),
在程式正常运行的时候,我们会寻找对应帐号密码皆相符的资料,将其输出。
但假设有恶意使用者输入了一些非法字符就会破坏这段搜寻语法。
例如:
$account = "' OR 1=1