`

SQL注入的简单理解

阅读更多
一什么是SQL注入?

我的理解是在代表web表单提交的那个文本框中插入恶意的SQL语句,而设计不良的web程序忽略了相应的检查,这些SQL语句就会被数据库认为是正确合法的语句,从而造成破坏。

二SQL注入的原理是什么?

引用
如果在组合SQL的命令字符串时,未针对单引号字符作取代处理的话,将导致该字符变量在填入命令字符串时,被恶意窜改原本的SQL语法的作用


比如
strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"

userName = "' OR '1'='1";
passWord = "' OR '1'='1";

这样就达到了strSQL = "SELECT * FROM users;"也就是无账号密码进入网站
例子参考http://zh.wikipedia.org/wiki/SQL%E8%B3%87%E6%96%99%E9%9A%B1%E7%A2%BC%E6%94%BB%E6%93%8A

三如何避免危害?

1.参数化查询,就是在查询数据库的语句中,在需要插入数据的地方,使用参数的方法来给值。而数据库服务器不会将参数的内容视为SQL指令的一部份来处理,而是在数据库完成 SQL 指令的编译后,才套用参数运行。也就是先编译,后查询,这时如果套用的参数中包含SQL指令,那么由于已经编译完成,就不会再运行。

例子可参考
http://zh.wikipedia.org/wiki/%E5%8F%83%E6%95%B8%E5%8C%96%E6%9F%A5%E8%A9%A2

2.使用PHP 魔术引号功能
自动将所有的网页传入参数,将单引号字符取代为连续2个单引号字符

其他方法请参考http://zh.wikipedia.org/wiki/SQL%E8%B3%87%E6%96%99%E9%9A%B1%E7%A2%BC%E6%94%BB%E6%93%8A
分享到:
评论

相关推荐

    SQL注入攻击与防御

    1.4 理解SQL注入的产生过程 10 1.4.1 构造动态字符串 10 1.4.2 不安全的数据库配置 16 1.5 本章小结 18 1.6 快速解决方案 18 1.7 常见问题解答 19 第2章 SQL注入测试 21 2.1 概述 22 2.2 寻找SQL注入 22 2.2.1 借助...

    SQL注入攻击与防御(安全技术经典译丛)

     1.4 理解SQL注入的产生过程  1.4.1 构造动态字符串  1.4.2 不安全的数据库配置  1.5 本章小结  1.6 快速解决方案  1.7 常见问题解答 第2章 SQL注入测试  2.1 概述  2.2 寻找SQL注入  2.2.1 借助...

    五分钟快速搞懂什么是SQL注入-SQL注入详解(干货满满)

    通过生动的例子和简单的故事,读者可以快速上手SQL注入,并在实际项目中应用。 ### 适用人群 本文适用于所有对SQL注入感兴趣的初学者,无论是计算机科学、网络安全专业的学生,还是希望在自己的项目中防范SQL注入的...

    sql注入基础知识.rar

    sql注入 SQL注入即是指web应用程序对用户输入数据的...简单的理解就是web服务器对用户输入的参数没有进行严格的过滤和验证,并且被带入到数据库当中执行,那么攻击者就可以构造恶意的payload进行对数据库的增删查改。

    PHP简单实现防止SQL注入的方法

    主要介绍了PHP简单实现防止SQL注入的方法,结合实例形式分析了php防止SQL注入的常用操作技巧与注意事项,代码备有详尽注释便于理解,需要的朋友可以参考下

    Web应用安全:pangolin操作参数介绍.pptx

    安全技术研究人员能够通过Pangolin来更多更深入的理解SQL注入的技术细节 1.Pangolin可以用来做什么? pangolin简介 全面的数据库支持 独创的自动关键字分析能够减少人为操作且更判断结果准确 独创的内容大小判断方法...

    数据库应用程序实用攻略

    6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。

    nosqli:NoSql注入CLI工具,用于使用MongoDB查找易受攻击的网站

    为此,我开始研究nosqli-一种用Go编写的简单nosql注入工具。 它的目标是快速,准确和高度可用,并具有易于理解的命令行界面。 产品特点 Nosqli当前支持Mongodb的nosql注入检测。 它运行以下测试: 基于错误-注入...

    ASP文件中的安全问题

    浅谈ASP的安全问题 先说句牢骚话,我经常看到有人说ASP不安全,比如容易被注入,这种说法我一直感到无法...无论什么时候讲到网站的安全问题,SQL注入都是首当其冲的。我们先来看看SQL注入是怎么回事。简单的说,SQL注

    送强力打狗棒,文末领取

    我计划写一篇脚本小子最爱的,涉及知识点最少,能直接放工具里全自动跑sql注入的过狗文章。 0x01 先说说安全狗是如何判断恶意代码 安全狗、云锁、D盾等软件waf,内置一套正则匹配检测规则。这类软件waf对恶意代码...

    Web计算机配件报价系统项目源码,Java语言,代码源文件,毕业设计

    本系统还实现了一些安全措施,如防止SQL注入攻击、强制加密密码等等。 作为一篇毕业设计,该项目展示了作者对Java编程语言及其相关技术的理解和掌握水平。此外,该项目还证明了作者对Web应用程序开发的熟练程度,...

    iBATIS实战

    4.2.3 SQL注入简介 72 4.2.4 自动结果映射 73 4.2.5 联结相关数据 74 4.3 映射参数 75 4.3.1 外部参数映射 75 4.3.2 再论内联参数映射 76 4.3.3 基本类型参数 78 4.3.4 JavaBean参数和Map参数 78 4.4 使用内联结果...

    网络应用安全技术详解.pptx

    Web服务常见威胁 网络层面 拒绝服务、电子欺骗、嗅探 系统层面 Web服务漏洞、配置错误 应用层面 代码缺陷(SQL注入、XSS……) 信息泄露 电子欺骗 钓鱼、流程缺陷 8 网络应用安全技术详解全文共57页,当前为第8页。...

    Hibernate实战(第2版 中文高清版)

     1.1.2 理解SQL   1.1.3 在Java中使用SQL   1.1.4 面向对象应用程序中的持久化   1.2 范式不匹配   1.2.1 粒度问题   1.2.2 子类型问题   1.2.3 同一性问题   1.2.4 与关联相关的问题   1.2.5 数据...

    waf ,lua,高性能web安全防护OpenStar.zip

    WEB安全1.0 在1.0时代下,攻击是通过服务器漏洞(IIS6溢出等)、WEB应用漏洞(SQL注入、文件上传、命令执行、文件包含等)属于服务器类的攻击,该类型漏洞虽然经历了这么多年,很遗憾,此类漏洞还是存在,并且...

    asp.net知识库

    最详细的SQL注入相关的命令整理 Oracle Oracle中PL/SQL单行函数和组函数详解 mssql+oracle Oracle编程的编码规范及命名规则 Oracle数据库字典介绍 0RACLE的字段类型 事务 CMT DEMO(容器管理事务演示) 事务隔离性的...

    计算机专业毕设ASP+ACCESS基于BtoC电子商务网站设计(论文+源代码+开题报告+文献综述+外文翻译).rar

    4. **安全性考虑**:项目在设计之初就充分考虑了安全问题,采用了多种安全措施,如防止SQL注入、XSS攻击等,确保网站的数据安全和用户隐私。 5. **完整的文档**:项目提供了详细的论文、开题报告、文献综述和外文...

    分享常见的几种页面静态化的方法

    PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化... 观看一下大一点的网站基本全是静态页面,而且可以减少攻击,防sql注入。 数据库出错时,不影响网站正常访问

    [完整][中文][WEB安全测试].(美)霍普.扫描版.pdf

     ·从许多不同的模拟常见攻击(比如SQL注入、跨站式脚本和操纵隐藏表单域)的方法中进行选择  ·作为自动化测试的出发点,通过使用秘诀中的脚本和例子,使你的测试可重复  不用再担心午夜来电话告诉你站点被破坏了...

    spring in action英文版

     4.6.1 配置SQL Map  4.6.2 使用SqlMapClientTemplate  4.7 Spring和OJB  4.8 小结  第5章 事务管理  5.1 理解事务  5.1.1 仅用4个词解释事务  5.1.2 理解Spring对事务管理的支持  5.1.3 ...

Global site tag (gtag.js) - Google Analytics