某CTF比赛writeup

看到群里别人参加比赛发上来的附件,自己尝试解了一下。

1、提示RSA,提供flag.enc和pub.key附件

一看就是解RSA,公钥分解得到n和e

n=86934482296048119190666062003494800588905656017203025617216654058378322103517
e=65537

分解n,得到pq

q = 304008741604601924494328155975272418463
p = 285960468890451637935629440372639283459

有pqe可以求出d

d = 81176168860169991027846870170527607562179635470395365333547868786951080991441

有了ned和密文就可以解出明文了,然后转成字符串

某CTF比赛writeup_第1张图片

 

 

2、不知道什么鬼的图片

某CTF比赛writeup_第2张图片

分析含zip,分离,然后zip再爆破

某CTF比赛writeup_第3张图片

某CTF比赛writeup_第4张图片某CTF比赛writeup_第5张图片

 

3、pcap入侵记录的题目

某CTF比赛writeup_第6张图片

继续找,发现另一个IP修改了密码,应该是管理员,所以基本上判断不是XSS不是SQL是CSRF,看readme是CWE-352

继续搜找到放代码的页面,在某个页面POST提交

某CTF比赛writeup_第7张图片

不确定是POST提交的算还是管理员点击后算,所以FLAG按照题目提交格式应该是CWE-352_2018-06-15 09:18:29的MD5或者CWE-352_2018-6-15 09:40:12的md5密文

4、XOR

放C32后看不出什么,IDA载入

int __cdecl main(int argc, const char **argv, const char **envp)
{
  char *v3; // rsi
  int result; // eax
  signed int i; // [rsp+2Ch] [rbp-124h]
  char v6[264]; // [rsp+40h] [rbp-110h]
  __int64 v7; // [rsp+148h] [rbp-8h]

  memset(v6, 0, 0x100uLL);
  v3 = (char *)256;
  printf("Input your flag:\n", 0LL);
  get_line(v6, 0x100u);
  if ( strlen(v6) != 33 )
    goto LABEL_12;
  for ( i = 1; i < 33; ++i )
    v6[i] ^= v6[i - 1];
  v3 = global;
  if ( !strncmp(v6, global, 0x21uLL) )
    printf("Success", v3);
  else
LABEL_12:
    printf("Failed", v3);
  result = __stack_chk_guard;
  if ( __stack_chk_guard == v7 )
    result = 0;
  return result;

看得出和提醒XOR对应,一共33位的字符串循环异或前面一位,异或计算的字符串如下

某CTF比赛writeup_第8张图片

其中0Ah表示换行,对应ASCII码10,以此类推

异或计算前

'f',10,'k',12,'w','&','O','.','@',17,'x',13,'Z',';','U',17,'p',25,'F',31,'v','"','M','#','D',14,'g','h',15,'G',2,'O',0

用Python根据内容进行循环异或得出flag

某CTF比赛writeup_第9张图片

5、菜刀pcap文件

可以看得出菜刀连接后上传了文件

某CTF比赛writeup_第10张图片

@ini_set("display_errors","0");@set_time_limit(0);@set_magic_quotes_runtime(0);echo("->|");;$f=base64_decode($_POST["z1"]);$c=$_POST["z2"];$c=str_replace("\r","",$c);$c=str_replace("\n","",$c);$buf="";for($i=0;$i"%".substr($c,$i,2));echo(@fwrite(fopen($f,"w"),$buf)?"1":"0");;echo("|<-");die();

某CTF比赛writeup_第11张图片

6666.jpg的时间UTC+8和和报文时间可以对上,应该就是jpg文件,直接导出HEX输出图片得到FLAG

某CTF比赛writeup_第12张图片

6、异性相吸,直接Python异或计算

某CTF比赛writeup_第13张图片

转载于:https://www.cnblogs.com/vpandaxjl/p/11295359.html

你可能感兴趣的:(某CTF比赛writeup)