[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

相关文章

Java如何将文件内容转换为MD5哈希值

《Java如何将文件内容转换为MD5哈希值》:本文主要介绍Java如何将文件内容转换为MD5哈希值的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java文件内容转换为MD5哈希值一个完整的Java示例代码代码解释注意事项总结Java文件内容转换为MD5

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

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] 时,要计算子序列 [