BUUCTF--[羊城杯 2020]Blackcat
进入后查看源码发现提示都说听听歌了!
下载Hei_Mao_Jing_Chang.mp3文件,使用命令strings Hei_Mao_Jing_Chang.mp3查看文件
在文末看到一段PHP代码
if(empty($_POST['Black-Cat-Sheriff']) || empty($_POST['One-ear'])){die('
$clandestine = getenv("clandestine");
if(isset($_POST['White-cat-monitor']))$clandestine = hash_hmac('sha256', $_POST['White-cat-monitor'], $clandestine);
$hh = hash_hmac('sha256', $_POST['One-ear'], $clandestine);
if($hh !== $_POST['Black-Cat-Sheriff']){die('
echo exec("nc".$_POST['One-ear']);
分析代码:
首先要使用POST方式提交参数Black-Cat-Sheriff和One-ear;
getenv()函数定义:取得系统的环境变量;
使用POST方式提交White-cat-monitor,使用hash_hmac函数加密key为clandestine赋值给变量clandestine,再次使用hash_hmac函数加密,密钥为clandestine,此时的clandestine为White-cat-monitor加密的结果,赋值给变量hh;
使hh===Black-Cat-Sheriff;
One-ear可控.
hash_hamc函数是关键点,学习一下
hash_hmac($algo, $data, $key)
当传入的$data
为数组时,加密得到的结果固定为NULL
;那么第二次的hash_hmac就是可控的.
预测hh的值,将其赋值给Black-Cat-Sheriff
最后Payload为:
White-cat-monitor[]=0&Black-Cat-Sheriff=afd556602cf62addfe4132a81b2d62b9db1b6719f83e16cce13f51960f56791b&One-ear=;env
使用POST提交这三个参数即可.
BUUCTF--[羊城杯 2020]Blackcat相关推荐
- buuctf————[羊城杯 2020]login
1.查壳. 无壳,64位.(当时还不知到PyInstaller ) 2.直接丢到IDA反编译.发现啥也没有. (连个提示性的字符串也没有,但运行是有input something.很迷.) 看了看大佬 ...
- BUUCTF[羊城杯 2020]easyre
64位无壳程序 IDA64打开 main函数: int __cdecl main(int argc, const char **argv, const char **envp) {int v3; // ...
- [羊城杯 2020]GMC
[羊城杯 2020]GMC 题目 from Crypto.Util.number import getPrime,bytes_to_long,getRandomNBitInteger from sec ...
- [羊城杯 2020]Power
[羊城杯 2020]Power 题目 from Crypto.Util.number import * import gmpy2 from secret import flagp = getPrime ...
- [羊城杯 2020]RRRRRRRSA
[羊城杯 2020]RRRRRRRSA 题目 import hashlib import sympy from Crypto.Util.number import *flag = 'GWHT{**** ...
- [羊城杯 2020]Bytecode [UTCTF2020]babymips
文章目录 [羊城杯 2020]Bytecode 查看题目 python代码 注意点: BINARY_SUBTRACT 这个是减法 BINARY_SUBSCR 这个是索引 Z3约束脚本 注意点: 注意最 ...
- [羊城杯 2020]login [SUCTF2019]hardcpp
文章目录 [羊城杯 2020]login 思路:一个py编译的exe,需要解包,然后反编译成py文件 1.解包:python pyinstxtractor.py login.exe 提示:pyinst ...
- [羊城杯 2020]逃离东南亚
[羊城杯 2020]逃离东南亚 考点 复现过程 参考链接 考点 1.图片高度隐写 2.silenteye 3.空格与tab隐写 4.需要编程找到隐写内容并进行解码 复现过程 解压压缩包有三个压缩包文件 ...
- [羊城杯2020]easyphp --- 伪协议的使用时机,---python上传.htaccess的利用 -- preg_match绕过
目录: 一. 自己做: 二.学到的.不足: 三. 1. 利用.htaccess来设置文件自动包含 2. 绕过 \n 的过滤 3. 绕过stristr的过滤. 4. 绕过preg_match 2.思路二 ...
- BUUCTF Reverse/[羊城杯 2020]easyre
查看信息,无壳,64位程序 IDA打开分析代码,又是一个字符串比较的问题,输入flag,对flag加密三次,flag的长度为38 int __cdecl main(int argc, const ch ...
最新文章
- AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'
- Transaction rolled back because it has been marked as rollback-only
- 搞硬件,别吹牛了,好好做个规划!
- 神舟笔记本电源管理软件_笔记本电脑是一直插着电源好,还是拔了电源好?
- 【转】 VC MFC 钩子 实现 自绘 窗体 标题栏 非客户区
- 如何正确的开始用Go编程
- Leetcode: mimimum depth of tree, path sum, path sum II
- MySQL Date and Time Types(日期和时间格式)
- 电脑遇到蓝屏代码0x000007b问题如何解决
- android 打印kernel log,Android native log输出为kernel log方法
- android属于数据库管理系统,详细谈谈Android系统中的SQLite数据库的应用
- 微信 dat 文件还原
- 乱斗西游2辅助 强力辅助排行一览
- VS2019+WDK10编写xp平台的驱动
- 90后,第一批接棒白酒的“年轻人”
- 雪佛兰linux高德_高德地图的使用一
- java 发送邮件嵌套HTML模板 (二)
- 《罗辑思维》的逻辑缺陷
- 临渊赠鱼,不如教人结网
- WebAR框架/开发工具汇总整理大集合