当前位置:  编程技术>php

php中sql注入漏洞示例 sql注入漏洞修复

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

    本文导语:  在开发网站的时候,出于安全考虑,需要过滤从页面传递过来的字符。通常,用户可以通过以下接口调用数据库的内容:URL地址栏、登陆界面、留言板、搜索框等。这往往给骇客留下了可乘之机。轻则数据遭到泄露,重则服务...

在开发网站的时候,出于安全考虑,需要过滤从页面传递过来的字符。通常,用户可以通过以下接口调用数据库的内容:URL地址栏、登陆界面、留言板、搜索框等。这往往给骇客留下了可乘之机。轻则数据遭到泄露,重则服务器被拿下。

 一、SQL注入的步骤

a)  寻找注入点(如:登录界面、留言板等)

b)  用户自己构造SQL语句(如:' or 1=1#,后面会讲解)

c)  将sql语句发送给数据库管理系统(DBMS)

d)  DBMS接收请求,并将该请求解释成机器代码指令,执行必要的存取操作

e)  DBMS接受返回的结果,并处理,返回给用户


因为用户构造了特殊的SQL语句,必定返回特殊的结果(只要你的SQL语句够灵活的话)。

下面,我通过一个实例具体来演示下SQL注入

二、SQL注入实例详解(以上测试均假设服务器未开启magic_quote_gpc)

1)  前期准备工作

先来演示通过SQL注入漏洞,登入后台管理员界面

首先,创建一张试验用的数据表:

代码如下:

CREATETABLE `users` (

`id`int(11) NOT NULL AUTO_INCREMENT,

`username`varchar(64) NOT NULL,

`password`varchar(64) NOT NULL,

`email`varchar(64) NOT NULL,

PRIMARYKEY (`id`),

UNIQUEKEY `username` (`username`)

)ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

添加一条记录用于测试:

代码如下:

INSERTINTO users (username,password,email)

VALUES('MarcoFly',md5('test'),'marcofly@test.com');



接下来,贴上登录界面的源代码:
代码如下:



Sql注入演示




 
    Sql注入演示
   
     
        用户名:
       
     
     
        密  码:
       
     
     
       
       
     
   
 



当用户点击提交按钮的时候,将会把表单数据提交给validate.php页面,validate.php页面用来判断用户输入的用户名和密码有没有都符合要求(这一步至关重要,也往往是SQL漏洞所在)

代码如下:

代码如下:



登录验证



    
 
 

您可能感兴趣的文章:

  • 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注入函数(discuz)
  • php防止sql注入函数用法
  • php如何防范sql注入攻击 sql注入原理解析
  • php过滤特殊字符sql防注入代码
  • php sql注入攻击与防范注意事项
  • Python写的Discuz7.2版faq.php注入漏洞工具
  • php防止sql注入实例解析
  • PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • php漏洞挖掘工具 PHP Vulnerability Hunter
  • Uploadify 'uploadify.php'存在多个输入验证漏洞
  • 检测XSS漏洞的扩展 PHP Taint
  • PHP代码漏洞检测工具 PHPSecurityScanner
  • PHP程序漏洞产生的原因分析与防范方法说明
  • php5系列的apache远程执行漏洞攻击脚本
  • PHP编程中的常见漏洞和代码实例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php通过socket_bind()设置IP地址代码示例
  • php循环创建目录示例分享(php创建多级目录)
  • PHP获取php,mysql,apche的版本信息示例代码
  • php定义数组和使用示例(php数组的定义方法)
  • php输出奇数偶数示例
  • php递归示例 php递归函数代码
  • php生成数组的使用示例 php全组合算法
  • php分割数组示例
  • php数组随机排序示例
  • PHP 强制下载文件示例代码
  • php动态生成函数示例
  • php输入流php://input使用示例(php发送图片流到服务器)
  • php循环创建多级目录示例
  • php二维数组转换为字符串示例
  • php求两个目录的相对路径示例(php获取相对路径)
  • PHP数组根据值获取Key的简单示例
  • php比较绝对时间的大小示例
  • php cli换行示例
  • 设置php页面编码的两种方法示例介绍
  • php类声明和php类使用方法示例分享
  • PHP邮箱地址正确性验证示例
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • PHP转换器 HipHop for PHP
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP 框架 Pop php
  • PHP去除html标签,php标记及css样式代码参考
  • PHP的JavaScript框架 PHP.JS
  • php安装完成后如何添加mysql扩展
  • php服务器探针显示php服务器信息




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

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

    浙ICP备11055608号-3