USTC Hackergame 2021

5 minute read

Published:

GitHub Link

Write-up

去年参加过hackergame 2020,拿了600分吧我记得,今年拿了1750,作为没怎么准备过ctf的人来说已经很满足了,最好名次101,大概并列78左右吧abaaba

签到

点了几下发现url有 ?page=xxx 的结果,想了一下既跟时间有关又跟无事发生有关,联想到了当前时间。百度一下js获取当前时间戳的代码,输入到?page=xxx中,获得flag。

进制十六——参上

这题纯苦力,我真的一个个输到java程序里面转换的,没想到用ocr……浪费很多时间。

public class Main {
    public static void main(String[] args) {
        byte[] ci = new byte[]{0x59,0x30,
                0x55,0x5f,0x53,0x48,0x30,0x55,0x31,0x44,0x5f,0x6b,0x6e,0x30,0x77,0x5f,0x48,0x30,
                0x57,0x5f,0x74,0x30, 0x5f,0x43,0x30,0x6e,0x76,0x33,0x72,0x74,0x5f,0x48,0x45,0x58,
                0x5f,0x74,0x6f,0x5f,0x54,0x65,0x78,0x54};
        System.out.println(new String(ci));
    }
}

去吧!追寻自由的电波

用Adobe PR打开音频文件,1/4倍速,对照无线电波字母表,轻松解出flag。

卖瓜

卖瓜吗?撒日朗!!!我这题做了好久5555。我考虑到了整型溢出,但一直做不对,直到有一天被快要脱单的兄弟给刺激到了(他是这么说的,我就纯突然想到了)

解法:

  • 只用9斤瓜
  • 可以发现最大数是 2**63-1
  • 我们用 2**63-1 / 9 = 1.0248191152060861e+18 这是用python计算的
  • 我们买 1024819115206086300 个9斤瓜,别问我为什么,最后两位怎么给都不会overflow,千位直接让他overflow就行了
  • 我们再买 1024819115206086201 个 9斤瓜,来到了 1 斤的状态!离成功已经非常接近了~,我们只用再来一遍overflow就行了
  • 再来一遍overflow可以干到 2 斤,再来2个9斤瓜就大功告成了。
  • 真的坑

透明的文件

百度一下,缺少了 \033, 我们加在[之前,打开 wsl ,把这段字符串丢进C代码里执行:


#include<stdio.h>

int main() {
	printf("\033[0;0H\033[20;58H\033[8;34H\033[13;27H\033[4;2H\033[38;2;1;204;177m \033[39m\033[14;10H\033[20;51H\033[23;4H\033[12;2H\033[38;2;2;207;173m \033[39m\033[19;61H\033[9;12H\033[22;8H\033[20;2H\033[38;2;3;210;169m \033[39m\033[3;23H\033[8;68H\033[19;10H\033[4;3H\033[38;2;4;214;165m \033[39m\033[19;23H\033[17;34H\033[11;52H\033[22;70H\033[12;3H\033[38;2;5;217;161m \033[39m\033[24;22H\033[2;25H\033[19;76H\033[19;3H\033[38;2;6;220;157m \033[39m\033[23;14H\033[21;12H\033[10;37H\033[2;37H\033[22;66H\033[16;45H\033[21;3H\033[38;2;7;222;153m \033[39m\033[10;47H\033[18;34H\033[23;3H\033[38;2;8;225;149m \033[39m\033[10;63H\033[3;4H\033[38;2;10;228;145m \033[39m\033[16;15H\033[21;75H\033[15;44H\033[1;48H\033[1;29H\033[4;4H\033[38;2;12;230;140m \033[39m\033[12;44H\033[13;13H\033[1;77H\033[5;60H\033[19;67H\033[12;15H\033[5;4H\033[38;2;13;233;136m \033[39m\033[11;75H\033[6;4H\033[38;2;15;235;132m \033[39m\033[15;18H\033[7;4H\033[38;2;17;237;128m \033[39m\033[13;38H\033[21;13H\033[2;47H\033[8;4H\033[38;2;20;239;124m \033[39m\033[18;26H\033[10;41H\033[14;32H\033[12;18H\033[12;2H\033[8;70H\033[10;4H\033[38;2;22;241;119m \033[39m\033[10;58H\033[6;27H\033[12;4H\033[38;2;24;243;115m \033[39m\033[12;27H\033[16;9H\033[6;53H\033[12;64H\033[1;31H\033[12;29H\033[13;4H\033[38;2;27;245;111m \033[39m\033[12;37H\033[14;4H\033[38;2;29;246;107m \033[39m\033[4;47H\033[12;42H\033[15;4H\033[38;2;32;248;103m \033[39m\033[17;60H\033[21;5H\033[5;74H\033[19;4H\033[38;2;35;249;98m \033[39m\033[5;75H\033[9;28H\033[4;64H\033[14;68H\033[17;20H\033[24;73H\033[21;4H\033[38;2;38;250;94m \033[39m\033[24;76H\033[2;35H\033[23;4H\033[38;2;41;251;90m \033[39m\033[20;59H\033[2;76H\033[21;59H\033[4;64H\033[2;5H\033[38;2;44;252;86m \033[39m\033[10;9H\033[5;57H\033[3;54H\033[17;47H\033[11;25H\033[1;9H\033[4;5H\033[38;2;47;253;82m \033[39m\033[13;78H\033[16;45H\033[24;31H\033[16;5H\033[38;2;51;253;78m \033[39m\033[12;11H\033[6;13H\033[12;66H\033[19;5H\033[38;2;54;254;74m \033[39m\033[11;75H\033[3;70H\033[9;63H\033[4;38H\033[12;29H\033[21;5H\033[38;2;58;254;71m \033[39m\033[16;20H\033[23;5H\033[38;2;61;254;67m \033[39m\033[9;67H\033[23;21H\033[2;6H\033[2;6H\033[38;2;65;254;63m \033[39m\033[19;62H\033[9;41H\033[19;5H\033[4;6H\033[38;2;69;254;60m \033[39m\033[18;43H\033[17;69H\033[22;45H\033[9;63H\033[13;41H\033[19;6H\033[38;2;72;254;56m \033[39m\033[23;20H\033[24;29H\033[12;14H\033[21;6H\033[38;2;76;254;53m \033[39m\033[15;54H\033[23;6H\033[38;2;80;253;49m \033[39m\033[4;21H\033[5;20H\033[22;80H\033[22;7H\033[38;2;84;253;46m \033[39m\033[13;14H\033[8;71H\033[3;47H\033[21;11H\033[13;8H\033[38;2;88;252;43m \033[39m\033[7;17H\033[20;17H\033[13;6H\033[19;60H\033[5;69H\033[10;60H\033[3;17H\033[14;8H\033[38;2;92;251;40m \033[39m\033[22;47H\033[13;34H\033[8;42H\033[15;8H\033[38;2;96;250;37m \033[39m\033[9;42H\033[20;20H\033[12;21H\033[13;26H\033[15;8H\033[2;9H\033[38;2;100;249;34m \033[39m\033[17;1H\033[6;23H\033[2;37H\033[21;31H\033[12;9H\033[38;2;104;247;31m \033[39m\033[13;13H\033[10;26H\033[20;23H\033[3;1H\033[16;9H\033[38;2;109;246;28m \033[39m\033[15;59H\033[15;45H\033[22;9H\033[38;2;113;244;26m \033[39m\033[22;50H\033[17;20H\033[5;75H\033[18;60H\033[2;10H\033[38;2;117;242;23m \033[39m\033[9;74H\033[23;21H\033[3;10H\033[38;2;121;240;21m \033[39m\033[14;74H\033[8;22H\033[14;25H\033[3;42H\033[4;47H\033[4;10H\033[38;2;125;239;19m \033[39m\033[3;3H\033[14;65H\033[13;43H\033[5;10H\033[38;2;130;236;16m \033[39m\033[14;9H\033[13;73H\033[1;37H\033[9;74H\033[14;24H\033[6;10H\033[38;2;134;234;14m \033[39m\033[9;54H\033[19;48H\033[7;10H\033[38;2;138;232;13m \033[39m\033[7;21H\033[6;29H\033[12;10H\033[38;2;142;229;11m \033[39m\033[23;10H\033[2;24H\033[5;14H\033[22;7H\033[16;10H\033[38;2;147;227;9m \033[39m\033[5;33H\033[21;56H\033[13;77H\033[19;10H\033[38;2;151;224;8m \033[39m\033[10;55H\033[9;61H\033[21;51H\033[15;37H\033[10;75H\033[20;60H\033[21;10H\033[38;2;155;221;6m \033[39m\033[4;29H\033[18;21H\033[19;48H\033[23;10H\033[38;2;159;218;5m \033[39m\033[24;80H\033[15;56H\033[16;56H\033[6;25H\033[13;50H\033[8;11H\033[38;2;163;215;4m \033[39m\033[14;46H\033[8;64H\033[12;39H\033[10;70H\033[12;11H\033[38;2;167;212;3m \033[39m\033[5;8H\033[1;24H\033[23;30H\033[21;3H\033[16;11H\033[38;2;171;209;2m \033[39m\033[9;67H\033[19;22H\033[19;11H\033[38;2;175;206;2m \033[39m\033[18;24H\033[21;11H\033[38;2;179;202;1m \033[39m\033[10;71H\033[16;37H\033[23;11H\033[38;2;183;199;1m \033[39m\033[11;51H\033[8;12H\033[38;2;187;195;1m \033[39m\033[18;45H\033[9;15H\033[11;73H\033[13;12H\033[38;2;190;192;1m \033[39m\033[19;7H\033[14;12H\033[38;2;194;188;1m \033[39m\033[2;59H\033[15;12H\033[38;2;197;184;1m \033[39m\033[11;67H\033[1;12H\033[2;32H\033[19;12H\033[38;2;201;180;1m \033[39m\033[20;58H\033[20;15H\033[3;73H\033[21;12H\033[38;2;204;177;2m \033[39m\033[16;13H\033[3;30H\033[23;12H\033[38;2;208;173;2m \033[39m\033[10;61H\033[20;13H\033[38;2;211;169;3m \033[39m\033[23;19H\033[5;11H\033[21;13H\033[38;2;214;165;4m \033[39m\033[10;57H\033[6;10H\033[22;13H\033[38;2;217;161;5m \033[39m\033[20;6H\033[16;66H\033[23;14H\033[38;2;220;156;6m \033[39m\033[3;74H\033[6;74H\033[7;48H\033[11;38H\033[10;72H\033[20;61H\033[6;15H\033[38;2;223;152;7m \033[39m\033[23;19H\033[18;35H\033[7;15H\033[38;2;226;148;9m \033[39m\033[7;54H\033[20;31H\033[10;15H\033[38;2;228;144;10m \033[39m\033[8;58H\033[11;63H\033[8;54H\033[23;32H\033[15;43H\033[11;15H\033[38;2;231;140;12m \033[39m\033[8;53H\033[6;2H\033[12;15H\033[38;2;233;136;14m \033[39m\033[12;15H\033[8;28H\033[21;58H\033[15;15H\033[13;15H\033[38;2;236;131;16m \033[39m\033[5;42H\033[11;77H\033[14;15H\033[38;2;238;127;18m \033[39m\033[4;72H\033[5;37H\033[22;19H\033[15;15H\033[38;2;240;123;20m \033[39m\033[7;51H\033[4;13H\033[14;18H\033[4;17H\033[16;15H\033[38;2;242;119;22m \033[39m\033[8;8H\033[16;60H\033[23;48H\033[3;16H\033[38;2;243;114;25m \033[39m\033[17;37H\033[10;4H\033[16;45H\033[5;16H\033[38;2;245;110;27m \033[39m\033[15;46H\033[16;12H\033[17;70H\033[8;16H\033[38;2;247;106;30m \033[39m\033[11;6H\033[23;23H\033[15;78H\033[13;16H\033[38;2;248;102;33m \033[39m\033[15;54H\033[22;47H\033[19;64H\033[19;16H\033[38;2;249;98;35m \033[39m\033[18;20H\033[24;43H\033[16;49H\033[21;31H\033[20;16H\033[38;2;250;94;38m \033[39m\033[18;55H\033[4;18H\033[24;34H\033[3;17H\033[38;2;251;90;41m \033[39m\033[20;46H\033[5;17H\033[38;2;252;86;45m \033[39m\033[19;71H\033[13;18H\033[24;4H\033[1;51H\033[8;17H\033[38;2;253;82;48m \033[39m\033[22;34H\033[10;70H\033[13;17H\033[38;2;254;78;51m \033[39m\033[11;46H\033[24;29H\033[21;17H\033[38;2;254;74;55m \033[39m\033[15;46H\033[24;36H\033[9;70H\033[22;44H\033[22;37H\033[1;66H\033[3;18H\033[38;2;254;70;58m \033[39m\033[7;11H\033[7;12H\033[5;18H\033[38;2;254;66;62m \033[39m\033[10;60H\033[9;31H\033[8;18H\033[38;2;254;63;65m \033[39m\033[12;13H\033[9;4H\033[13;18H\033[38;2;254;59;69m \033[39m\033[23;39H\033[12;24H\033[7;71H\033[3;14H\033[21;48H\033[4;43H\033[5;33H\033[21;18H\033[38;2;254;55;73m \033[39m\033[4;75H\033[7;59H\033[15;40H\033[24;18H\033[38;2;254;52;77m \033[39m\033[17;2H\033[4;19H\033[38;2;253;49;81m \033[39m\033[21;44H\033[19;33H\033[18;62H\033[5;19H\033[38;2;252;45;85m \033[39m\033[4;6H\033[9;52H\033[11;30H\033[8;62H\033[16;28H\033[15;9H\033[6;19H\033[38;2;252;42;89m \033[39m\033[1;38H\033[13;45H\033[1;32H\033[12;19H\033[12;13H\033[24;30H\033[7;19H\033[38;2;251;39;93m \033[39m\033[19;27H\033[4;70H\033[14;19H\033[38;2;250;36;97m \033[39m\033[11;1H\033[11;42H\033[6;59H\033[20;67H\033[8;28H\033[15;19H\033[38;2;248;33;101m \033[39m\033[24;68H\033[4;2H\033[20;51H\033[23;31H\033[16;19H\033[38;2;247;30;105m \033[39m\033[10;54H\033[21;19H\033[38;2;245;28;109m \033[39m\033[4;2H\033[18;41H\033[23;19H\033[38;2;244;25;113m \033[39m\033[6;63H\033[24;48H\033[10;17H\033[16;13H\033[17;58H\033[22;15H\033[8;20H\033[38;2;242;23;118m \033[39m\033[8;27H\033[21;18H\033[2;43H\033[19;20H\033[38;2;240;20;122m \033[39m\033[18;75H\033[20;20H\033[38;2;238;18;126m \033[39m\033[4;30H\033[15;13H\033[19;62H\033[4;3H\033[21;20H\033[38;2;236;16;130m \033[39m\033[23;6H\033[11;46H\033[16;71H\033[5;37H\033[22;53H\033[22;20H\033[38;2;234;14;135m \033[39m\033[8;9H\033[19;6H\033[1;17H\033[17;18H\033[22;23H\033[20;71H\033[18;9H\033[10;22H\033[38;2;231;12;139m \033[39m\033[6;78H\033[11;22H\033[38;2;229;11;143m \033[39m\033[23;24H\033[10;18H\033[7;68H\033[12;22H\033[38;2;226;9;147m \033[39m\033[8;70H\033[1;31H\033[15;80H\033[13;22H\033[38;2;224;8;151m \033[39m\033[10;74H\033[1;51H\033[17;80H\033[14;22H\033[38;2;221;6;156m \033[39m\033[24;52H\033[23;18H\033[2;73H\033[8;2H\033[15;22H\033[38;2;218;5;160m \033[39m\033[4;25H\033[6;57H\033[5;67H\033[16;22H\033[38;2;215;4;164m \033[39m\033[17;75H\033[22;79H\033[17;76H\033[5;23H\033[38;2;212;3;168m \033[39m\033[14;55H\033[6;41H\033[8;13H\033[6;63H\033[6;23H\033[38;2;208;2;172m \033[39m\033[23;54H\033[24;22H\033[22;26H\033[18;75H\033[5;43H\033[5;22H\033[14;23H\033[38;2;205;2;176m \033[39m\033[3;63H\033[10;80H\033[20;23H\033[38;2;202;1;180m \033[39m\033[6;35H\033[13;12H\033[4;24H\033[38;2;198;1;183m \033[39m\033[21;12H\033[7;24H\033[38;2;195;1;187m \033[39m\033[5;60H\033[9;72H\033[9;28H\033[9;24H\033[38;2;191;1;191m \033[39m\033[1;51H\033[13;24H\033[38;2;187;1;195m \033[39m\033[14;30H\033[15;24H\033[38;2;184;1;198m \033[39m\033[9;72H\033[3;21H\033[20;24H\033[38;2;180;1;202m \033[39m\033[10;5H\033[3;73H\033[4;25H\033[14;80H\033[4;25H\033[38;2;176;2;205m \033[39m\033[5;10H\033[21;11H\033[1;45H\033[7;25H\033[38;2;172;2;208m \033[39m\033[19;66H\033[15;7H\033[16;24H\033[8;10H\033[14;73H\033[9;25H\033[38;2;168;3;212m \033[39m\033[6;10H\033[2;32H\033[16;25H\033[12;25H\033[38;2;164;4;215m \033[39m\033[16;69H\033[15;34H\033[12;70H\033[2;36H\033[16;25H\033[38;2;160;5;218m \033[39m\033[22;1H\033[19;25H\033[38;2;156;6;221m \033[39m\033[23;24H\033[23;52H\033[5;78H\033[15;42H\033[20;25H\033[38;2;152;7;223m \033[39m\033[3;21H\033[5;36H\033[9;43H\033[21;25H\033[38;2;147;9;226m \033[39m\033[16;20H\033[15;30H\033[1;32H\033[12;24H\033[24;14H\033[5;25H\033[22;25H\033[38;2;143;10;229m \033[39m\033[12;67H\033[17;8H\033[23;25H\033[38;2;139;12;231m \033[39m\033[21;23H\033[3;52H\033[24;55H\033[24;25H\033[38;2;135;14;234m \033[39m\033[18;64H\033[4;26H\033[38;2;131;16;236m \033[39m\033[17;48H\033[6;14H\033[22;23H\033[19;17H\033[18;22H\033[7;26H\033[38;2;126;18;238m \033[39m\033[3;47H\033[10;21H\033[15;66H\033[9;26H\033[38;2;122;20;240m \033[39m\033[17;19H\033[17;3H\033[1;40H\033[7;42H\033[17;51H\033[18;26H\033[38;2;118;23;242m \033[39m\033[5;70H\033[20;29H\033[20;26H\033[38;2;114;25;244m \033[39m\033[16;14H\033[21;71H\033[5;27H\033[38;2;110;28;245m \033[39m\033[19;66H\033[8;14H\033[4;62H\033[24;70H\033[16;21H\033[6;27H\033[38;2;105;30;247m \033[39m\033[20;56H\033[19;35H\033[1;10H\033[23;50H\033[7;54H\033[7;27H\033[38;2;101;33;248m \033[39m\033[24;34H\033[18;15H\033[8;27H\033[38;2;97;36;250m \033[39m\033[24;60H\033[9;60H\033[20;7H\033[20;70H\033[20;27H\033[38;2;93;39;251m \033[39m\033[10;27H\033[12;54H\033[5;28H\033[38;2;89;42;252m \033[39m\033[16;3H\033[23;80H\033[13;75H\033[20;5H\033[8;20H\033[15;28H\033[38;2;85;45;252m \033[39m\033[14;33H\033[5;66H\033[12;29H\033[38;2;81;48;253m \033[39m\033[16;14H\033[20;15H\033[22;48H\033[14;29H\033[38;2;77;52;254m \033[39m\033[11;8H\033[16;29H\033[38;2;73;55;254m \033[39m\033[19;38H\033[19;10H\033[9;6H\033[8;65H\033[17;44H\033[6;53H\033[14;3H\033[12;30H\033[38;2;69;59;254m \033[39m\033[1;2H\033[16;19H\033[6;61H\033[20;3H\033[14;30H\033[38;2;66;62;254m \033[39m\033[3;30H\033[3;34H\033[16;30H\033[38;2;62;66;254m \033[39m\033[19;69H\033[19;77H\033[21;68H\033[21;2H\033[7;1H\033[19;75H\033[20;30H\033[38;2;58;70;254m \033[39m\033[21;54H\033[9;78H\033[5;31H\033[38;2;55;74;254m \033[39m\033[10;12H\033[6;70H\033[10;30H\033[12;31H\033[38;2;51;77;254m \033[39m\033[15;36H\033[24;10H\033[21;2H\033[14;31H\033[38;2;48;81;253m \033[39m\033[14;61H\033[21;64H\033[10;52H\033[16;31H\033[38;2;45;85;252m \033[39m\033[13;79H\033[5;11H\033[20;31H\033[38;2;42;89;251m \033[39m\033[22;45H\033[11;20H\033[17;75H\033[6;76H\033[5;32H\033[38;2;39;93;250m \033[39m\033[24;63H\033[15;79H\033[13;32H\033[38;2;36;98;249m \033[39m\033[11;20H\033[8;34H\033[12;45H\033[12;27H\033[14;32H\033[38;2;33;102;248m \033[39m\033[10;59H\033[21;16H\033[3;27H\033[15;32H\033[38;2;30;106;247m \033[39m\033[14;79H\033[1;46H\033[18;32H\033[38;2;27;110;245m \033[39m\033[12;7H\033[14;4H\033[15;66H\033[20;32H\033[38;2;25;114;244m \033[39m\033[17;55H\033[19;37H\033[21;32H\033[38;2;22;118;242m \033[39m\033[22;14H\033[21;40H\033[22;32H\033[38;2;20;123;240m \033[39m\033[13;11H\033[15;40H\033[12;34H\033[23;16H\033[23;32H\033[38;2;18;127;238m \033[39m\033[3;58H\033[3;33H\033[38;2;16;131;236m \033[39m\033[13;17H\033[18;25H\033[18;53H\033[4;33H\033[38;2;14;135;233m \033[39m\033[17;17H\033[4;60H\033[9;56H\033[4;5H\033[6;12H\033[3;32H\033[6;33H\033[38;2;12;140;231m \033[39m\033[17;20H\033[18;63H\033[7;33H\033[38;2;10;144;228m \033[39m\033[8;68H\033[20;5H\033[16;33H\033[38;2;9;148;226m \033[39m\033[16;42H\033[14;12H\033[4;49H\033[14;24H\033[9;4H\033[16;28H\033[23;4H\033[19;69H\033[24;33H\033[38;2;7;152;223m \033[39m\033[7;19H\033[2;34H\033[38;2;6;156;220m \033[39m\033[19;64H\033[8;34H\033[38;2;5;160;217m \033[39m\033[3;56H\033[20;26H\033[19;63H\033[11;33H\033[7;54H\033[2;35H\033[38;2;4;164;214m \033[39m\033[5;78H\033[9;68H\033[16;73H\033[8;35H\033[38;2;3;168;211m \033[39m\033[21;38H\033[12;53H\033[24;36H\033[19;35H\033[38;2;2;172;208m \033[39m\033[11;28H\033[11;50H\033[4;15H\033[20;35H\033[38;2;2;176;205m \033[39m\033[9;46H\033[18;4H\033[17;36H\033[23;35H\033[38;2;1;180;201m \033[39m\033[7;62H\033[10;66H\033[18;9H\033[10;36H\033[38;2;1;184;198m \033[39m\033[19;40H\033[3;77H\033[16;26H\033[3;46H\033[18;36H\033[38;2;1;188;194m \033[39m\033[11;11H\033[2;70H\033[21;36H\033[38;2;1;192;190m \033[39m\033[18;73H\033[20;47H\033[1;29H\033[24;36H\033[38;2;1;195;187m \033[39m\033[5;67H\033[10;37H\033[38;2;1;199;183m \033[39m\033[11;23H\033[4;70H\033[9;38H\033[11;37H\033[38;2;1;202;179m \033[39m\033[5;65H\033[12;37H\033[38;2;2;206;175m \033[39m\033[14;39H\033[13;37H\033[38;2;2;209;171m \033[39m\033[3;15H\033[6;29H\033[8;23H\033[19;47H\033[7;33H\033[14;37H\033[38;2;3;212;167m \033[39m\033[14;35H\033[15;37H\033[38;2;4;215;163m \033[39m\033[24;77H\033[9;65H\033[20;66H\033[18;37H\033[22;64H\033[18;37H\033[38;2;5;218;159m \033[39m\033[22;28H\033[6;43H\033[5;40H\033[21;37H\033[38;2;6;221;155m \033[39m\033[13;45H\033[5;16H\033[24;37H\033[38;2;8;224;151m \033[39m\033[5;31H\033[19;4H\033[21;52H\033[7;38H\033[38;2;9;227;147m \033[39m\033[21;75H\033[16;38H\033[38;2;11;229;143m \033[39m\033[2;54H\033[18;38H\033[38;2;12;232;138m \033[39m\033[22;55H\033[21;38H\033[38;2;14;234;134m \033[39m\033[7;14H\033[5;63H\033[12;36H\033[16;19H\033[10;12H\033[2;49H\033[24;38H\033[38;2;16;236;130m \033[39m\033[2;20H\033[7;56H\033[2;25H\033[4;27H\033[4;39H\033[38;2;18;238;126m \033[39m\033[20;61H\033[20;64H\033[6;39H\033[38;2;21;240;121m \033[39m\033[5;18H\033[21;2H\033[20;35H\033[19;12H\033[15;37H\033[8;39H\033[38;2;23;242;117m \033[39m\033[10;48H\033[16;39H\033[38;2;25;244;113m \033[39m\033[20;41H\033[16;75H\033[3;74H\033[10;30H\033[19;39H\033[38;2;28;246;109m \033[39m\033[3;4H\033[12;13H\033[7;16H\033[9;61H\033[24;4H\033[7;20H\033[17;26H\033[20;39H\033[38;2;31;247;105m \033[39m\033[21;13H\033[21;39H\033[38;2;34;248;100m \033[39m\033[5;78H\033[16;8H\033[10;21H\033[24;6H\033[9;39H\033[22;39H\033[38;2;36;250;96m \033[39m\033[7;28H\033[23;39H\033[38;2;39;251;92m \033[39m\033[20;1H\033[5;22H\033[9;44H\033[24;28H\033[4;72H\033[12;74H\033[4;40H\033[38;2;43;252;88m \033[39m\033[15;49H\033[5;79H\033[1;9H\033[22;50H\033[8;64H\033[6;40H\033[38;2;46;253;84m \033[39m\033[10;58H\033[10;64H\033[5;77H\033[17;23H\033[8;40H\033[38;2;49;253;80m \033[39m\033[2;13H\033[15;55H\033[4;41H\033[38;2;52;254;76m \033[39m\033[23;2H\033[2;54H\033[4;39H\033[7;54H\033[23;60H\033[6;41H\033[38;2;56;254;73m \033[39m\033[11;62H\033[8;41H\033[38;2;59;254;69m \033[39m\033[24;61H\033[12;4H\033[9;1H\033[15;1H\033[24;25H\033[5;42H\033[38;2;63;254;65m \033[39m\033[7;80H\033[7;46H\033[11;77H\033[3;41H\033[14;55H\033[6;42H\033[38;2;67;254;61m \033[39m\033[22;69H\033[2;61H\033[1;64H\033[7;42H\033[38;2;70;254;58m \033[39m\033[2;5H\033[13;19H\033[18;42H\033[38;2;74;254;54m \033[39m\033[3;48H\033[1;10H\033[15;22H\033[19;15H\033[3;6H\033[8;43H\033[38;2;78;254;51m \033[39m\033[20;30H\033[23;11H\033[12;43H\033[38;2;82;253;48m \033[39m\033[10;60H\033[13;43H\033[38;2;86;252;44m \033[39m\033[11;1H\033[17;18H\033[8;18H\033[10;10H\033[14;43H\033[38;2;90;251;41m \033[39m\033[19;10H\033[20;9H\033[9;26H\033[7;1H\033[14;35H\033[15;43H\033[38;2;94;250;38m \033[39m\033[24;28H\033[14;62H\033[16;43H\033[38;2;98;249;35m \033[39m\033[21;71H\033[18;43H\033[38;2;102;248;32m \033[39m\033[24;35H\033[24;46H\033[7;62H\033[16;32H\033[17;1H\033[19;43H\033[38;2;107;246;30m \033[39m\033[19;75H\033[23;51H\033[6;35H\033[20;43H\033[38;2;111;245;27m \033[39m\033[7;29H\033[11;5H\033[21;43H\033[38;2;115;243;24m \033[39m\033[8;43H\033[22;43H\033[38;2;119;241;22m \033[39m\033[19;56H\033[23;43H\033[38;2;123;240;20m \033[39m\033[19;57H\033[9;11H\033[12;44H\033[38;2;128;237;17m \033[39m\033[4;50H\033[15;70H\033[17;49H\033[24;44H\033[38;2;132;235;15m \033[39m\033[19;29H\033[18;17H\033[12;45H\033[38;2;136;233;13m \033[39m\033[5;38H\033[23;20H\033[19;63H\033[24;45H\033[38;2;140;231;12m \033[39m\033[16;37H\033[21;58H\033[2;46H\033[38;2;144;228;10m \033[39m\033[20;34H\033[3;5H\033[13;31H\033[3;46H\033[38;2;149;225;8m \033[39m\033[24;45H\033[2;2H\033[2;32H\033[4;46H\033[38;2;153;223;7m \033[39m\033[7;71H\033[5;46H\033[38;2;157;220;6m \033[39m\033[2;77H\033[6;46H\033[38;2;161;217;5m \033[39m\033[18;39H\033[16;47H\033[7;46H\033[38;2;165;214;4m \033[39m\033[11;35H\033[2;66H\033[8;46H\033[38;2;169;211;3m \033[39m\033[18;70H\033[13;46H\033[38;2;173;207;2m \033[39m\033[18;15H\033[24;27H\033[21;18H\033[14;46H\033[38;2;177;204;1m \033[39m\033[24;51H\033[15;46H\033[38;2;181;201;1m \033[39m\033[16;49H\033[16;46H\033[38;2;185;197;1m \033[39m\033[23;38H\033[14;54H\033[8;67H\033[5;47H\033[38;2;188;194;1m \033[39m\033[15;57H\033[14;21H\033[19;16H\033[8;47H\033[38;2;192;190;1m \033[39m\033[9;3H\033[12;47H\033[38;2;196;186;1m \033[39m\033[11;46H\033[21;47H\033[38;2;199;182;1m \033[39m\033[13;42H\033[22;47H\033[38;2;203;179;1m \033[39m\033[12;76H\033[20;16H\033[13;72H\033[18;41H\033[17;61H\033[23;47H\033[38;2;206;175;2m \033[39m\033[2;15H\033[5;48H\033[38;2;209;171;2m \033[39m\033[6;35H\033[23;53H\033[8;48H\033[38;2;213;167;3m \033[39m\033[3;26H\033[23;74H\033[20;78H\033[4;72H\033[12;48H\033[38;2;216;163;4m \033[39m\033[19;1H\033[24;40H\033[7;70H\033[6;69H\033[22;30H\033[12;37H\033[23;7H\033[3;25H\033[20;48H\033[38;2;219;159;5m \033[39m\033[21;40H\033[10;32H\033[22;48H\033[38;2;222;154;7m \033[39m\033[13;39H\033[20;51H\033[3;16H\033[15;22H\033[11;51H\033[7;69H\033[24;48H\033[38;2;224;150;8m \033[39m\033[22;39H\033[11;65H\033[16;50H\033[2;18H\033[9;18H\033[5;49H\033[38;2;227;146;9m \033[39m\033[6;73H\033[7;76H\033[8;49H\033[38;2;230;142;11m \033[39m\033[1;66H\033[9;28H\033[2;39H\033[9;63H\033[13;49H\033[38;2;232;138;13m \033[39m\033[11;44H\033[20;79H\033[15;74H\033[3;31H\033[14;49H\033[38;2;234;133;15m \033[39m\033[8;70H\033[16;20H\033[2;56H\033[21;79H\033[8;30H\033[16;13H\033[9;4H\033[15;49H\033[38;2;237;129;17m \033[39m\033[15;74H\033[13;34H\033[16;17H\033[16;49H\033[38;2;239;125;19m \033[39m\033[10;20H\033[20;49H\033[38;2;241;121;21m \033[39m\033[2;30H\033[15;50H\033[22;49H\033[38;2;243;116;23m \033[39m\033[19;9H\033[7;25H\033[24;49H\033[38;2;244;112;26m \033[39m\033[14;56H\033[4;55H\033[10;45H\033[13;51H\033[6;50H\033[38;2;246;108;29m \033[39m\033[4;59H\033[2;67H\033[14;26H\033[15;35H\033[7;50H\033[38;2;247;104;31m \033[39m\033[14;7H\033[11;76H\033[4;65H\033[20;50H\033[38;2;249;100;34m \033[39m\033[4;43H\033[22;50H\033[38;2;250;96;37m \033[39m\033[3;16H\033[24;50H\033[38;2;251;92;40m \033[39m\033[3;26H\033[4;7H\033[17;64H\033[9;11H\033[21;51H\033[38;2;252;88;43m \033[39m\033[20;54H\033[4;42H\033[22;51H\033[38;2;253;84;46m \033[39m\033[20;52H\033[4;52H\033[38;2;253;80;50m \033[39m\033[12;69H\033[17;8H\033[10;76H\033[1;37H\033[19;3H\033[1;30H\033[8;52H\033[38;2;254;76;53m \033[39m\033[5;22H\033[20;25H\033[20;53H\033[17;23H\033[1;41H\033[13;52H\033[38;2;254;72;56m \033[39m\033[23;19H\033[7;69H\033[14;52H\033[38;2;254;68;60m \033[39m\033[20;58H\033[21;15H\033[11;77H\033[8;54H\033[15;52H\033[38;2;254;64;64m \033[39m\033[13;41H\033[17;80H\033[5;53H\033[38;2;254;61;67m \033[39m\033[3;4H\033[7;53H\033[38;2;254;57;71m \033[39m\033[19;50H\033[11;27H\033[21;59H\033[12;53H\033[38;2;254;54;75m \033[39m\033[15;69H\033[22;19H\033[17;74H\033[22;51H\033[9;19H\033[2;79H\033[16;53H\033[38;2;253;50;79m \033[39m\033[15;28H\033[13;8H\033[3;16H\033[1;23H\033[1;69H\033[20;53H\033[38;2;253;47;83m \033[39m\033[14;47H\033[6;54H\033[38;2;252;44;87m \033[39m\033[19;27H\033[22;32H\033[12;54H\033[38;2;251;41;91m \033[39m\033[2;62H\033[17;51H\033[14;33H\033[5;31H\033[16;54H\033[38;2;250;38;95m \033[39m\033[13;48H\033[20;54H\033[38;2;249;35;99m \033[39m\033[23;9H\033[20;79H\033[18;64H\033[5;55H\033[38;2;248;32;103m \033[39m\033[13;63H\033[10;48H\033[7;55H\033[38;2;246;29;107m \033[39m\033[8;50H\033[15;15H\033[10;65H\033[23;7H\033[21;1H\033[12;55H\033[38;2;245;26;111m \033[39m\033[22;27H\033[18;25H\033[10;40H\033[23;49H\033[16;55H\033[38;2;243;24;116m \033[39m\033[8;5H\033[22;46H\033[19;55H\033[38;2;241;22;120m \033[39m\033[5;47H\033[20;55H\033[38;2;239;19;124m \033[39m\033[6;76H\033[21;3H\033[1;31H\033[6;71H\033[18;57H\033[10;3H\033[21;75H\033[21;55H\033[38;2;237;17;128m \033[39m\033[11;19H\033[19;25H\033[8;2H\033[15;17H\033[20;21H\033[22;55H\033[38;2;235;15;133m \033[39m\033[3;44H\033[10;80H\033[14;51H\033[8;58H\033[23;55H\033[38;2;233;13;137m \033[39m\033[17;50H\033[24;18H\033[4;56H\033[38;2;230;11;141m \033[39m\033[20;60H\033[14;20H\033[22;48H\033[17;36H\033[12;45H\033[8;56H\033[38;2;228;10;145m \033[39m\033[19;72H\033[15;4H\033[19;65H\033[4;73H\033[18;17H\033[12;56H\033[38;2;225;8;149m \033[39m\033[16;2H\033[19;44H\033[16;56H\033[38;2;222;7;154m \033[39m\033[15;47H\033[2;15H\033[11;19H\033[20;56H\033[38;2;219;6;158m \033[39m\033[22;36H\033[3;58H\033[24;56H\033[38;2;216;4;162m \033[39m\033[17;79H\033[5;47H\033[20;57H\033[38;2;213;3;166m \033[39m\033[12;64H\033[24;57H\033[38;2;210;3;170m \033[39m\033[10;70H\033[17;66H\033[13;58H\033[38;2;207;2;174m \033[39m\033[24;77H\033[19;1H\033[14;58H\033[38;2;203;1;178m \033[39m\033[4;6H\033[17;25H\033[10;69H\033[3;51H\033[23;2H\033[9;20H\033[15;58H\033[38;2;200;1;182m \033[39m\033[19;39H\033[15;11H\033[8;45H\033[23;58H\033[38;2;196;1;185m \033[39m\033[14;9H\033[15;45H\033[5;59H\033[38;2;193;1;189m \033[39m\033[20;34H\033[6;59H\033[38;2;189;1;193m \033[39m\033[7;48H\033[17;43H\033[23;31H\033[12;1H\033[20;47H\033[17;60H\033[7;59H\033[38;2;186;1;196m \033[39m\033[4;67H\033[7;65H\033[1;51H\033[19;44H\033[24;29H\033[8;59H\033[38;2;182;1;200m \033[39m\033[10;37H\033[12;59H\033[38;2;178;1;203m \033[39m\033[4;14H\033[24;24H\033[14;70H\033[16;59H\033[38;2;174;2;207m \033[39m\033[14;70H\033[20;1H\033[4;73H\033[19;61H\033[13;54H\033[5;60H\033[38;2;170;3;210m \033[39m\033[17;69H\033[1;11H\033[11;65H\033[13;59H\033[1;45H\033[12;60H\033[38;2;166;3;213m \033[39m\033[4;80H\033[6;74H\033[16;60H\033[38;2;162;4;216m \033[39m\033[7;9H\033[4;51H\033[5;61H\033[38;2;158;6;219m \033[39m\033[16;70H\033[12;61H\033[38;2;154;7;222m \033[39m\033[3;29H\033[10;29H\033[9;67H\033[21;35H\033[12;64H\033[20;71H\033[6;52H\033[12;47H\033[16;61H\033[38;2;150;8;225m \033[39m\033[16;1H\033[11;7H\033[1;17H\033[4;22H\033[19;39H\033[18;61H\033[38;2;145;10;227m \033[39m\033[11;20H\033[8;45H\033[24;61H\033[38;2;141;11;230m \033[39m\033[17;53H\033[4;49H\033[7;77H\033[5;62H\033[38;2;137;13;232m \033[39m\033[21;52H\033[5;3H\033[19;5H\033[3;61H\033[14;14H\033[13;62H\033[38;2;133;15;235m \033[39m\033[9;49H\033[4;30H\033[19;43H\033[14;62H\033[38;2;128;17;237m \033[39m\033[7;19H\033[6;69H\033[21;67H\033[15;1H\033[23;59H\033[15;62H\033[38;2;124;19;239m \033[39m\033[23;15H\033[16;35H\033[15;76H\033[18;62H\033[38;2;120;21;241m \033[39m\033[9;58H\033[12;76H\033[5;27H\033[6;64H\033[11;74H\033[12;69H\033[9;21H\033[24;62H\033[38;2;116;24;243m \033[39m\033[10;30H\033[6;63H\033[38;2;112;26;245m \033[39m\033[16;22H\033[11;22H\033[16;4H\033[7;58H\033[11;23H\033[7;63H\033[38;2;107;29;246m \033[39m\033[10;14H\033[8;63H\033[38;2;103;32;248m \033[39m\033[14;25H\033[19;63H\033[38;2;99;35;249m \033[39m\033[11;47H\033[12;54H\033[22;27H\033[20;63H\033[38;2;95;37;250m \033[39m\033[8;58H\033[23;7H\033[23;16H\033[22;17H\033[22;63H\033[38;2;91;40;251m \033[39m\033[3;13H\033[19;4H\033[3;4H\033[23;63H\033[38;2;87;44;252m \033[39m\033[12;75H\033[17;15H\033[12;64H\033[38;2;83;47;253m \033[39m\033[14;70H\033[3;59H\033[18;65H\033[13;64H\033[38;2;79;50;253m \033[39m\033[15;13H\033[12;25H\033[18;45H\033[14;17H\033[11;8H\033[14;64H\033[38;2;75;54;254m \033[39m\033[12;15H\033[8;46H\033[1;67H\033[21;64H\033[38;2;71;57;254m \033[39m\033[1;33H\033[5;65H\033[38;2;67;61;254m \033[39m\033[12;78H\033[22;27H\033[5;8H\033[6;65H\033[38;2;64;64;254m \033[39m\033[14;41H\033[1;25H\033[16;11H\033[2;69H\033[7;65H\033[38;2;60;68;254m \033[39m\033[6;38H\033[19;4H\033[23;45H\033[8;65H\033[38;2;57;72;254m \033[39m\033[15;75H\033[21;39H\033[10;23H\033[7;18H\033[17;28H\033[13;35H\033[15;65H\033[38;2;53;76;254m \033[39m\033[1;11H\033[21;65H\033[38;2;50;79;253m \033[39m\033[7;24H\033[5;66H\033[38;2;46;83;253m \033[39m\033[17;71H\033[12;57H\033[5;70H\033[18;14H\033[17;72H\033[15;68H\033[18;45H\033[23;80H\033[16;66H\033[38;2;43;87;252m \033[39m\033[3;64H\033[23;8H\033[2;77H\033[5;67H\033[38;2;40;91;251m \033[39m\033[22;70H\033[12;67H\033[38;2;37;95;250m \033[39m\033[12;6H\033[3;71H\033[13;67H\033[38;2;34;100;249m \033[39m\033[5;26H\033[4;44H\033[16;53H\033[1;49H\033[14;67H\033[38;2;31;104;247m \033[39m\033[24;73H\033[16;31H\033[6;27H\033[21;52H\033[18;35H\033[8;36H\033[1;39H\033[15;67H\033[38;2;29;108;246m \033[39m\033[12;68H\033[24;38H\033[17;14H\033[5;68H\033[38;2;26;112;244m \033[39m\033[10;11H\033[7;19H\033[1;32H\033[16;68H\033[38;2;24;116;243m \033[39m\033[5;72H\033[1;19H\033[6;69H\033[38;2;21;121;241m \033[39m\033[8;21H\033[8;71H\033[7;69H\033[38;2;19;125;239m \033[39m\033[21;40H\033[22;40H\033[5;4H\033[2;5H\033[8;69H\033[38;2;17;129;237m \033[39m\033[24;27H\033[12;30H\033[5;19H\033[15;69H\033[38;2;15;133;235m \033[39m\033[21;52H\033[21;50H\033[15;44H\033[8;66H\033[1;63H\033[12;70H\033[38;2;13;137;232m \033[39m\033[15;69H\033[13;48H\033[13;70H\033[38;2;11;142;230m \033[39m\033[11;76H\033[16;57H\033[23;79H\033[20;37H\033[14;70H\033[38;2;9;146;227m \033[39m\033[0;0H\033[0m\033[38;2;8;150;224m\033[39m\033[38;2;7;154;222m\033[39m");
	return 0;
}

之后得到输出,可能是终端问题,我这个没颜色,但是做法应该没问题:

img.png

FLAG助力大红包

百度:修改HTTP Header 里面的 X-Forwarded-For

使用Postman进行发包,这里还偷偷学习了Postman的批量请求的用法,注意:请求不能过快,要有一定间隔,否则会失败,我之前就是因为间隔调整了50ms搞了几次都不成功,稳一点,时间够,2s一次就行了。

生成ip的脚本:

import json

if __name__=='__main__':
    ips = []
    single = {}
    for i in range(0, 256):
        ip = str(i)+".11.23.56"
        single['ip'] = ip
        ips.append(single.copy())
    print(json.dumps(ips,indent=4))

python xxx.py >> test.json 然后将test.json 导入postman即可

图之上的信息

学到了学到了,打算下次开发后端尝试一下graphql了哈哈哈哈哈。

百度一下,API接口是 http://xxxxx:yyyyy/graphql,也有可能是其他几个,只有这个post请求不是404,所以选择了这个接口

进入postman,直接开搞,正好有graphql的post请求格式hhhh,我百度graphql漏洞,然后最上面两条足以做题了,我就试了三个query他就成了


# {
#   __type (name: "GUser") {
#     name
#     fields {
#       name
#       type {
#         name
#         kind
#         ofType {
#           name
#           kind
#         }
#       }
#     }
#   }
# }
# {
#   __type (name: "Query") {
#     name
#     fields {
#       name
#       type {
#         name
#         kind
#         ofType {
#           name
#           kind
#         }
#       }
#     }
#   }
# }



# query{
    {
    user(id:1){
        id,
        username,
        privateEmail
    }
    }
# }


RSA

这个题真的带我复习RSA!!!!感谢!!!!我打ctf一直做不出来math题,这是第一次,很高兴hhh

而且这一道题让我搜索出了好多关于rsa的题,我也从中学到了不少知识。

  1. RSA基本算法,离散数学课基本知识
  2. 威尔逊算法求p
  3. 根据value[-1]求整个value数组
  4. 反向求q
  5. RSA求flag

import math
import gmpy2 # 加密解密包
import sympy 
from Crypto.Util.number import *

e = 65537


def get_p():
    x = 11124440021748127159092076861405454814981575144744508857178576572929321435002942998531420985771090167262256877805902135304112271641074498386662361391760451
    y = 11124440021748127159092076861405454814981575144744508857178576572929321435002942998531420985771090167262256877805902135304112271641074498386662361391661439
    # value_p = sympy.nextprime((math.factorial(y)) % x)  # Hint:这里直接计算会溢出,请你仔细观察 x 和 y 的特征
    
    """
      这里是威尔逊算法,防溢出,百度可以搜到
    """
    def mod_wei(A,B):
        mod = 1
        x = A-1
        y = B + 1
        for i in range (y,x):
            mod *= i
            mod %= A
        return mod
    tmp = mod_wei(x,y)
    return sympy.nextprime(gmpy2.invert(tmp,x))

def get_q():
    value = [getPrime(256)]
    for i in range(1, 10):
        value.append(sympy.nextprime(value[i - 1]))
    print("value[-1] = ", value[-1])
    # value[-1] = 80096058210213458444437404275177554701604739094679033012396452382975889905967
    n = 1
    for i in range(10):
        n = n * value[i]
    q = getPrime(512)
    value_q = pow(q, e, n)
    print("value_q = ", value_q)
    return sympy.nextprime(q)


def get_formal_n():
    value = [0,0,0,0,0,0,0,0,0,0]
    value[9] = 80096058210213458444437404275177554701604739094679033012396452382975889905967
    i = 8
    n_cal = value[-1]
    phi_p = n_cal - 1 
    while i >= 0:
        value[i] = sympy.prevprime(value[i+1])
        n_cal *= value[i]
        phi_p *= (value[i] -1) # 这里用到了 phi(n) = phi(P_1-1)*phi(P_2-1)*...*phi(P_{10}-1),这是我自己想到的
        i -= 1
    # 真正的value_q    
    value_q_real = 5591130088089053683141520294620171646179623062803708281023766040254675625012293743465254007970358536660934858789388093688621793201658889399155357407224541324547522479617669812322262372851929223461622559971534394847970366311206823328200747893961649255426063204482192349202005330622561575868946656570678176047822163692259375233925446556338917358118222905050574458037965803154233167594946713038301249145097770337253930655681648299249481985768272321820718607757023350742647019762122572886601905212830744868048802864679734428398229280780215896045509020793530842541217790352661324630048261329493088812057300480085895399922301827190211956061083460036781018660201163819104150988531352228650991733072010425499238731811243310625701946882701082178190402011133439065106720309788819
    # 反向计算得到的q
    q_cal = 10477925992460766451892208516181598312750484426056814542870756188277177949099084361476539803367804757559880919838828678145609717295215924948786830953570263
    value_q_cal = pow(q_cal,e,n_cal) # 计算value_q
    
    assert(value_q_cal==value_q_real)
    # d_p = gmpy2.invert(e,phi_p)
    # print(pow(value_q_real,d_p,n_cal))
    # q ^ e mod n = value_q -> q = ? 
    # value_q ^ d mod n = q 


def main():
    p = get_p()
    q = sympy.nextprime(10477925992460766451892208516181598312750484426056814542870756188277177949099084361476539803367804757559880919838828678145609717295215924948786830953570263)
    n = p * q
    phi = n - p - q + 1
    c = 110644875422336073350488613774418819991169603750711465190260581119043921549811353108399064284589038384540018965816137286856268590507418636799746759551009749004176545414118128330198437101472882906564195341277423007542422286760940374859966152871273887950174522820162832774361714668826122465471705166574184367478
    # m = c^d mod n
    # ed == 1 mod phi
    d = gmpy2.invert(e, phi)
    m = pow(c, d, n)
    # print(m)
    print(long_to_bytes(m))

if __name__=='__main__':
    main()