buu-[WUSTCTF2020]level3
64位GCC
查看字符串,base甩脸上
看一眼main函数
int __cdecl main(int argc, const char **argv, const char **envp)
{char v3; // ST0F_1const char *v4; // raxchar v6; // [rsp+10h] [rbp-40h]unsigned __int64 v7; // [rsp+48h] [rbp-8h]v7 = __readfsqword(0x28u);printf("Try my base64 program?.....\n>", argv, envp);__isoc99_scanf("%20s", &v6);v3 = time(0LL);srand(v3);if ( rand() & 1 ){v4 = (const char *)base64_encode(&v6);puts(v4);puts("Is there something wrong?");}else{puts("Sorry I think it's not prepared yet....");puts("And I get a strange string from my program which is different from the standard base64:");puts("d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD==");puts("What's wrong??");}return 0;
}
输入一个值,在base64_encode()后的值为d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD==
直接解是解不出来的,应该是更改了密码表
main函数头上
果然更改了密码表
__int64 O_OLookAtYou()
{char v0; // ST03_1__int64 result; // raxsigned int i; // [rsp+2h] [rbp-4h]for ( i = 0; i <= 9; ++i ){v0 = base64_table[i];base64_table[i] = base64_table[19 - i];result = 19 - i;base64_table[result] = v0;}return result;
}
import base64
import stringflag = 'd2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9yZXZlcnGlfD=='
base64_table =list("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/")
v0=''i=0
for i in range(10):v0 = base64_table[i]base64_table[i] = base64_table[19 - i]result = 19 - ibase64_table[result] = v0base64_table=''.join(base64_table)string2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"print(base64.b64decode(flag.translate(str.maketrans(base64_table,string2))))
flag{Base64_is_the_start_of_reverse}
buu-[WUSTCTF2020]level3相关推荐
- BUUCTF RE WP39-40 [WUSTCTF2020]Cr0ssfun、[WUSTCTF2020]level3
(为了保证隔两天一更就来水文了) 39.[WUSTCTF2020]Cr0ssfun 得到的 flag 请包上 flag{} 提交. 感谢 Iven Huang 师傅供题. 比赛平台:https://c ...
- [WUSTCTF2020]level3
文章目录 拖进ida base64 O_OLookAtYou() 写个脚本: 答案: 拖进ida base64 d2G0ZjLwHjS7DmOzZAY0X2lzX3CoZV9zdNOydO9vZl9y ...
- [WUSTCTF2020]level3 笔记与自省
解题过程: 直接放入IDA分析,跳入main函数,得到如下内容 int __cdecl main(int argc, const char **argv, const char **envp) {ch ...
- buu做题笔记——[WUSTCTF2020]朴实无华[BSidesCF 2020]Had a bad day
BUU [WUSTCTF2020]朴实无华 robots.txt response level 1 level 2 level 3 [BSidesCF 2020]Had a bad day [WUST ...
- buu(前三页第二弹) RSA习题与相关知识总结
文章目录 buu [ACTF新生赛2020]crypto-rsa3 1 题目描述: 题目分析: 收获与体会: buu [WUSTCTF2020]情书 1 题目描述: 题目分析: 收获与体会: buu ...
- REVERSE-PRACTICE-BUUCTF-12
REVERSE-PRACTICE-BUUCTF-12 [WUSTCTF2020]level3 crackMe [FlareOn6]Overlong [WUSTCTF2020]Cr0ssfun [WUS ...
- buuctf刷题记录(6)
[MRCTF2020]Xor 查壳: 拖入IDA中: 跟进,但是我们无法对关键函数sub_401090查看伪代码: 然后我们就直接看: 再函数中可以看到v0和byte_4212c0按位异或,最后得到b ...
- 由一道简单的图片隐写题总结思路
题目来源:BUU [WUSTCTF2020]find_me 已我的经验拿到杂项图片题一般这个思路(以后自己变强了再补充): 右键看属性有无提示. binwalk分析文件是否隐写入其他文件有则forem ...
- WUST2020部分WP
[WUSTCTF2020]B@se 密文:MyLkTaP3FaA7KOWjTmKkVjWjVzKjdeNvTnAjoH9iZOIvTeHbvD== JASGBWcQPRXEFLbCDIlmnHUVKT ...
- BUUCTF reverse题解汇总
本文是BUUCTF平台reverse题解的汇总 题解均来自本人博客 目录 Page1 Page2 Page3 Page4 Page1 easyre reverse1 reverse2 内涵的软件 新年 ...
最新文章
- MySQL—不相关子查询(单行子查询)
- 【freemaker】ftl freemaker String常见操作语法
- skimage库安装
- python 多层包多模块_python Modules模块操作
- Tomcat性能优化总结
- CDH 和ambari之间的比较
- python循环引用是什么_细说Python的循环调用、循环引用和循环导入
- cocos2d-x 通过JNI实现c/c++和Android的java层函数互调 .
- 图像局部特征(九)--斑点检测LOG算子
- 《程序是怎样跑起来的》第六章有感
- html定义页脚有什么用,HTML5中footer标签的用法你知道吗?,HTML5中的footer标签是什么意思?...
- jest (让人愉悦的测试框架)
- REC Solar推出黑色多晶半切片PERC组件,已进入量产化
- Ubuntu 14.04安装bugzilla
- 【英语】--动起来的英语进度
- 非最小相位系统的闭环频域辨识算法
- tf2 + keras学习
- Office365软件安装包+安装教程
- 预测大盘最准确的指标_一辈子死记一个指标,完全弄透彻,即可预测一个月的股市升跌!...
- 03-navicat12的下载、安装、注册激活