【分享】SQL中的注入漏洞
2016-09-10 17:38
387 查看
例:假设一个账户密码的输入在数据库中是这样进行判断的。
如果输入:
因为 ‘1’=‘1’ 永远返回的是true 所以 这就造成了SQL 的注入漏洞。
解决办法:
①:过滤敏感字符
②使用参数化 SQL语句(推荐)
SELECT (FPASSWORD = '123456' ) AS PWDCORRECT FROM T_USER WHERE FUSER= 'GUEST'
如果输入:
SELECT (FPASSWORD='1' OR '1'='1') AS PWDCORRECT FROM T_USER WHERE FUSER='ABC'
因为 ‘1’=‘1’ 永远返回的是true 所以 这就造成了SQL 的注入漏洞。
解决办法:
①:过滤敏感字符
if(user.contains("or","and","select","delete")) { printf("可能存在注入漏洞攻击!"); }
②使用参数化 SQL语句(推荐)
string user=textUser.getText(); string password=textPassword.GetText(); query=CreateQuery("SELECT (FPASSWORD= :PASSWORD) AS PWDCORRECT FROM T_USER WHERE F_USER=:USER"); query.SetParameter(":PASSWORD",password); query.SetParameter(":USER",user); if(rs.getBool("PWDCORRECT")==TRUE){ //密码正确 }
相关文章推荐
- 不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令
- SQL 注入天书 - ASP 注入漏洞全接触
- 关于SQL漏洞注入(Ado.Net)
- Delivering Digital Media CMS SQL 注入漏洞
- SQL注入漏洞全接触
- Sql 注入漏洞,注意
- Sql 注入漏洞
- 不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令
- ASP防SQL 注入漏洞检查函数
- SQL注入漏洞全接触--高级篇
- SQL插入式注入看似无漏洞网站
- 不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令
- 不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令
- SQL注入漏洞全接触
- 不为人知的动网7.1 SQL版注入漏洞
- Sql通用防注入系统3.1β版的跨站漏洞
- 不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令
- 不为人知的动网7.1 SQL版注入漏洞(图)(anqn)
- SQL数据注入漏洞-绕过登陆验证
- Sql 注入漏洞