MISC200

为了收集更多参加 BCTF 大赛的中国黑客朋友的信息,米特尼克决定尝试渗透进入 BCTF 的内网以获取更多的信息。通过信息搜集和网络监听,他发现了进入内部数据库的一个入口代理,并且在代理入口处拿到了少量流量数据。正当他想继续收集更多信息的时候,他的行迹被发现并被踢出了网络。 http://bctf.cn/files/downloads/misc200_23633b6b34ccf6f2769d35407f6b2665.pcap 入口代理:218.2.197.236:12345

连接指定端口号,提示需要四个IP地址。自然是依赖请求获得。后官方给出HITS,构造数据包进行DNS查询,pcap内容如下

BCTF

猜测可使用scapy等构造数据包,后亦无队伍解决,官方直接将题目弱化,使用dig或nslookup进行TCP查询可能即得到结果

BCTF

联想背景为对DNS进行TCP获得较可靠的查询

CRYPTO100

据传说,米特尼克进任何门都是不需要钥匙的,无论是金锁银锁还是密码锁。使用伪造身份在BAT安全部门工作的时候,有一扇带着密码锁的大门吸引了他的注意。门后面到底藏着什么呢?米特尼克决定一探究竟。 http://bctf.cn/files/downloads/passcode_396331980c645d184ff793fdcbcb739b.py 218.2.197.242:9991 218.2.197.243:9991

#!/usr/bin/env python2
#-*- coding:utf-8 -*-

import base64,binascii,zlib
import os,random

base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]

def abc(str):
    return sha.new(str).hexdigest()

def bin2dec(string_num):
    return str(int(string_num, 2))

def hex2dec(string_num):
    return str(int(string_num.upper(), 16))

def dec2bin(string_num):
    num = int(string_num)
    mid = []
    while True:
    if num == 0: break
    num,rem = divmod(num, 2)
    mid.append(base[rem])
    return ''.join([str(x) for x in mid[::-1]])

def dec2hex(string_num):
    num = int(string_num)
    mid = []
    while True:
    if num == 0: break
    num,rem = divmod(num, 16)
    mid.append(base[rem])

    return ''.join([str(x) for x in mid[::-1]])

def hex2bin(string_num):
    return dec2bin(hex2dec(string_num.upper()))

def bin2hex(string_num):
    return dec2hex(bin2dec(string_num))

def reverse(string):
    return string[::-1]

def read_key():
    os.system('cat flag')

def gb2312(string):
    return string.decode('gb2312')

        answer='78864179732635837913920409948348078659913609452869425042153399132863903834522365250250429645163517228356622776978637910679538418927909881502654275707069810737850807610916192563069593664094605159740448670132065615956224727012954218390602806577537456281222826375'

func_names = ['fun1', 'fun2', 'fun3', 'fun4', 'fun5', 'fun6', 'fun7', 'fun8', 'fun9']

f={}

f['fun1']=reverse
f['fun2']=base64.b64decode
f['fun3']=zlib.decompress
f['fun4']=dec2hex
f['fun5']=binascii.unhexlify
f['fun6']=gb2312
f['fun7']=bin2dec
f['fun8']=hex2bin
f['fun9']=hex2dec

def check_equal(a, b):
    if a == b:
    return True
    try:
    if int(a) == int(b):
        return True
    except:
    return False
    return False

def main():

    print "Welcome to Secure Passcode System"
    print "First, please choose function combination:"

    in1=raw_input('f1: ')
    f1='fun'+in1[:1]
    in2=raw_input('f2: ')
    f2='fun'+in2[:1]
    in3=raw_input('f3: ')
    f3='fun'+in3[:1]
    in4=raw_input('f4: ')
    f4='fun'+in4[:1]

    if f1 not in func_names or f2 not in func_names or f3 not in func_names or f4 not in func_names:
    print 'invalid function combination'
    exit()

    try:
    answer_hash = f['fun6'](f['fun2'](f[f1](f[f2](f[f3](f[f4](answer))))))
    except:
    print "Wrong function combination, you bad guy!"
    exit()

    if len(answer_hash) == 0:
    print 'You must be doing some little dirty trick! Stop it!'
    exit()

    usercode = raw_input('Your passcode: ')

    try:
    user_hash = f['fun6'](f['fun2'](f[f1](f[f2](f[f3](f[f4](usercode))))))
    if user_hash == answer_hash:
        if check_equal(answer, usercode):
            print "This passcode has been locked, please use the new one\n"
        else:
            print "Welcome back! The door always open for you, your majesty! "
            read_key()
    else:
        print "Sorry, bad passcode.\n"
    except:
    print "Sorry, bad passcode. Please try again."

if __name__ == '__main__':
    main()

主要解决地方为f1,f2,f3,f4对应函数,其次,需要构造另一个answer-hash。

对第一个问题Solution:

for i in range(1,9):
    for j in range(1,9):
        for m in range(1,9):
                for n in range(1,9):
                    f1='fun'+str(i)
                    f2='fun'+str(j)
                    f3='fun'+str(m)
                    f4='fun'+str(n)
                    try:
                        answer_hash = f['fun6'](f['fun2'](f[f1](f[f2](f[f3](f[f4](answer))))))
                        print answer_hash+str(i)+str(j)+str(m)+str()
                    except:
                        print "Wrong function combination, you bad guy!"

暴力循环跑一遍得到f1,f2,f3,f4对应3514,后因其使用BASE64编码,故可通过添加=的方式使其HASH变化。

Solution:

usercode = answer_hash
cm=usercode.encode('gb2310')
cm=base64.b64encode(cm)+"=="
cm=zlib.compress(cm)
cm=binascii.hexlify(cm)
cm=reverse(cm)
cm=hex2dec(cm)
print cm

后即可通过验证得到Flag:py7h0n-l1b-func7i0ns-re4lly-str4nge

CRYPTO200

逃离到中国的米特尼克与以前的老朋友都失去了联系,这让他常常怀念逝去的时光。在一次潜入某著名外企尝试获取重要资料的行动中,米特尼克还没有拿到目标文件就不幸被保安发现了。在逃离的过程中,他闯进了一个办公室,结果惊奇地发现自己二十年前的老朋友 Tupper 就在眼前。更神奇的是,Tupper 知道米特尼克需要什么,给了他想要的东西并且帮助他成功脱逃。你知道米特尼克拿到的信息是什么吗? http://bctf.cn/files/downloads/meeting-tupper_baaa58809f2a0435cb5f282ce4249fdf.txt

文件内容如下:

Tupper: Hey, Kevin, my old friend, I have a flag for you, but I am sure there is someone sniffing our channel.

Mitnick: You can give me your flag using any encryption method.

Tupper: Remember my paper? I have an idea about how to send you the flag.

Mitnick: But, wait, that's not about encryption.

Tupper: 1486369123820345559955766924841160961945933631716769335332790003566845284222164309011929411997483790522099577081514552394330912750456781972336440160253503273962399348250132139061211736432641952179928376865089859636768267336296427831889462939185291844682361044139059969406274902445770641677596268693527485104490473192096249272994290523936126313960853885688257149880976028378517471246621862527079036741146220367439337887369938197819408875551640127541765468861719196439360919229347580295148137296990625977517705479336004823538006673243960433410243882884580580163013040147956966756317936633201851144040542124086864301126198378899703488996581397049779550505779133729318238156147406292729609883549343546256712851771322503232556301917959393461616747078316977169408031140095820623675933975449901613586274191254401432962069824758417502236137675057968576732959017927077481349721607430226497770785506408558863856442752319149877506329079368002127776938702964160482497576592642391088593552024501314841225082729113029890954729376073413685873640111607459652295627171843944722010478710073775402476847697851315000292436018205435684435996714178100894671064548862550656395351408328623556448655293447706631246494139189361498119727072152613852933937085822435724368218435684285801396919372241114440937521285220882845091334681326025494784200421812073689239359971311684375045208381522778502102050633982733301824479485222678722360604158996838900735362169098342672494682313481042323568521180928734651024660379553427897207358912589233206895436243759695197634560

Mitnick: 38419103274192388202047882852254931847668719814418234483254919728546781946886567016622884902068378459943434376813669998491647696470857253255550759890490572623572661896397731536455608724905255385055400133168692982605604731123368140940511110053663147935542989330648482357605170448519225914600771502112797234406796917670250899180214083036754074346137270037591807467409944380468836302368058696533081538216519135311446986855794745276226884753719784133044244775978603666402537468022239491770123747972788551651753630573459565339498292868367398157721620574066393294991307892706801428262239598811208869281045901746152224653459946393533805231987962547519750343723288281813746223615765618451436234425200491852567046861687320983029535613654680808794144793456253227929127296842116159572380497132093773788501627487554161318059819721465110830056092165521140002429821760080188097738024285996457009787633924797916007588467531041157754263208982044503942797853270756311016725634237018260396861608661643251847973497362158842062040075746590101414851970901070598352196475290322545862204896174656951326872173772580379139067023722162914168720010653019058256840933998950424621830412563722536170187923119925967965567916504860831454486390299656930492875347035166130647408335568564740829439796735646976716552227466670657643596775958091567298440975393394429088199798736295507031819080676717674391813179724721988784821467188409877835631659648656199894468905325835391802109516987143616520436861081369579637023437701092916518239178105815040

Tupper: 1526697944687619734089506854985483838994600930787986109456053976429448599042928110498170642469431910296554209495002415540430916833506643970910833015145828178525220420754330716315030010218481474780526101455789227044354859376239721646227480889488822153880397006264188412174724811558155535285756472829470058458721016437527558075214924668275128759513620517739179032379736393547279629570537498799236914563168381232574967252901326146754920709539049163005371610961183448664699075078203659914581759883208512467588705758814861717022465955241649178986693482085053023998016709839894518101560410487599731913622530374453449570946269363239309376169710929057895994428408311979343329497735064532758950863417765312980266051447027826202333879027417704177127003542926540331129595142416678729034390267843583439910524441784014835619999655325683850121753145623291161072497558584187430064968541629659575610407484722903251994133611174828194016122595311874095083274123769408244417887739883013436999059543897100387419610357661308764798336557235612499746343815671079051736030687625988193254921373880564362679574435609784090624

Tupper: 11327108051217161287655220080747314753240201360504597410659214653538934622444041938170985114066185212742321556494531327539534695752632587721017350107872269816471131117450846244663169171662690408430249248739449021667221147978301967133857881776728606366137503311113913921676852293548317994745272673003749121810638138931059901778385899754516999038720331804767905301974965691513831634755783368480381162948840482548899927389392750098550000212179713459581214732066110821363292859171932405812275446672498620755772810203175553938976302141212392348303531707320767508404774367323317380285472395820531519189274145984364239215092838926556618941226500217429536118035479353034175014836520909639987177251538997439830070216665821276016749818046397599440331789777471407869246620611295217671278586247863258875352979494056699209130508397872773400172559095718889339982329862343561508147125423468395745489112773092705995950495861822739709709748701859714006549700428665758791882977073828295938986911968671477425301250595939480154688070707392286684664479786576864078887581480073486100611319151831958889342110915477774866976174620378364740511893758949385708622142248313061075702582742502396889071251258195960270518815448990120216057926469594534221079079571545207596482303995090133730069885916809456910140229551977173351614841069086863454164584622926305485102574718554651479846780877676035923477583074040383654799726882666551900730289559211952401044359720251926999360833265502094632314026813069356513829329214116071337787015012219495832560783675739835544708356341920608864259954124839490258530161962107586988733394884313123098090782857468984803235830796444721775868719411603013387503178431939967954867331294579334103754137353719428183269025983681497121452476187310667900468252924107994685309720817150055470155373580782950079831815904983542084317187565711808412313190896385828155553262191952222781033827867129832787119682971517151600856919176257005078268833504156180913999852139116867857344593718661448001211840234510769695153905158298754167290585619396765075939142935207780673513669282073761655392744934743205855979413420644156795376670726783666625039994806793205815810935980940127212660331809556610499385974516210637209165681700705986277879735514448070443702848823357243890324563343516141562857715904353398214170767212180912131261920818476636388349705691534699529449984374319976694512584448348412257911910219803294282228286364930557339929540593967295115067767286842219458224584909949698690872916959171296406719248900187714538650400145817438320096231653149178059541564789244060618796847431883986631351404312568059204874469887003265530021059186389992224902508599533859255549072926859964445711916628837102137948059047031712722839108955619035766232005645259171337900399165927239376647769710778103420140466458686791751043479675619842587217062955544104658486926595902901204572261717977362200068442988605873110049838325648494196606520730275182508194631438067905004536823458941040658095387814448729033867280273133773330309326067386466928923897021589231157821604682250925655534905688235402205529088993094574768837129194574928243538029941306347529242397990154749457819224626786566365510910043092931278485902361538412630599775210809561096597326374951264477670156427030073773404518530196939436508277169574644194686936180712877454448836308767360443895222306933459852344108133616129834672668831038234998990334989385380047273265454976091197779060517251523338098654080296133886697771005055834967085869587212196660190313660713426648004827285199748894533481984479283055202799908547363371318436328383456772832383830214401851261078761165357492227625169474383137580611431610838773732086642480844765221184727700837376891307611571980740434013041323344319680076742820532521864037694563781484808145617488714827235459404700080154213332736065079419144061043722907270482789953064063896537770556521185712860953004367099325178907408251918647955113899519422452024066922411140206054684590831529398886630305465563687425665283056890639815151604910110469731806784171482420936695186481473122883882215997842578830871607702880441120294101245281536688496720971439534134845869682252899242722893402737513980529391540582575327441613806235599263038523855696140168288542230584917701252971623691386594556212828179414896883632343767772392070751255550445559320846940018271063686655278656404501599849714038609343394941515039088968063981889488674411853108445932030100206745788387810776957921812078376500622162817223603228936679233908644748756118373007102674677843926806033631511661523833699973668728927549183363572628873713750816730255223102497659775812392868552199349450626835525333038007235156543164063062337716328430496328535147235802165978781715604556503943908659669001969626827288225141295926200068711514498862485116468557112905630018016778344617310630571007742033517166273033943352820083730939225869131050998801194030755489328010556007400992956592129740201652352698367198667486259629238310735531138197180141618362761563661504877762273344876798649018535691286092940884645345687181410050078952266975525082879447012876324322104913525373257967657365393057452744804659586487127579246537368354598137217778852757805918909594144521298246027071886075693609398213222955688121606120387868243762659956162990411145478630112210779196154055449615217328841905318457733690348179901420749674159004015863148254063229485741532319592155573250649902592312119346690941322595039548123360825924550362205188234363431002388288431517629509320831917031938783958918830360285919182262141941973364436985021645419719556133024026306908913852944628721586211646525439452930031307747792834695019018289612249241568406621211094597445762610714870553328019059809350772753198202484688519593161889120600152770452211708739165228008213503330560123966230931194445012039670817801322622610147348279906773893933772479506456555786118343502386834213221531819702564120492984744506671641114508079103106238897671740459474786788991513924065542404695105500964123302471928034547240843446532277236070689482211486481642660882566722122432572594249707003627537426647471556803341470497586380987731335052599887343490695179101327949918388055216284109047009235179205864962686546677206613639340850835060582072164420554515757796054249066721202796886894492969330380346581147763615514675350768546041989573508673101190328950746728772970444906708510242245338216790239926180289068371470048157887135264729035159572964564053074393012610591540034922282599065584987602455397883892698193687645889919029136777987870184111408682727739143096558738916033152438195870384883262596925461844633787179473916025921554360100392413766080329101643322028783440506377578783350946678817348524394113437256831599827708101062041228472489064193656594830437376544926834220490036667036067649858862747695286633940481629211335913802210368724616665529637379387018119267448930986961720792305538064461581613264986159056133330024739042391944023420210752025042984547877838447011195543019632994296108254726795864843971644160041225221489567093074632923092198013915172629083299331306400513164415491710826805404889457939795011072153418143405638773376403215503462610692579516766246492868702645077600784909745998180348286500741443516288499271062287842671130330880605283585905091868575996267877190686369886767725474411280648987221877839795494229377586230531235875777247003760009272484672727512856421890289062866138290336559487791849234066838495365169621840800052803351490889328150322623284590657504419600946981947219058300040217005993481834436576807735782120881031770940803902986696320162465291861295627480901591194700102127352250567409059388454528564233701067121600535741634707318056675601722812787766044124635956044159985628223930817202982262746217298668445813354127964112681522074604792206637251614444094248529643543445340001425059383631609044939177357391445535317043449727003754916276870348713409451024831814204572933516923173831834443854480485012882652798754262186751229554973790169753854015171506658020934720900006511897357257285355720661274686080861969498742994816796915813842380167130174038933009363798164148867780267832173352883656118535778780737176130142137495051582435482550490718673356573943188396967844343113970575912627738126889160159816457504355814074777133258499013435068628985391861361977969442281560291837659412912860054476122267632024254813145635445086436025301474165255356668212804314514070191427336442320488323853863868202809314902034168521323978456318582348165521448615041014542146131133388299430487581642563210132786289961265417498829900156508634390530840207309718888405210419463399444511912042351174573001296326559550138140778873128873857138094305628435179989907575257808602747481651065749518669974119791208903285158560538751666602122559510862622062940331743632555155906589832994256751656825428468998188297055039237145093992820529050181123759294673617465071175861482657113969564240478024571866581724668200438862606132503710233704537053113962861307761522374865983385284890162029328346885772569723903262563575134979621573958877477754192524592083648571552322904551233807372714059852623334247452337242809591118136903051336021250708320603340800

Mitnick: 72204290392487690704398892357732721626195601575486665039577482652580625095025074038613082555401359331431476497364817760551116357724034036937188656809325201052172465967770871345815431883744987123770067471543896828583959332587031423941853800853425405734258071295227624429315484590062036157976984941183845213126244329116374585078315794349235663213383620537336137978208302079275966818286880121932670939530357870771081838354455353042064774249295899982650624260647253502996789761704365504995345870781030023308416349430873428497275621591559735616453667080171225670711669796508598121667858071201678146820417815101397200950112461823854793741585989512958051880797051120849836846059314773033485219014710742424279592792001316299936911425791320362367665264072830723894930900928945216653269693623006329229552394970468315279866761918060639631156205788197932423164528480577093574882295767098389711391107440973209766649051405072905858767506917387399878067195619155608560392008988469754468401943020183628152016342985958579580830452936325983751748202223487716527572691700527817381568148905408216723391029634620259146709809426417654800047285714010092397281745406367685093699693772062615397084004041568168585256009898998457712110397969201478484159774572846749654586687353278955520

主要依赖塔珀自指公式WIKI

Wiki中给出Python解决方案,可解除正常的K1,K2,K3内容

大致内容如:

lol,I think then behind here notice about me.

It's not safe! you should use 61,17 is too weak!

Fine,then,here is your flag in 61.

BCTF

此处最坑的是61,写的像e1又像el,当时以为用到了elgamal公钥加密,可是其他什么信息也没有,密文也未分组,还是放弃了这想法,后来又试了225(dec(e1)),也是没有结果,突然象形的数了一遍0-9,发现有点像6...

Exp:

def Tupper_self_referential_formula():

    k1 = 1486369123820345559955766924841160961945933631716769335332790003566845284222164309011929411997483790522099577081514552394330912750456781972336440160253503273962399348250132139061211736432641952179928376865089859636768267336296427831889462939185291844682361044139059969406274902445770641677596268693527485104490473192096249272994290523936126313960853885688257149880976028378517471246621862527079036741146220367439337887369938197819408875551640127541765468861719196439360919229347580295148137296990625977517705479336004823538006673243960433410243882884580580163013040147956966756317936633201851144040542124086864301126198378899703488996581397049779550505779133729318238156147406292729609883549343546256712851771322503232556301917959393461616747078316977169408031140095820623675933975449901613586274191254401432962069824758417502236137675057968576732959017927077481349721607430226497770785506408558863856442752319149877506329079368002127776938702964160482497576592642391088593552024501314841225082729113029890954729376073413685873640111607459652295627171843944722010478710073775402476847697851315000292436018205435684435996714178100894671064548862550656395351408328623556448655293447706631246494139189361498119727072152613852933937085822435724368218435684285801396919372241114440937521285220882845091334681326025494784200421812073689239359971311684375045208381522778502102050633982733301824479485222678722360604158996838900735362169098342672494682313481042323568521180928734651024660379553427897207358912589233206895436243759695197634560
    k2 = 38419103274192388202047882852254931847668719814418234483254919728546781946886567016622884902068378459943434376813669998491647696470857253255550759890490572623572661896397731536455608724905255385055400133168692982605604731123368140940511110053663147935542989330648482357605170448519225914600771502112797234406796917670250899180214083036754074346137270037591807467409944380468836302368058696533081538216519135311446986855794745276226884753719784133044244775978603666402537468022239491770123747972788551651753630573459565339498292868367398157721620574066393294991307892706801428262239598811208869281045901746152224653459946393533805231987962547519750343723288281813746223615765618451436234425200491852567046861687320983029535613654680808794144793456253227929127296842116159572380497132093773788501627487554161318059819721465110830056092165521140002429821760080188097738024285996457009787633924797916007588467531041157754263208982044503942797853270756311016725634237018260396861608661643251847973497362158842062040075746590101414851970901070598352196475290322545862204896174656951326872173772580379139067023722162914168720010653019058256840933998950424621830412563722536170187923119925967965567916504860831454486390299656930492875347035166130647408335568564740829439796735646976716552227466670657643596775958091567298440975393394429088199798736295507031819080676717674391813179724721988784821467188409877835631659648656199894468905325835391802109516987143616520436861081369579637023437701092916518239178105815040
    k3 = 1526697944687619734089506854985483838994600930787986109456053976429448599042928110498170642469431910296554209495002415540430916833506643970910833015145828178525220420754330716315030010218481474780526101455789227044354859376239721646227480889488822153880397006264188412174724811558155535285756472829470058458721016437527558075214924668275128759513620517739179032379736393547279629570537498799236914563168381232574967252901326146754920709539049163005371610961183448664699075078203659914581759883208512467588705758814861717022465955241649178986693482085053023998016709839894518101560410487599731913622530374453449570946269363239309376169710929057895994428408311979343329497735064532758950863417765312980266051447027826202333879027417704177127003542926540331129595142416678729034390267843583439910524441784014835619999655325683850121753145623291161072497558584187430064968541629659575610407484722903251994133611174828194016122595311874095083274123769408244417887739883013436999059543897100387419610357661308764798336557235612499746343815671079051736030687625988193254921373880564362679574435609784090624
    k4 = 11327108051217161287655220080747314753240201360504597410659214653538934622444041938170985114066185212742321556494531327539534695752632587721017350107872269816471131117450846244663169171662690408430249248739449021667221147978301967133857881776728606366137503311113913921676852293548317994745272673003749121810638138931059901778385899754516999038720331804767905301974965691513831634755783368480381162948840482548899927389392750098550000212179713459581214732066110821363292859171932405812275446672498620755772810203175553938976302141212392348303531707320767508404774367323317380285472395820531519189274145984364239215092838926556618941226500217429536118035479353034175014836520909639987177251538997439830070216665821276016749818046397599440331789777471407869246620611295217671278586247863258875352979494056699209130508397872773400172559095718889339982329862343561508147125423468395745489112773092705995950495861822739709709748701859714006549700428665758791882977073828295938986911968671477425301250595939480154688070707392286684664479786576864078887581480073486100611319151831958889342110915477774866976174620378364740511893758949385708622142248313061075702582742502396889071251258195960270518815448990120216057926469594534221079079571545207596482303995090133730069885916809456910140229551977173351614841069086863454164584622926305485102574718554651479846780877676035923477583074040383654799726882666551900730289559211952401044359720251926999360833265502094632314026813069356513829329214116071337787015012219495832560783675739835544708356341920608864259954124839490258530161962107586988733394884313123098090782857468984803235830796444721775868719411603013387503178431939967954867331294579334103754137353719428183269025983681497121452476187310667900468252924107994685309720817150055470155373580782950079831815904983542084317187565711808412313190896385828155553262191952222781033827867129832787119682971517151600856919176257005078268833504156180913999852139116867857344593718661448001211840234510769695153905158298754167290585619396765075939142935207780673513669282073761655392744934743205855979413420644156795376670726783666625039994806793205815810935980940127212660331809556610499385974516210637209165681700705986277879735514448070443702848823357243890324563343516141562857715904353398214170767212180912131261920818476636388349705691534699529449984374319976694512584448348412257911910219803294282228286364930557339929540593967295115067767286842219458224584909949698690872916959171296406719248900187714538650400145817438320096231653149178059541564789244060618796847431883986631351404312568059204874469887003265530021059186389992224902508599533859255549072926859964445711916628837102137948059047031712722839108955619035766232005645259171337900399165927239376647769710778103420140466458686791751043479675619842587217062955544104658486926595902901204572261717977362200068442988605873110049838325648494196606520730275182508194631438067905004536823458941040658095387814448729033867280273133773330309326067386466928923897021589231157821604682250925655534905688235402205529088993094574768837129194574928243538029941306347529242397990154749457819224626786566365510910043092931278485902361538412630599775210809561096597326374951264477670156427030073773404518530196939436508277169574644194686936180712877454448836308767360443895222306933459852344108133616129834672668831038234998990334989385380047273265454976091197779060517251523338098654080296133886697771005055834967085869587212196660190313660713426648004827285199748894533481984479283055202799908547363371318436328383456772832383830214401851261078761165357492227625169474383137580611431610838773732086642480844765221184727700837376891307611571980740434013041323344319680076742820532521864037694563781484808145617488714827235459404700080154213332736065079419144061043722907270482789953064063896537770556521185712860953004367099325178907408251918647955113899519422452024066922411140206054684590831529398886630305465563687425665283056890639815151604910110469731806784171482420936695186481473122883882215997842578830871607702880441120294101245281536688496720971439534134845869682252899242722893402737513980529391540582575327441613806235599263038523855696140168288542230584917701252971623691386594556212828179414896883632343767772392070751255550445559320846940018271063686655278656404501599849714038609343394941515039088968063981889488674411853108445932030100206745788387810776957921812078376500622162817223603228936679233908644748756118373007102674677843926806033631511661523833699973668728927549183363572628873713750816730255223102497659775812392868552199349450626835525333038007235156543164063062337716328430496328535147235802165978781715604556503943908659669001969626827288225141295926200068711514498862485116468557112905630018016778344617310630571007742033517166273033943352820083730939225869131050998801194030755489328010556007400992956592129740201652352698367198667486259629238310735531138197180141618362761563661504877762273344876798649018535691286092940884645345687181410050078952266975525082879447012876324322104913525373257967657365393057452744804659586487127579246537368354598137217778852757805918909594144521298246027071886075693609398213222955688121606120387868243762659956162990411145478630112210779196154055449615217328841905318457733690348179901420749674159004015863148254063229485741532319592155573250649902592312119346690941322595039548123360825924550362205188234363431002388288431517629509320831917031938783958918830360285919182262141941973364436985021645419719556133024026306908913852944628721586211646525439452930031307747792834695019018289612249241568406621211094597445762610714870553328019059809350772753198202484688519593161889120600152770452211708739165228008213503330560123966230931194445012039670817801322622610147348279906773893933772479506456555786118343502386834213221531819702564120492984744506671641114508079103106238897671740459474786788991513924065542404695105500964123302471928034547240843446532277236070689482211486481642660882566722122432572594249707003627537426647471556803341470497586380987731335052599887343490695179101327949918388055216284109047009235179205864962686546677206613639340850835060582072164420554515757796054249066721202796886894492969330380346581147763615514675350768546041989573508673101190328950746728772970444906708510242245338216790239926180289068371470048157887135264729035159572964564053074393012610591540034922282599065584987602455397883892698193687645889919029136777987870184111408682727739143096558738916033152438195870384883262596925461844633787179473916025921554360100392413766080329101643322028783440506377578783350946678817348524394113437256831599827708101062041228472489064193656594830437376544926834220490036667036067649858862747695286633940481629211335913802210368724616665529637379387018119267448930986961720792305538064461581613264986159056133330024739042391944023420210752025042984547877838447011195543019632994296108254726795864843971644160041225221489567093074632923092198013915172629083299331306400513164415491710826805404889457939795011072153418143405638773376403215503462610692579516766246492868702645077600784909745998180348286500741443516288499271062287842671130330880605283585905091868575996267877190686369886767725474411280648987221877839795494229377586230531235875777247003760009272484672727512856421890289062866138290336559487791849234066838495365169621840800052803351490889328150322623284590657504419600946981947219058300040217005993481834436576807735782120881031770940803902986696320162465291861295627480901591194700102127352250567409059388454528564233701067121600535741634707318056675601722812787766044124635956044159985628223930817202982262746217298668445813354127964112681522074604792206637251614444094248529643543445340001425059383631609044939177357391445535317043449727003754916276870348713409451024831814204572933516923173831834443854480485012882652798754262186751229554973790169753854015171506658020934720900006511897357257285355720661274686080861969498742994816796915813842380167130174038933009363798164148867780267832173352883656118535778780737176130142137495051582435482550490718673356573943188396967844343113970575912627738126889160159816457504355814074777133258499013435068628985391861361977969442281560291837659412912860054476122267632024254813145635445086436025301474165255356668212804314514070191427336442320488323853863868202809314902034168521323978456318582348165521448615041014542146131133388299430487581642563210132786289961265417498829900156508634390530840207309718888405210419463399444511912042351174573001296326559550138140778873128873857138094305628435179989907575257808602747481651065749518669974119791208903285158560538751666602122559510862622062940331743632555155906589832994256751656825428468998188297055039237145093992820529050181123759294673617465071175861482657113969564240478024571866581724668200438862606132503710233704537053113962861307761522374865983385284890162029328346885772569723903262563575134979621573958877477754192524592083648571552322904551233807372714059852623334247452337242809591118136903051336021250708320603340800
    k5 = 72204290392487690704398892357732721626195601575486665039577482652580625095025074038613082555401359331431476497364817760551116357724034036937188656809325201052172465967770871345815431883744987123770067471543896828583959332587031423941853800853425405734258071295227624429315484590062036157976984941183845213126244329116374585078315794349235663213383620537336137978208302079275966818286880121932670939530357870771081838354455353042064774249295899982650624260647253502996789761704365504995345870781030023308416349430873428497275621591559735616453667080171225670711669796508598121667858071201678146820417815101397200950112461823854793741585989512958051880797051120849836846059314773033485219014710742424279592792001316299936911425791320362367665264072830723894930900928945216653269693623006329229552394970468315279866761918060639631156205788197932423164528480577093574882295767098389711391107440973209766649051405072905858767506917387399878067195619155608560392008988469754468401943020183628152016342985958579580830452936325983751748202223487716527572691700527817381568148905408216723391029634620259146709809426417654800047285714010092397281745406367685093699693772062615397084004041568168585256009898998457712110397969201478484159774572846749654586687353278955520

        k = k4
    def f(x,y):
        d = ((-61 * x) - (y % 61))
        e = reduce(lambda x,y: x*y, [2 for x in range(-d)]) if d else 1
        f = ((y / 61) / e)
        g = f % 2
        return 0.5 < g

    for y in range(k+60, k-1, -1):
        line = ""
        for x in range(380,500):
            if f(x,y):
                line += "#"
            else:
                line += " "
        print line

#Method name =Tupper_self_referential_formula()
if __name__ == '__main__':
    print __pypdoc__

    returned = Tupper_self_referential_formula()
    if returned:
    print 'Method returned:'
    print str(returned)

BCTF

WEB200

唯有游戏与美食不可辜负。米特尼克拿到Alice的资料之后接着在BAT内网游荡,他发现了一个被限制的游戏,只有管理员Alice自己才能玩,但区区一个管理员的限制怎么能挡住米特尼克爱游戏的心! http://218.2.197.238:8081/76446cb94ef19b1d49c3834a384938d1/web200/

首先是本地登陆验证,修改Referer、ip等http头信息绕过,打开僵尸小游戏。

查看JS脚本,在杀掉10个僵尸后到达某处即可触发函数弹出Flag。比较GEEK的方法,设置僵尸参数不会打人,然后通关得到Flag。

我的Solution(网页已无法打开,凭回忆):

有一处JS函数为弹Flag:

var authnum = function(key, num){
    var list = new Array('a', 'b', 'c', 'd', 'e', 'f');
    key = "BCTF{" + key + "|";
    for(var i = 0; i < num; i++)
    {
        key += list[i%6];
    }
    key = key + "}";
    return key
}

要弹出需要一定条件

在Chrome的F12Console中

this.deadghost=10;

this.gameObj.key
"34079%2500"

authnum(this.gameObj.key, this.gameObj.deadghost);
"BCTF{34079%2500|abcdefabcd}"

即得到Flag

小结

BCTF比较国际知青范,涉及的PPC(请原谅我才知道其实就是ACM)、其他相关学术知识较多。其他题目像WEB300,改了又改、过滤了$又过滤|,不知道官方的思路到底是什么、其他android平台上的题目也有涉及。诱捕陷阱设计两个蜜罐dionaea和kippo。其他Linux二进制分析题目也较多。是扩展视野的不错的题目

比赛选了个大家都在补考的日子、就算是练手学习。其他Solution还是静等官方的Wannabe。

昨晚看到BCTF官方QUAL预赛的场地设施,相比起来,不对,其实是无法比较。

XDCTF从2010年弱弱的几台机器跑起,没有互联网巨头的赞助支持,没有恢弘的湖心论剑,没有大屏幕,没有电影级的黑客盛宴享受,只有一群用心去将比赛一点点完善的Ta们,一群技术不止步的少年。

用简陋的设施去完成一项不普通的事情,这是XDSEC的骄傲。

XDCTF2014,期待10月进步的你们,学以致用,实战见真知。

Comments
Write a Comment