`
lianxiangbus
  • 浏览: 527671 次
文章分类
社区版块
存档分类
最新评论

关于sql 注入 (php)

 
阅读更多

昨天看了些有关sql注入的的知识,没想到sql学的好的话可以如此强大,\(^o^)/~,小哥的sql只是皮毛啊,那就只防不攻吧……这些知识全都是网络上搜刮得来的,前人总结非个人的快哭了,我把主要的都贴进来供以后学习


PHP注入的基本原理

程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对

用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据

库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的

SQL Injection,即SQL注入。 受影响的系统:对输入的参数不进行检查和过滤的系统

正常来讲,我们通过地址接收一些必要的参数如:

PHP100.php?id=2 页面中我们会使用 2 写入到SQL语句中

正常情况:Select * From Table where id=2

如果我们对SQL语句熟悉,就知道2 我们可以替换成我们需要的SQL语句

如:and exists (select id from admin)

如何防止SQL注入

  归纳一下,主要有以下几点:

  1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。

  2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

  3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。

  4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

  5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装

  6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。

防止注入的几种办法

其实原来就是我们需要过滤一些我们常见的关键字和符合如:

Select,insert,update,delete,and,*,等等

function inject_check($sql_str) {

returneregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file

|outfile', $sql_str); // 进行过滤

}

或者是通过系统函数间的过滤特殊符号

Addslashes(需要被过滤的内容)

PHP其他地方安全设置

1、register_globals = Off 设置为关闭状态
2、SQL语句书写时尽量不要省略小引号和单引号

Select * FromTable Where id=2 (不规范)

Select * From·Table· Where `id`=’2’ (规范)

3、正确的使用 $_POST $_GET $_SESSION 等接受参数,并加以过滤

4、提高数据库命名技巧,对于一些重要的字段可根据程序特点命名

5、对于常用方法加以封装,避免直接暴露SQL语句




关于sql注入方法,百度百科上面讲的太详细了,有兴趣的可以去看下http://baike.baidu.com/view/3896.htm……


分享到:
评论

相关推荐

    SQL注入全面讲解技术文档

    8.PHP与SQL注入攻击 29 9.SQL注入攻击零距离 30 10.SQL注入技术和跨站脚本攻击的检测 34 11.菜鸟入门级:SQL注入攻击 39 12. SQL注入渗透某网络安全公司的网站全过程 42 13.利用SQL注入2分钟入侵网站全程实录 45

    PHP+Mysql 带SQL注入源码 下载

    PHP+Mysql 带SQL注入源码、下载解压部署到环境中去就行了。

    整理出来的SQL注入点关键字

    整理出来的关于SQL注入时所需要的关键字,很全面,覆盖了很多,包括asp,php等等

    寻找sql注入的网站的方法(必看)

    方法一:利用google高级搜索,比如搜索url如.asp?... 您可能感兴趣的文章:Java面试题解析之判断以及防止SQL注入SQL注入原理与解决方法代码示例通过ibatis解决sql注入问题Win2003服务器防SQL注入神器–D盾_IIS防火墙

    SQL注入攻击与防御

    SQL注入是Internet上最危险、最有名的安全漏洞之一,本书是目前唯一一本专门致力于讲解SQL威胁的图书。本书作者均是专门研究SQL注入的安全专家,他们集众家之长,对应用程序的基本编码和升级维护进行全面跟踪,详细...

    PHPSQL注入漏洞学习

    详细讲解了PHPsql注入漏洞的类型,及其防范措施,对开发网站,深入了解sql的人会有一定的帮助。

    防SQL注入的php代码

    防SQL注入的php,通用防注入类

    SQL注入原理及PHP防注入代码.pdf

    SQL注入基本概念,原理,防注入php代码以及 相关的图片实例,具体可下载查看。

    360提供的php防sql注入代码修改类

    从360提供的PHP防SQL注入代码改成的一个类,从SQL注入和HTTP跨站两个方面入手,解决网站存在安全风险的问题,希望对朋友们有所帮助。

    PHP中全面阻止SQL注入式攻击

    PHP中全面阻止SQL注入式攻击 出于无赖,我也是办法了,要搞点分用啦!

    SQL注入漏洞演示源代码

    SQL注入漏洞演示源代码 更多免费资源请查看:http://download.csdn.net/user/php_fly

    《sql注入》

    本节课程让您了解SQL注入的原理、SQL注入的危害、SQL注入攻击的手段、 ASP+Access注入、ASPX+MsSQL注入、PHP+MySQL注入、JSP+Oracle注 入;以及深入SQL注入攻击,如SQL盲注、利用操作系统、SQL注入的绕过、 如何防御...

    Web环境下SQL注入攻击的检测

    专门针对SQL注入攻击的工具较少,Wpoison对于用asp,php进行的开发有一定帮助。本文中的DDL模型作为一个整体解决方案,对代码稍加变动也可用于SQL Server以外的关系数据库。已经将该模型应用于某单位的Web数据库开发...

    利用谷歌搜索SQL注入漏洞关键词

    利用谷歌搜索SQL注入漏洞关键词 目标关键字+inurl:id 英语字母及单词+inurl:id 网站域名+inurl:id 阿拉伯数字+inurl:id inurl:asp?id= inurl:Article_Print.asp? EnCompHonorBig.asp?id=随便加个数字 showproduct....

    注入技术及实现 sql注入 dll注入

    本文档详细介绍了针对asp网站的sql注入技术和针对php网站的sql注入技术,还讲解了dll注入技术,从原理到实例叙述比较详细

    php防SQL注入的一个类

    一个php防SQL注入的一个类,参数检查并写入日志,SQL注入日志。

Global site tag (gtag.js) - Google Analytics