当前位置:  编程技术>php

php如何防范sql注入攻击 sql注入原理解析

    来源: 互联网  发布时间:2014-08-30

    本文导语:  SQL 注入是php教程中最常提及的漏洞之一。 开发者要同时犯两个错误才会引发一个sql注入漏洞,一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。 这两个重要的步...

SQL 注入是php教程中最常提及的漏洞之一。

开发者要同时犯两个错误才会引发一个sql注入漏洞,一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。
这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。

对于攻击者来说,进行sql注入攻击需要思考和试验,对数据库方案进行有根有据的推理非常有必要(当然假设攻击者看不到你的源程序和数据库方案),考虑以下简单的登录表单:
 

代码示例:

Username:


Password:




 

作为一个攻击者,他会从推测验证用户名和密码的查询sql语句开始。
通过查看源文件,他就能开始猜测你的习惯。

比如命名习惯。
通常会假设你表单中的字段名为与数据表中的字段名相同。
当然,确保它们不同未必是一个可靠的安全措施。

相关阅读:
  • php防范SQL注入攻击与XSS攻击的方法
  • 使用PDO查询Mysql来避免SQL注入风险
  • php防止sql注入漏洞过滤函数
  • php防止sql注入正则过滤
  • php sql注入式攻击

第一次猜测,一般会使用下面例子中的查询:
 

代码示例:

 

当然,攻击者未必在第一次就能猜中,他们常常还需要做一些试验。有一个比较好的试验方式是把单引号作为用户名录入,原因是这样可能会暴露一些重要信息。有很多开发人员在Mysql语句执行出错时会调用函数mysql_error()来报告错误。见下面的例子:
 

代码示例:

 

虽然该方法在开发中十分有用,但它能向攻击者暴露重要信息。如果攻击者把单引号做为用户名,mypass做为密码,查询语句就会变成:
 

代码示例:

    
 
 

您可能感兴趣的文章:

  • php防止sql注入代码实例
  • PHP MYSQL注入攻击需要预防7个要点
  • php is_numberic函数产生sql注入漏洞怎么解决
  • php过滤参数特殊字符防注入
  • php防SQL注入代码(360提供)
  • Discuz7.2版的faq.php SQL注入漏洞分析
  • PHP登录环节防止sql注入的方法浅析
  • PHP防范SQL注入的具体方法详解(测试通过)
  • php防范sql注入方法与实例代码
  • php防止sql注入的代码示例
  • php中sql注入漏洞示例 sql注入漏洞修复
  • php防止sql注入函数(discuz)
  • php防止sql注入函数用法
  • php过滤特殊字符sql防注入代码
  • php sql注入攻击与防范注意事项
  • Python写的Discuz7.2版faq.php注入漏洞工具
  • php防止sql注入实例解析
  • PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
  • PHP Mini SQL Admin
  • PHP SQL数据库开发框架 Medoo
  • PHP的SQL封装脚本 TbsSQL
  • PHP 框架 Pop php iis7站长之家
  • PHP导入sql文件三种方法
  • linux 下用unixODBC FreeTDS php访问SQL Server
  • php导入SQL文件(示例代码)
  • php CI框架插入一条或多条sql记录示例
  • PHP处理SQL脚本文件导入到MySQL的代码实例
  • PHP学习之SQL语句快速入门
  • php mysqli批量执行sql语句
  • php导入csv到sql文件自动插入数据库(示例)
  • PHP mysqli 增强 批量执行sql 语句的实现代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php通过pack和unpack函数实现对二进制数据封装及解析
  • Linux下重编译PHP后Apache竟然不能解析.php文件?
  • PHP的Markdown解析器 Parsedown
  • PHP的PDF解析库 PdfParser
  • PHP和Perl的XML解析包 MiniXML
  • PHP的XML和JSON数据解析和缓存包 coreylib
  • php trim函数执行过程解析
  • 好象我的apache服务器不解析我的php程序啊(why)
  • php解析json数据实例
  • PHP的HTML解析工具 HtmlParser
  • 一个不易被发现的PHP后门代码解析
  • PHP文件锁定写入实例解析
  • PHP json_decode函数详细解析
  • PHP服务器端异步执行方法解析
  • php替换换行符的问题解析
  • php多任务程序实例解析
  • PHP的HTML解析 wiseparser
  • php伪造ip与防止伪造ip方法解析
  • php文件锁定写入实例解析
  • php垃圾回收机制解析
  • php解析url的三个示例
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3