揭阳市教育行业某公司存在【SQL注入漏洞】类型漏洞

一、漏洞定义:

用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。

二、可能造成的危害:

1、数据库内的信息全部被外界窃取

2、数据库中的内容被篡改

3、登认证被绕过(应用程序登录不需要用户名和密码)

4、其他,例如:服务器上的文件被读取或者修改、服务器上的程序被执行等

三、示例:

某个网站的登录验证的SQL查询代码为:

1

strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"

恶意填入

1

userName = "1' OR '1'='1";

1

passWord = "1' OR '1'='1";

时,将导致原本的SQL字符串被填为

1

strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');"

也就是实际上运行的SQL命令会变成下面这样的

1

strSQL = "SELECT * FROM users;"

因此达到无账号密码,亦可登录网站。所以SQL注入攻击被俗称为黑客的填空游戏。

四、安全建议:

1、存储程序

2、参数化SQL

3、Regular Expression

4、使用安全软件

请高度重视网站安全工作,对网站进行全面检测、整改,有关整改情况及时反馈同级公安机关网安部门。

如需技术协助,请登录平台获取专业技术人员支持

指导单位
广东省公安厅网络警察总队 广东省信息安全等级保护协调小组办公室