`

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注入讲解ppt.pptx

    SQL 注入基础知识点总结 SQL 注入是指 web 应用程序对用户...通过学习 SQL 注入基础知识、工具和环境搭建、MySQL 数据库基础知识、SQL 注入防御、SQL 注入类型和基本步骤,我们可以更好地理解和防御 SQL 注入攻击。

    SQL注入攻击实验报告

    - **实验目的**:本实验旨在通过搭建一个简单的Web应用程序,模拟SQL注入攻击的过程,并探讨相应的防御措施,帮助理解SQL注入攻击的基本原理及其防范策略。 #### 二、实验原理 - **SQL注入的概念**:SQL注入是一种...

    SQL注入全面讲解技术文档

    通过理解其原理,采取有效的预防措施,以及定期评估和更新防护策略,可以大大降低SQL注入攻击的风险。对于初学者和专业开发者来说,深入研究SQL注入的各个方面,包括入门、进阶和高级技巧,是提升系统安全性的关键...

    SQL注入攻击与防御技术白皮书.pdf

    本文档主要介绍了SQL注入攻击的原理、方式、危害及防御措施,旨在帮助读者更好地理解和防御这种常见的数据库漏洞攻击方式。 1.SQL注入攻击简介 SQL注入攻击是一种针对数据库的漏洞攻击方式,它是通过构造巧妙的SQL...

    SQL注入简单总结——过滤逗号注入.pdf

    "SQL注入简单总结——过滤逗号注入"的主题主要探讨了如何处理那些针对逗号(`,`)进行过滤的SQL注入情况。在SQL语句中,逗号常用于分隔不同的元素,例如在`UNION`、`LIMIT`等子句中。 1. **过滤逗号的绕过方法**: ...

    JavaScript过滤SQL注入字符

    一、理解SQL注入 SQL注入是指攻击者在用户输入的数据中插入SQL命令,以欺骗服务器执行非授权的操作,如获取敏感数据、修改或删除记录等。例如,一个简单的登录表单如果没有进行适当的验证,攻击者可以输入"username...

    sql注入的例子 新手

    SQL注入是一种常见的网络安全威胁,尤其对于初学者来说,理解并防范这种攻击至关重要。在数据库管理领域,SQL(Structured Query Language)是用于与关系型数据库进行交互的语言。SQL注入发生时,攻击者通过输入恶意...

    JS代码防止SQL注入的方法(超简单)

    本文主要介绍了如何使用JavaScript代码来防止SQL注入,这是为了保证Web应用的安全性,防止恶意用户通过输入特定的SQL语句来破坏数据库。文章从两个方面进行了说明,包括URL地址防注入和输入文本框防注入。 首先,...

    sql 注入 sql injection

    在2009年,SQL注入仍然是一个严重的问题,因此出现了关于这个主题的新书,提供了对这一技术的深入理解和防御策略。 1. SQL注入的基本原理:攻击者通过在Web表单、URL参数或其他用户输入点输入精心构造的SQL语句,...

    防止sql注入工具类l

    首先,我们需要理解SQL注入的基本原理。当应用程序直接将用户输入的数据拼接到SQL查询语句中时,如果未进行适当的验证和转义,攻击者就能通过输入特殊字符或者构造恶意的SQL语句来绕过安全控制。例如,一个简单的...

    SQL注入漏洞演示源代码

    在这个"SQL注入漏洞演示源代码"中,我们可以深入理解这种攻击方式的工作原理,并学习如何防止它。 SQL注入是通过在输入字段中插入恶意的SQL语句来利用不安全的Web应用程序的漏洞。当应用程序将用户输入的数据直接...

    使用Python防止SQL注入攻击的实现示例

    为了防止SQL注入,最关键的做法是在构建SQL语句时采用参数化查询或预编译语句,而不是简单地将用户输入拼接进SQL字符串。这种方式可以确保输入被当作值而非可执行代码来处理。 #### 二、设置数据库 本节将通过一个...

    sql注入攻击防范解析

    总结来说,SQL注入攻击是一种严重的威胁,但通过理解其原理,实施有效的防御策略,并利用工具进行定期检测,我们可以显著降低被攻击的风险。在开发过程中,始终遵循安全编码的最佳实践,确保用户输入的安全性,是...

    SQL注入之如何检测与判断详细过程

    ### SQL注入检测与判断详细过程 #### 一、SQL注入简介 ...本文详细介绍了从初步判断到深入检测的全过程,希望可以帮助读者更好地理解SQL注入的原理,并能够在实际工作中有效地检测和防御SQL注入攻击。

    SQL注入实例讲解

    首先,让我们理解SQL注入的基本概念。在Web应用中,当用户的数据与数据库交互时,如果程序直接将用户的输入拼接到SQL查询中,而不进行适当的清理和验证,就会产生SQL注入漏洞。例如,一个简单的登录表单可能包含以下...

    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注入漏洞扫描工具

    首先,我们需要理解SQL注入的基本概念。当用户提交的数据被直接拼接到SQL查询中,而没有进行适当的转义或参数化处理时,就可能产生注入点。例如,一个简单的登录表单可能包含如下代码: ```python username = ...

    带SQL注入的一个ASP网站源码

    总的来说,通过研究这个带有SQL注入的ASP网站源码,我们可以深入理解SQL注入的威胁,学习如何检测和防止这种攻击。同时,这也是提升自己在ASP编程和数据库安全方面的技能的好方法。记住,安全是任何Web应用程序的...

    c# sqlserver2008 简单的SQL注入演示

    本示例是关于"C#与SQL Server 2008环境下如何进行简单的SQL注入演示",我们将深入探讨这一主题,理解其原理,并学习如何防范。 首先,SQL注入通常发生在应用程序未对用户输入进行充分验证或转义时。例如,一个简单...

Global site tag (gtag.js) - Google Analytics