sql注入是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql注入是啥意思相关的知识,希望对你有一定的参考价值。
参考技术A SQL注入属于注入式攻击,这种攻击是因为在项目中没有将代码与数据隔离,在读取数据的时候,错误地将数据作为代码的一部分执行而导致的。如何处理SQL注入情况?三个方面:
1、过滤用户输入参数中的特殊字符,降低风险;
2、禁止通过字符串拼接sql语句,严格使用参数绑定来传入参数;
3、合理使用数据库框架提供的机制。 参考技术B 随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根
据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据。
据统计,网站用ASP+Access或SQLServer的占70%以上,php+MySQ占L20%,其他的不足10%。
这个 SQL 技巧或注入是啥意思?
【中文标题】这个 SQL 技巧或注入是啥意思?【英文标题】:What does this SQL trick or injection mean?这个 SQL 技巧或注入是什么意思? 【发布时间】:2015-10-21 18:19:30 【问题描述】:我创建这个是因为一些用户试图把它放在我的 sql 中
但使用 mysql_real_escape_string 它实际上保存了我的网站..
我只是想问一下这段代码到底做了什么.. 非常感谢;)
(select(@) from (select (@:=0x00),(select (@) from (TABLE) where (@) in (@:=concat(@,0x0a,col1,0x3a,col2,0x3a,col3))))a)
【问题讨论】:
【参考方案1】:在隔离的测试环境中,针对干净的数据库执行它,看看它做了什么。它还有助于查看normal
sql 语句的外观,以便将其与恶意版本进行比较。附带说明一下,使用准备好的语句来防止 sql 注入情况。
始终限制输入。验证应用程序的所有输入的类型、长度、格式和范围。
【讨论】:
好吧..我试图测试它..但它给了我错误,我认为mysql_real_escape_string改变它..所以现在我不知道:(? 我没有看到任何会导致您的数据更改的更新声明。我建议您提供完整的 sql 并将其发布到数据库论坛...同时,请按照我的建议采取预防措施,以保护您的网站免受 sql 注入以上是关于sql注入是啥意思的主要内容,如果未能解决你的问题,请参考以下文章