zoukankan      html  css  js  c++  java
  • [攻防世界] 密码学部分题1wp

    期末将至,最近时间有点多,去了一下攻防世界,好久没来了。。。。甚是想念,做了一点密码学的题

    cr3-what-is-this-encrytion

     p=0xa6055ec186de51800ddd6fcbf0192384ff42d707a55f57af4fcfb0d1dc7bd97055e8275cd4b78ec63c5d592f567c66393a061324aa2e6a8d8fc2a910cbee1ed9 q=0xfa0f9463ea0a93b929c099320d31c277e0b0dbc65b189ed76124f5a1218f5d91fd0102a4c8de11f28be5e4d0ae91ab319f4537e97ed74bc663e972a4a9119307 e=0x6d1fdab4ce3217b3fc32c9ed480a31d067fd57d93a9ab52b472dc393ab7852fbcb11abbebfd6aaae8032db1316dc22d3f7c3d631e24df13ef23d3b381a1c3e04abcc745d402ee3a031ac2718fae63b240837b4f657f29ca4702da9af22a3a019d68904a969ddb01bcf941df70af042f4fae5cbeb9c2151b324f387e525094c41 c=0x7fe1a4f743675d1987d25d38111fae0f78bbea6852cba5beda47db76d119a3efe24cb04b9449f53becd43b0b46e269826a983f832abb53b7a7e24a43ad15378344ed5c20f51e268186d24c76050c1e73647523bd5f91d9b6ad3e86bbf9126588b1dee21e6997372e36c3e74284734748891829665086e0dc523ed23c386bb520
    

    很明显,就是rsa,直接写脚本计算得到flag

    flag_in_your_hand1

    下载附件后,发现js脚本,核心部分如下

    function ck(s) {
        try {
            ic
        } catch (e) {
            return;
        }
        var a = [118, 104, 102, 120, 117, 108, 119, 124, 48,123,101,120];
        if (s.length == a.length) {
            for (i = 0; i < s.length; i++) {
                if (a[i] - s.charCodeAt(i) != 3)
                    return ic = false;
            }
            return ic = true;
        }
        return ic = false;
    }
    

    让函数返回真就行,python脚本写逆脚本,得到:security-xbu

    a = [118, 104, 102, 120, 117, 108, 119, 124, 48,123,101,120]
    print(''.join(chr(i-3)for i in a))
    

    在所给的html文件输入,得到flag

    工业协议分析2

    wireshark分析,将报文按长度排序,在长度为173和179,发现东西

    666c61677b37466f4d3253746b6865507a7d,16进制转文本,得到flag

    OldDriver

    下载加密文件,发现给定了10组rsa的n和c,同时e很小,才10,采用低指数广播攻击

    from Crypto.Util.number import *
    from gmpy2 import *     
    
    n = [25162507052339714421839688873734596177751124036723831003300959761137811490715205742941738406548150240861779301784133652165908227917415483137585388986274803,23976859589904419798320812097681858652325473791891232710431997202897819580634937070900625213218095330766877190212418023297341732808839488308551126409983193,18503782836858540043974558035601654610948915505645219820150251062305120148745545906567548650191832090823482852604346478335353784501076761922605361848703623,23383087478545512218713157932934746110721706819077423418060220083657713428503582801909807142802647367994289775015595100541168367083097506193809451365010723,31775649089861428671057909076144152870796722528112580479442073365053916012507273433028451755436987054722496057749731758475958301164082755003195632005308493,22246342022943432820696190444155665289928378653841172632283227888174495402248633061010615572642126584591103750338919213945646074833823905521643025879053949,25395461142670631268156106136028325744393358436617528677967249347353524924655001151849544022201772500033280822372661344352607434738696051779095736547813043,32056508892744184901289413287728039891303832311548608141088227876326753674154124775132776928481935378184756756785107540781632570295330486738268173167809047,52849766269541827474228189428820648574162539595985395992261649809907435742263020551050064268890333392877173572811691599841253150460219986817964461970736553,30415984800307578932946399987559088968355638354344823359397204419191241802721772499486615661699080998502439901585573950889047918537906687840725005496238621]
    
    c = [7366067574741171461722065133242916080495505913663250330082747465383676893970411476550748394841437418105312353971095003424322679616940371123028982189502042,21962825323300469151795920289886886562790942771546858500842179806566435767103803978885148772139305484319688249368999503784441507383476095946258011317951461,6569689420274066957835983390583585286570087619048110141187700584193792695235405077811544355169290382357149374107076406086154103351897890793598997687053983,4508246168044513518452493882713536390636741541551805821790338973797615971271867248584379813114125478195284692695928668946553625483179633266057122967547052,22966105670291282335588843018244161552764486373117942865966904076191122337435542553276743938817686729554714315494818922753880198945897222422137268427611672,17963313063405045742968136916219838352135561785389534381262979264585397896844470879023686508540355160998533122970239261072020689217153126649390825646712087,1652417534709029450380570653973705320986117679597563873022683140800507482560482948310131540948227797045505390333146191586749269249548168247316404074014639,15585771734488351039456631394040497759568679429510619219766191780807675361741859290490732451112648776648126779759368428205194684721516497026290981786239352,8965123421637694050044216844523379163347478029124815032832813225050732558524239660648746284884140746788823681886010577342254841014594570067467905682359797,13560945756543023008529388108446940847137853038437095244573035888531288577370829065666320069397898394848484847030321018915638381833935580958342719988978247]
    
    def CRT(mi,ai):
        assert(reduce(gcd,mi)==1)
        assert(isinstance(mi,list) and isinstance(ai,list))
        M = reduce(lambda x,y:x*y,mi)
        ai_ti_Mi = [a * (M / m) * invert(M / m, m) for (m, a) in zip(mi, ai)]
        return reduce(lambda x,y:x+y,ai_ti_Mi) % M
    
    e = 10
    m = iroot(CRT(n,c),e)[0]
    print(long_to_bytes(m))
    

    你猜猜

    504B03040A0001080000626D0A49F4B5091F1E0000001200000008000000666C61672E7478746C9F170D35D0A45826A03E161FB96870EDDFC7C89A11862F9199B4CD78E7504B01023F000A0001080000626D0A49F4B5091F1E00000012000000080024000000000000002000000000000000666C61672E7478740A0020000000000001001800AF150210CAF2D1015CAEAA05CAF2D1015CAEAA05CAF2D101504B050600000000010001005A000000440000000000
    

    16进制的,复制进010看看

    很显然,是压缩包,保存为zip文件,爆破密码为123456,得到flag

    wtc_rsa_bbq

    RsaCtfTools一把梭

    safer-than-rot13

    https://quipqiup.com/ 分析,得到

    比较坑的是空格换为下划线,大写改为小写

  • 相关阅读:
    DM8168 新三板系统启动
    AndroidAndroid程序提示和消息button响应事件
    Linux核心regulator建筑和准备
    对话(VC_Win32)
    VOJ 1067 Warcraft III 守望者的烦恼 (矩阵高速功率+dp)
    有所述网络流的上限和下限
    Matlab Newton‘s method
    Cocos2d-Java安装和配置跨平台游戏引擎以及相关的开发工具
    n每个计数的概率和发生骰子--动态规划
    自己写CPU第九阶段(3)——加载存储指令说明2(swl、swr)
  • 原文地址:https://www.cnblogs.com/crfshadow/p/14186854.html
Copyright © 2011-2022 走看看