zoukankan      html  css  js  c++  java
  • sql 注入

    在图书管看到一本关于sql注入和防御的书籍,突然间兴趣就来。然后搜索就搜到了这么前辈的blog:

    http://www.cnblogs.com/rush/archive/2011/12/31/2309203.html

    http://blog.donews.com/zwell/archive/2004/10/21/141906.aspx

    总结今天所看的内容:

    首先了解到web应用的架构,理解sql注入是在逻辑层到存储层之间的。我们通过在表示层的输入来通过逻辑层转到存储层,并且在存储层起效。

    1.可以在url的中注入自己的语句。在url中可以观察传递的参数的类型,如果是字符串我们则可以用类似与 'OR'1'='1 之类的返回,因为这种字符串加到原来url的参数中会使得查询的语句显示所有的查询结果;如果我们观察到参数的类型为整数,则可以直接加 OR '1'='1',对与这么加当然是可以的。而且这么加也能够能到用户信息,一般来说这么处理的话会使得非用户的情况下登录得到用户,并以该用户登录应用这些都是可以处理的,但是如果我们在其中加入的不是这个字符串的话,那么我们可以换个字符串。比如 UNION ALL SELECT LOAD_FILE('/etc/password')。从这里可以知道,如果如果网站对于用户输入的信息(post,get)的信息等没有预处理的话,可以再url上动手脚。而且可以在url的参数上添加任意字符串这就随意了。

    这里我认为最主要的就是观察网页之间的数据信息,可以思考是否有可以注入的地方。

    2.前面一种情况是正确的注入了sql了,但是当没有注入成功的时候并不代表着应用安全。如果sql注入失败的时候返回了错误的信息,会返回错误信息。可能网站反馈的错误信息能够提供线索。

    3.作为一个web应用,也许根本就不需要数据就能进入下一个网页。我们可以在地址栏中直接输入下一个网页的url,然后则越过。

     

    还有是数据库的配置的问题,对于数据库的默认账户应该注意。安全的方法是不同的操作的用户应该有不同的权限。

     

    ps:即使只有三分钟的热度,但是不能没有热度。

  • 相关阅读:
    VMware虚拟机下Centos8 设置静态IP地址
    maven插件使用及dockerfile插件多模块下打包
    Docker开启远程访问、IDEA Docker 连接 linux 上的 Docker
    Docker打包错误:Failed to execute goal com.spotify:docker-maven-plugin:1.2.0:build (default-cli) on project security
    Idea 中 Docker 的 log 乱码
    oracle11G 已开启监听,但远程连接依旧无监听解决过程
    sql server特殊功能:临时表是否存在
    sql server object_id()的应用
    sql server系统表详细说明
    SQL行转列汇总
  • 原文地址:https://www.cnblogs.com/yoru/p/4025355.html
Copyright © 2011-2022 走看看