[BJDCTF 2020]easy_md5、[HNCTF 2022 Week1]Interesting_include、[GDOUCTF 2023]泄露的伪装

本文主要是介绍[BJDCTF 2020]easy_md5、[HNCTF 2022 Week1]Interesting_include、[GDOUCTF 2023]泄露的伪装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

[BJDCTF 2020]easy_md5

ffifdyop

[SWPUCTF 2021 新生赛]crypto8

[HNCTF 2022 Week1]Interesting_include

php://filter协议

[GDOUCTF 2023]泄露的伪装


[BJDCTF 2020]easy_md5

尝试输入一个1,发现输入的内容会通过get传递但是没有其他回显

观察一下响应头,可以看到Hint,即后端处理的SQL语句:

select * from 'admin' where password=md5($pass,true)//md5函数(string,raw)用法:string:字符串,必选参数raw:可选参数,通过post传递True    //原始16字符二进制数False   //默认32字符十六进制数

什么是hint?

hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。

ffifdyop

nssctf web_[nctf 2018]签到题-CSDN博客

sql查询语句目的是     passdword=传递的值

在sql语句中 or 左右一边为true则语句都为true(或逻辑)

这也是or 1 = 1 的由来,所以在这里要尝试构造带or的参数

or 对应的16进制:276f7227

ffifdyop字符串被 md5 哈希了之后会变成276f7227 36c95d99e921722cf9ed621c

字符串前几位刚好是 ‘ or ‘6,并且 Mysql 又会把 hex 转成 ascii 解释,因此拼接之后的形式是

select * from ‘admin’ where password=''or' 6xxxxx'
//xxxxx指代任意字符

此处raw参数是True,意为返回原始16字符二进制格式。

将ffifdyop传入,得到新环境

查看源代码,发现GET传参a!=b,但是它们的MD5值相等,且此处为(==)弱比较类型

原理见[SWPUCTF 2021 新生赛]jicao、easy_md5-CSDN博客

(1)用数组绕过 

 (2)用科学计数法0e绕过

又见一个新环境,POST传参了param1!=param2 但是它们的MD5值相等,且此处为(===)强比较类型,使用数组绕过

[SWPUCTF 2021 新生赛]crypto8

下载附件,查看资料知其为UUencode编码

[HNCTF 2022 Week1]Interesting_include

POST传参filter,包含在flag.php文件里

正则过滤了 flag ,但是没有flag又会返回错误

php://filter协议

于是使用php://filter协议,读取源代码并进行base64编码输出。

php://filter/convert.base64-encode/resource=文件路径

构造payload:

?filter=php://filter/convert.base64-encode/resource=flag.php

base64解码得到flag

[GDOUCTF 2023]泄露的伪装

使用dirsearch扫描,发现状态码为200的/www.rar目录,url下载压缩包

访问路径/orzorz.php得到新环境,GET传参cxk

error_reporting(0);:这行代码设置错误报告级别为0,意味着在运行时不会显示任何错误信息。通常用于生产环境中,以防止敏感信息泄露给用户。

file_get_contents($cxk)函数:读取 $cxk 变量中指定的 URL 或文件的内容。

这就需要传入一个文件,如果文件内容等于"ctrl",则返回flag

利用date://协议构造payload:

?cxk=data://text/plain,ctrl

这篇关于[BJDCTF 2020]easy_md5、[HNCTF 2022 Week1]Interesting_include、[GDOUCTF 2023]泄露的伪装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991154

相关文章

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Java实现MD5加密的四种方式

《Java实现MD5加密的四种方式》MD5是一种广泛使用的哈希算法,其输出结果是一个128位的二进制数,通常以32位十六进制数的形式表示,MD5的底层实现涉及多个复杂的步骤和算法,本文给大家介绍了Ja... 目录MD5介绍Java 中实现 MD5 加密方式方法一:使用 MessageDigest方法二:使用

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

C# Hash算法之MD5、SHA

MD5我们用的还是比较多的,一般用来加密存储密码。但是现在很多人觉MD5可能不太安全了,所以都用上了SHA256等来做加密(虽然我觉得都差不多,MD5还是能玩)。 还是跟上一篇说的一样,当一个算法的复杂度提高的同时肯定会带来效率的降低,所以SHA和MD5比较起来的话,SHA更安全,MD5更高效。 由于HASH算法的不可逆性,所以我认为MD5和SHA主要还是应用在字符串的"加密"上。 由于

控制台和MFC中内存泄露工具vld的使用

最近想检测下项目中内存泄露的情况,选中了vld这款。在查找使用方法的时候,大都是控制台下的示例,添加到main函数所在的源文件上。换成MFC就纠结了,不知道添加到哪里去。本文记录控制台和MFC中的使用vld过程。    vld资源:    1)、大家可以移步下边的网址下载:     http://vld.codeplex.com/releases/view/82311    2