:关于Gin部分的内容为笔者年初所写
年初开始踉踉跄跄地学Golang的后端框架Gin了,如果是学过Java后端的人来说应该学Go和Gin很快,但是怎么说呢,笔者的Java和当时学的后端学的依托答辩,所以学Golang和Gin的时候相当于也在捡起以前的一些知识,加上笔者自认为不是天赋型选手,感觉自己学习的进度也比较慢,争取在后期更加注重自己的学习效率问题
构建路由
响应JSON请求
c.JSON()
响应JOSNP请求
模板 template
Gin模板基本语法
预定义函数
自定义模板函数
公共模板(嵌套template)
静态web服务
Gin获取查询参数
获取POST参数
获取GET POST传递的数据绑定到结构体
获取POST XML的数据
配置动态路由
路由分组 | 路由文件抽离
控制器抽离
控制器继承
Gin中间件
文件上传
Cookie
多个二级域名共享Cookie
Session
构建路由
RESTful API是目前比较成熟的一套互联网应用程序的API设计理论,设计...
Analyse
题目内容:
表 9876543210qwertyuiopasdfghjklzxcvbnmMNBVCXZLKJHGFDSAPOIUYTREWQ
密文 7dFRjPItGFkeXAALp6GMKE9Y4R4BuNtIUK1RECFlU4f3PomCzGnfemFvO
观察其码表发现长度为62,那么这个应该是base62换表,两种解决方式
解题
Solution 1
通过修改base62库中的原始码表,替换为题目的码表
然后正常解base62即可
import base62
import libnum
print(libnum.n2s(base62.decode("7dFRjPItGFkeXAALp6GMKE9Y4R4BuNtIUK1RECFlU4f3PomCzGnfemFvO")))
#flag{cf492422-13cb-4123-8bc5-5495f0349494}
Solution 2
通过常规换表解法,首先我们需要知道base62的常规码表:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL...
Analyse
既然题目名为easyrop,那么这道题的利用方法和rop脱不了太大干系,尝试运行
可能刚开始不知道这个程序是做什么的,但是貌似程序是将我们的输入当作路径来处理的,我们通过IDA静态分析看看
main函数
__int64 __fastcall main(__int64 a1, char **a2, char **a3)
{
__int64 v3; // rax
FILE *v5; // rdi
char v6[1032]; // [rsp+10h] [rbp-420h] BYREF
__int64 v7; // [rsp+418h] [rbp-18h]
char v8; // [rsp+427h] [rbp-9h]
__int64 v9; // [rsp+428h] [rbp-8h]
dword_6030A0 = 0;
sub_400FC4();
sub_401968();
fwrite(">> ", 1uLL, 3uLL, stdout);
fflush(stdout);
v9 = 0LL;
wh...