代碼注入軟件漏洞的類型 来自维基百科,自由的百科全书
SQL注入(英语:SQL injection),也称SQL注入或SQL注码,是发生于应用程式与数据库层的安全漏洞。简而言之,是在输入的字符串之中注入SQL指令,在设计不良的程序当中忽略了字符检查,那么这些注入进去的恶意指令就会被数据库伺服器误认为是正常的SQL指令而执行,因此遭到破坏或是入侵。[2]
此条目需要补充更多来源。 (2014年9月21日) |
“SQL注入”的各地常用名称 | |
---|---|
中国大陆 | SQL注入 |
台湾 | SQL注入、SQL隐码、SQL注码[1] |
在应用程式中若有下列状况,则可能应用程式正暴露在SQL Injection的高风险情况下:
--
后的文字为注解,或“/*
”与“*/
”所包起来的文字为注解)某个网站的登录验证的SQL查询代码为
strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"
恶意填入
userName = "1' OR '1'='1";
与
passWord = "1' OR '1'='1";
时,将导致原本的SQL字符串被填为
strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');"
也就是实际上运行的SQL命令会变成下面这样的
strSQL = "SELECT * FROM users;"
因此达到无账号密码,亦可登录网站。所以SQL注入被俗称为骇客的填空游戏。
Seamless Wikipedia browsing. On steroids.