`

SQL注入(转载)

阅读更多

SQL注入
定义:
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
发生场景:
当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生sql注入。sql注入可能导致攻击者使用应用程序登陆在数据库中执行命令。相关的SQL注入可以可以通过测试工具pangolin进行。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。在某些表单中,用户输入的内容直接用来构造动态sql命令,或者作为存储过程的输入参数,这些表单特别容易受到sql注入的攻击。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是sql注入就发生了。
方法:
SQL注入的方法有多种,这里介绍一种:
后台身份验证绕过漏洞
  验证绕过漏洞就是'or'='or'后台绕过漏洞,利用的就是AND和OR的运算规则,从而造成后台脚本逻辑性错误
  例如管理员的账号密码都是admin,那么再比如后台的数据库查询语句是
  user=request("user")
  passwd=request("passwd")
  sql='select admin from adminbate where user='&'''&user&'''&' and passwd='&'''&passwd&'''
  那么我使用'or 'a'='a来做用户名密码的话,那么查询就变成了
  select admin from adminbate where user=''or 'a'='a' and passwd=''or 'a'='a'
  这样的话,根据运算规则,这里一共有4个查询语句,那么查询结果就是 假or真and假or真,先算and 再算or,最终结果为真,这样就可以进到后台了
  这种漏洞存在必须要有2个条件,第一个:在后台验证代码上,账号密码的查询是要同一条查询语句,也就是类似
  sql="select * from admin where username='"&username&'&"passwd='"&passwd&'
  如果一旦账号密码是分开查询的,先查帐号,再查密码,这样的话就没有办法了。
  第二就是要看密码加不加密,一旦被MD5加密或者其他加密方式加密的,那就要看第一种条件有没有可以,没有达到第一种条件的话,那就没有戏了

 

分享到:
评论

相关推荐

    如何防止sql注入【转载】

    简单的放置sql注入的文档,转载的,希望可以彼此帮助。

    三步堵死SQL注入漏洞

    浅谈三步堵死SQL注入漏洞,这是转载,值得一看!

    SQL注入方法论-转载的希望对大家有帮助

    转载的一个关于SQL注入的文章,希望对大家有帮助

    SQL-Injection-Cheat-Sheet-Chinese-Ver.:翻译SQL注入备忘单(http

    关于SQL注入速查表 现在仅支持MySQL、Microsoft SQL Server,以及一部分ORACLE和PostgreSQL。大部分样例都不能保证每一个场景都适用。现实场景由于各种插入语、不同的代码环境以及各种不常见甚至奇特SQL语句

    SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别.doc

    3、EXEC 执行纯动态SQL,执行时可能无法使用预编译的执行计划,关键是不安全,可以导致 SQL 注入 ,而 SP_EXECUTESQL 执行参数化动态 SQL ,执行时能使用预编译的执行计划,而且保存存储过程时就可以确定可以使用的预...

    SQL注入小技巧:利用子查询忽略字段名

    之前转载了一篇 Access移位溢注技术(已知表名,不知列名) 网上找了个案例,但是使用这种办法还是失败,无奈继续查找资料,于是有了这篇文章。。  适用情况同上篇文章,知道表名,不知道字段名。这种方法适用起来...

    ECSHOP 利用工具

    ECSHOP 2.7 SQL注入利用工具 我是转载的

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    支持后台访问目录更名、Cookie加密、验证码、认证码、IP锁定、IP白名单、防SQL注入、防跨站脚本、防脚本文件上传等多重安全机制,并且后台支持按频道和模块严格控制访问权限,为网站的安全运营提供最强有力的保障。...

    给力论坛源码 标注:用iis访问就会有样式

    14 动态改变表名,防止Sql注入,Cookies,Sessions 也采用动态注入机会. 15 增加会员删除,放回收站 16 DotBBS.config与Web.config合并 17 更换编辑器,能比较好的兼容浏览器,上传文件能以自动重命名 18 Sql...

    番禺人才网(本人转载,仅供学习)

    番禺人才网(本人转载,仅供学习) 适合做行业性人才网,也可以做地方性人才门户站,目前主要功能有: 0、个人在线添加求职简历 1、个在线上传个人相片 2、首页显示热点新闻(后台可以设置),HR宝店,... 28, SQL防注入.

    Hibernate注释大全收藏

    • 属性的类型为 java.sql.Clob or java.sql.Blob, 则映射到 @Lob 对应的类型。 映射主键属性 @Id 注解可将实体Bean中某个属性定义为主键,使用@GenerateValue注解可以定义该标识符的生成策略。 • AUTO - 可以是...

    [鱼塘发布]HFish1.2_Final_20100621.1700【支持UCH/DZ/DX/PW7】

    10.版权: 11.所牵涉到知识产权或其他权利归原始商定人所有,如有侵犯 12.您的权利,请您通知我们,我们会及时关闭此项目并终止此行为。...50.5.修正SQL注入问题 module包下载: http://u.115.com/file/f1d11360aa

    asp.net知识库

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

    springmybatis

    其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该文献之人无任何关系。谢谢合作 本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地...

    MSSQL 2005 LOG备份webshell的方法

    注:转载就注入出自’孤孤浪子博客’原创 http://itpro.blog.163.com 第一步 http://itpro.blog.163.com/test.asp’;alter/**/database/**/[netwebhome]/**/set/**/recovery/**/full[/url]– 第二步: ...

    蓝宝石留言本asp版-Asp

    2.防攻击脚本,防sql注入。 3.留言的增删,回复功能,留言可以暂时删除到回收站,可恢复,也可以彻底删除。留言中的html会被转化成对应的字符实体,防止了恶意代码。同时,支持UBB代码。留言通过审核前,留言昵称,...

Global site tag (gtag.js) - Google Analytics