import base64import hashlibimport sysdef abort printWrong flag! sysexit1printPlease input the flagflag = input#res=NeepuPut100sN9S16a_19202122_2425_kuif lenflag != 29 abortif flag5 != Neepu
根据代码,可以知道flag的长度为29,开头为"Neepu",第17、18个字符为"a_",第23个字符和第18个字符相同,最后一个字符为"}"。
接下来依次判断每个条件:
-
长度是否为29
-
开头是否为"Neepu"
-
第17、18个字符是否为"a_"
-
第23个字符是否与第18个字符相同
-
最后一个字符是否为"}"
-
flag倒数4个字符的base64编码是否为"X2t1fQ=="
-
从倒数第2个字符到倒数第15个字符(每隔3个字符)所组成的字符串的16进制编码是否为"75316c745f"
-
将flag的第12到第15个字符反转后,每个字符乘以10000的i次方,i从0开始,相加之和是否为110009500490115
-
将flag的第4到第8个字符反转后,进行md5哈希,结果是否为"db46a959e0f94c0a8977411ab69df11a"
-
将flag的第7、9、11个字符组成一个字符串,进行sha1哈希,结果是否为"dcb7ec019a90e41f85181ec9f1da642a8ced1b2d"
-
对flag进行sha256哈希,结果是否为"a04f00829f27a5ead1c4ae526d6b1b0cec30ed0e56d6d71e9c001d7803e84892"
满足以上所有条件的flag即为正确答案
原文地址: https://www.cveoy.top/t/topic/fkUV 著作权归作者所有。请勿转载和采集!