看到群里别人参加比赛发上来的附件,自己尝试解了一下。
1、提示RSA,提供flag.enc和pub.key附件
一看就是解RSA,公钥分解得到n和e
n=86934482296048119190666062003494800588905656017203025617216654058378322103517 e=65537
分解n,得到pq
q = 304008741604601924494328155975272418463
p = 285960468890451637935629440372639283459
有pqe可以求出d
d = 81176168860169991027846870170527607562179635470395365333547868786951080991441
有了ned和密文就可以解出明文了,然后转成字符串
2、不知道什么鬼的图片
分析含zip,分离,然后zip再爆破
3、pcap入侵记录的题目
搜
继续找,发现另一个IP修改了密码,应该是管理员,所以基本上判断不是XSS不是SQL是CSRF,看readme是CWE-352
继续搜找到放代码的页面,在某个页面POST提交
不确定是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位的字符串循环异或前面一位,异或计算的字符串如下
其中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
5、菜刀pcap文件
可以看得出菜刀连接后上传了文件
@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();
6666.jpg的时间UTC+8和和报文时间可以对上,应该就是jpg文件,直接导出HEX输出图片得到FLAG
6、异性相吸,直接Python异或计算