`

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注入的文章,希望对大家有帮助

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

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

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

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

    JAVA数据库连接大全-转载

    `Statement`用于执行静态SQL,而`PreparedStatement`用于预编译的SQL,提高性能并防止SQL注入。 5. **结果集处理**: SQL查询的结果会返回一个`ResultSet`对象,可以通过迭代遍历获取数据。 6. **关闭资源**: ...

    jdbc与hibernate的优缺点比较(转载的精髓).pdf

    - **易出错**:手动处理SQL可能导致SQL注入等安全问题,同时也容易出现语法错误。 - **不便于移植**:SQL语法与不同的数据库系统有关,更换数据库可能需要大量修改代码。 5. **Entity Bean**(EJB)在上述比较中...

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

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

    python3.7 使用pymssql往sqlserver插入数据的方法

    在实际应用中,我们可能需要根据具体的应用场景对SQL语句进行相应的修改,比如插入的字段类型和数量可能会有所不同,或者可能需要使用参数化查询来防止SQL注入等安全问题。此外,对Python代码的编写和数据库的设计都...

    JAVA OA平台源码(转载)SPRING BOOT....

    【标题】:“JAVA OA平台源码(转载)SPRING BOOT...” 这个开源项目是一个基于Java技术的OA(Office Automation)管理系统的源代码实现,利用了Spring Boot框架进行开发。Spring Boot是Spring生态中的一个核心组件...

    SSM整合,参考尚硅谷视频,转载笔记,非原创,侵权删

    MyBatis是一个轻量级的持久层框架,它简化了SQL操作,将SQL与Java代码分离。MyBatis允许开发者编写SQL语句,然后通过XML或注解方式将其绑定到Java接口方法上,实现了数据访问的灵活和高效。 **4. SSM整合步骤** - *...

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

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

    软件开发人成长经历(转载)

    安全性则是确保软件免受攻击,包括输入验证、防止SQL注入、XSS攻击等。 最后,成为一名优秀的软件开发人员不仅仅是技术上的熟练,还包括良好的职业素养。这包括对质量的追求、对用户需求的关注、解决问题的创新思维...

    [转载] JDBC+Servlet+JSP整合开发之-JSP项目实战

    9. **最佳实践**:学习良好的编程习惯,如使用PreparedStatement防止SQL注入,释放数据库连接,避免内存泄漏等。 这个实战项目对于初学者来说是一个很好的练习,可以帮助他们更好地理解和掌握Web开发的基本流程,...

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

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

    <转载>ThinkAndroid

    ORM工具如Room可以简化数据库操作,减少手动编写SQL语句的工作量。 5. **网络通信**:框架集成了Retrofit和OkHttp,这两个是Android开发中常用的网络请求库。Retrofit用于创建和调用网络API,OkHttp则提供了高效的...

    jsp论坛—别的网站转载的

    5. **安全防护**:防止SQL注入、XSS攻击等,确保用户数据的安全,这需要在编写代码时就考虑输入验证和编码。 6. **论坛架构**:论坛通常包含多个模块,如首页、分类版块、个人中心等,需要合理设计系统架构,保证各...

    【转载】NET平台下的架构开发(最全的).docx

    6. **依赖注入及IoC的设计与实现** - 讨论如何利用依赖注入容器增强代码的灵活性和可测试性。 7. **数据访问层的实现** - 分别介绍三种不同的实现方式:Access+动态生成SQL、SQL Server+存储过程以及基于NBear的ORM...

    易语言网页应用专题(转载)

    10. **安全性**:学习基本的网络安全知识,如数据加密传输、防止SQL注入等,确保你的网页应用安全可靠。 总之,“易语言网页应用专题”是一个全面的学习资源,涵盖了从基础编程到高级应用的多个层面。通过系统学习...

    ogame中文源代码(网络转载)

    源代码中会包含验证机制、数据加密和防止SQL注入等安全措施,这为我们提供了实践安全编程的实例。 7. **多语言支持** Ogame的中文版本意味着它具有多语言支持的功能。查看源代码,我们可以了解到如何实现语言切换...

    一米阳光项目转载phpwind668—关于PHP

    7. 安全防护:内置安全机制,防止SQL注入、XSS攻击等,保障网站安全。 【学习与探讨】 作为初学者,你可以通过以下途径深入学习PHP和PHPWind: 1. 官方文档:PHPWind 提供详尽的开发文档和用户手册,是学习的基础...

Global site tag (gtag.js) - Google Analytics