【无标题】

[护网杯 2018]easy_tornado

看到了flag的名字

又看到了render渲染函数

1.ssti  (模板注入)

2.render,一种python中的渲染函数,

3.Tornado框架

           python中使用框架有flask,Java中使用框架有spring,PHP中有tp框架,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结果返回给View视图层,经过模板渲染展示给用户

           简单来说,用户输入的东西在进行分析后被传出来视图层进行模板渲染(render),让用户看到结果。模板是不同的,因此会有不同的传输结果。

在线解密

构造payload

/file?filename=/fllllllllllllag.txt&filehash=  MD5

接下来,只要知道cookie_secret就可以知道flag

要继续测试一下

测试好像为ssti注入

发现了一个ORZ,查一下是被过滤了

发现了cookie_secret就能和SSTI漏洞结合

       在tornado模板中,存在一些可以访问的快速对象,这里用到的是handler.settings,handler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向

构造了:   ?msg={{handler.settings}}

在利用python解决

   

     首先通过encode('UTF-8')将字符串"/flllllllllllllag"转换为UTF-8编码的二进制字符串,然后使用update方法将这个二进制字符串“更新”到hash对象中。之后,hexdigest方法被调用以获取MD5哈希值的十六进制表示,并将其存储在s1变量

仍然是那个payload,就可以得到flag了

RSA的低加密广播攻击

      定义:就是很多的n,c不同,m,e不同,且e比较小,一般使用中国剩余定理(CRT)

来自己编个题,随机生成p和q

import libnum
def rsa_def(e,m):
    p=libnum.gen_prime(1024)
    q=libnum.gen_prime(1024)

    m=libnum.s2n(m)
    n=p*q
    c=pow(m,e,n)
    n_lt.append(n)
    c_lt.append(c)

n_lt=[]
c_lt=[]
e=21
m='flag{2cb2eb4b2c7fdf4e94e10344be856446}'
for i in range(7):
    rsa_def(e,m)

print("e=",e)
print("n=",n_lt)
print("c=",c_lt)

解题脚本

import  libnum
from gmpy2 import invert,gcd,iroot

def op(x):
    res=1
    for i in x:
        res *=i
    return res

def CRT(m,a):
    assert  (len(m))
    M=op(m)
    sum =0
    for m,a in zip(m,a):
        Mi =M //m
        ti =invert(Mi,m)
        sum+=ti*a*Mi
    return sum % M
def GCRT(m,a):
    assert (len(m) == len(a))
    curm,cura = m[0],a[0]
    for m,a in zip(m[1:],a[1:]):
        d=gcd(curm,m)
        c=a-cura
        assert (c%d ==0)
        K=c//d*invert(curm //d,m// d)
        cura+=curm *K
        curm=curm *m //d
    return cura %curm

e= 21
n= [11962013280252501753256090926351416737395305216460558525961941644681693629223142168053138868800709029897488655898849682158943308533588120126643334974340829203381907714572879236028784186784718769349718747181724032407912898959776067719708543101048520063252156560334330499546996356601579079412079408125913803931459110419499379811531220038880287428244548211931797359565078393081354068933728385197671872679522258448352225251761942987898967833264639534379937172968643614298973331629411141568352522357474052270055390253173867433142022616296456901519214238010253372281601804106699223633491033339793226595239215038555707816457, 23478148834041424936985205853602658222221485065006724557418513184263754041596723167199002070874646553841636808890742978115959036419380128177075113559440845531854270608905503459489904126494828967607234100680525447529041350989182623938341535925846422429550077106361235072355211891319882907192801228898158518881054184160079491190709895885436574993150541006710692562808720164228728111498788345070878150704073834593664017252541984360233035031211120400996330428685653332039935815109772342202561748775024360133655106558990512169990502548711704160514225042083850042462853862314958897881758566817987746205799729998876152685967, 27302182739376640786348415805294444006919261916733453013729884138015143817905672875859771950354164306186190250802253526557391043932249477717248026233516086675057331139649153976904577410735962987066709869040270145056179097793431813759141596146418311607480304631130202220294939670356885861767336041491269282971454450478462304771500743766694467701686517102747336165803420186045735018079798338849891917232268079065626736753765883521074992315545738231834160658733534347151340633881096483307666711249371771128629570372259355869670661347065248431392936074796241667098970565931775932716340177256928390855810654175572000329979, 24152725004206105329057080079649944870422866512712910110573809442515961810759722818579036033164766990715009932808037659122632989027583970329825312838622797846121914832686576308885608028019230120168035497829257048721446195416684339200061877811990609270824194054811805275642533421798538870558388688788409385109927334493118634485010742236415411163016400528988040703533683795548420579693045389792780822767577832735026303123456171182942771250389994827236278973932286963814174808611037804060421474699818235574464435432664462446596357256797199141016903813635738737743615914726813849097284244866911866660326357478596562786141, 11287064948142989098637543092663370355307405303063526760567463022572511882372412465577352647278781916515646095506673215748923529423234369169225970732141843152206852075774763606589827560502880760665291627377832999853334843737765681661330337424502986684128780153978216716994859240163159686701205382082848146475050138788832420621665924524284551253008047332630871989481379093139257234437261529842954856938635725135127182764794435720719347341551690971260299091582844411984102416988814497373437932792208765746439138215433140901401177356995419218788991226223048458364846973975555590186919646668751223508305183527232617360903, 23580242323740507779282829650684012451732022696503205870457973248120611803404956014995155199716053205690276296996550225250420989395340087398033812052638266957645943540087424608372235741701395421378602758627218470897109450642980407663066995374499113177565847371511422355463531834560652981003484657036840147231668093142669296836297338677767562080360279052176127388063018597807854761810089686405626453949205469296567413649270396387364107343099958099706845093124331389772539860210417945522620076054967677440112366850295042455085621181180528263641422173980108271478614574732004288691743103040404452431151873655557219373251, 21824712278959388040081682915409092689908718768360696518896951112160165329478318053664690983870364130553655265369932390545012983749500648581068087357412735924435018873662090796464431336577908146845969219600050410342092989581014554975716444658223383671880154602175080775157943409474535811534997416716069624328625774911643506631833228878253107068760219474030765809851984223474149506761911080185704657059936281318338468608546139762074127963407334465675897377237859848078443429426015008445048603325987980774773497090212630559084167155055408253334348144659153997362687506879217717968622320220754597143034294550726352852403]
c= [8138614414964220749026396589484838962205340630298530813747548598753559528698113338439507262503026948314155941048436221571631592302068664490031851344660520075842327660778014141354147852589034186554591523812317333370805915253191540123995365097718432600182620049251325092914573863707218262223899247080025253642200105501314133436059209937349853125284888391487452715601057163527578529352312576447005816206271736718940069088647035893230138029575549238193555883185572349565010473723185151518418862643773975285915143219301847393906486739041489258477774469523987283951674555360463643083504835185177787877355473970168842203531, 21402136123565990656039381689834963578068358660874420259499435298499273430273521975479490366605449307603978404549085194875264063107777884136480023287431320002240842146082430915396472537619000402316372052514979209038133829885004970720317078251963380076332265218424880903916745347892951877523120606689016534543346063469743002969429146593903579334582046966513653732788654659612778969396349357786481914485996063758227183759483911877379014821293422306695952675239554867973631680089663429399438005364857739378625648902694022490820156216188990475426297670036086800505672443846036369978521764048751413657058845837965850106368, 17923354475859619636243374576614789186518880351426876182011438363299729289267083671390872532543422473746977069395377207506442699762676807097332687979235410256271762794433973486518051860382695402946609597572813695110945608381729397467328436083621489901385892602327254989165278018349006549660859335535992570693276833660893285628993263536744184072700953026276013265955857575177694090854873023683197104024492568436906574771850470072088594226067434414864277777193503558005027531281643505350052593387571541364586530959077377670956157508959237014514346212265748913462387967412149753510604932234775712411291538834123341720823, 20341648917847970482409722965057162968025986773956447670631646826282729861821086783779744054899001332067435418642636836840501121035249419280251187111329366652666882161996919000332526615409297879046267751667005788537896245442162227243260747285560963197729390102921921791566789012608659703360816552393238511559009697448060701799795487248928251849488760161210269389485357987848238566010513091364786053055338385779077563281427857941533522055023745516245431707280168961427856990239614933173615560097473510816476134294007546982703157670294599888641615754734194242774623385024732174250292538790391536021665986151781500721675, 6530424925582222994061535961596871752332814431285884363294395489685408696042081254550988270976519334120788804991254353626464104456055265156284539173344147242562907160642378394051856355641879559190799873676687855660816332165303106745108250861775820800962421496007902210988868818478621013384580562230571007620083384266146744072938912733875297658595239825869887014350066225845734118116043284514508855197741795340006850160662642902616018162064285492509784468510972756023060471844066549565575032235009347430371200582645491180226965586661324252841806056391506784461486429319734328291225374555287483546921835394033727397253, 23155994311797934855102262352609188862536671351585374686281546087719383183463111139414085528217525845514474542163770114043669143850254495916570034071569415837169552757567404136608058542977130812293345689167235726011736034826574029151263362991766669291495435771485991945017093498380260203716843045961754835534770073913787943297357914542867540326537301716594683178314776544888647464115360794921405067907222773945604924780696972534705889319622395640001584930004577913025221640394721339299514509915307267392749628361852317841200740915881372788586847748822889426692730643912931393731460116466728841025601398846794513236959, 912688833416531225487970401839505010800932926606495338279436739151996973139697408852199452979305178785694801162680866325768394160610374347854099188236858103084994236914218909833107054799434276612822480592144500015446265931965377600403451135860851073182485777521306201542724666806964717256397511967832587655852872919660587861442765268566598698597067707476516599310019903384533647904086335392959211982168850112844721514369004536749794953428968509761239251180311264234259256250449700097022923697180941005557447442168334776041735807247624147837301201260698613442890381046681335113070496917855199681561658278043979334944]

m=CRT(n,c)
m1=iroot(m,e)
print(m1)
print(libnum.n2s(int(m1[0])))


op 函数:
这个函数接收一个列表 x,并返回列表中所有元素的乘积

ssert (isinstance(mi, list) and isinstance(ai, list))

查列表 mi 中的所有模数是否两两互质(即它们的最大公约数(gcd)是否为1

  

  还有

这个也可以试试

import  binascii,gmpy2
from funtools import reduce
import libnum

def CTR(mi,ai):
    assert (reduce(gmpy2.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) * gmpy2.invert(M // m, m) for (m, a) in zip(mi, ai)]
    return reduce(lambda x, y: x + y, ai_ti_Mi) % M

e= 21
n= [11962013280252501753256090926351416737395305216460558525961941644681693629223142168053138868800709029897488655898849682158943308533588120126643334974340829203381907714572879236028784186784718769349718747181724032407912898959776067719708543101048520063252156560334330499546996356601579079412079408125913803931459110419499379811531220038880287428244548211931797359565078393081354068933728385197671872679522258448352225251761942987898967833264639534379937172968643614298973331629411141568352522357474052270055390253173867433142022616296456901519214238010253372281601804106699223633491033339793226595239215038555707816457, 23478148834041424936985205853602658222221485065006724557418513184263754041596723167199002070874646553841636808890742978115959036419380128177075113559440845531854270608905503459489904126494828967607234100680525447529041350989182623938341535925846422429550077106361235072355211891319882907192801228898158518881054184160079491190709895885436574993150541006710692562808720164228728111498788345070878150704073834593664017252541984360233035031211120400996330428685653332039935815109772342202561748775024360133655106558990512169990502548711704160514225042083850042462853862314958897881758566817987746205799729998876152685967, 27302182739376640786348415805294444006919261916733453013729884138015143817905672875859771950354164306186190250802253526557391043932249477717248026233516086675057331139649153976904577410735962987066709869040270145056179097793431813759141596146418311607480304631130202220294939670356885861767336041491269282971454450478462304771500743766694467701686517102747336165803420186045735018079798338849891917232268079065626736753765883521074992315545738231834160658733534347151340633881096483307666711249371771128629570372259355869670661347065248431392936074796241667098970565931775932716340177256928390855810654175572000329979, 24152725004206105329057080079649944870422866512712910110573809442515961810759722818579036033164766990715009932808037659122632989027583970329825312838622797846121914832686576308885608028019230120168035497829257048721446195416684339200061877811990609270824194054811805275642533421798538870558388688788409385109927334493118634485010742236415411163016400528988040703533683795548420579693045389792780822767577832735026303123456171182942771250389994827236278973932286963814174808611037804060421474699818235574464435432664462446596357256797199141016903813635738737743615914726813849097284244866911866660326357478596562786141, 11287064948142989098637543092663370355307405303063526760567463022572511882372412465577352647278781916515646095506673215748923529423234369169225970732141843152206852075774763606589827560502880760665291627377832999853334843737765681661330337424502986684128780153978216716994859240163159686701205382082848146475050138788832420621665924524284551253008047332630871989481379093139257234437261529842954856938635725135127182764794435720719347341551690971260299091582844411984102416988814497373437932792208765746439138215433140901401177356995419218788991226223048458364846973975555590186919646668751223508305183527232617360903, 23580242323740507779282829650684012451732022696503205870457973248120611803404956014995155199716053205690276296996550225250420989395340087398033812052638266957645943540087424608372235741701395421378602758627218470897109450642980407663066995374499113177565847371511422355463531834560652981003484657036840147231668093142669296836297338677767562080360279052176127388063018597807854761810089686405626453949205469296567413649270396387364107343099958099706845093124331389772539860210417945522620076054967677440112366850295042455085621181180528263641422173980108271478614574732004288691743103040404452431151873655557219373251, 21824712278959388040081682915409092689908718768360696518896951112160165329478318053664690983870364130553655265369932390545012983749500648581068087357412735924435018873662090796464431336577908146845969219600050410342092989581014554975716444658223383671880154602175080775157943409474535811534997416716069624328625774911643506631833228878253107068760219474030765809851984223474149506761911080185704657059936281318338468608546139762074127963407334465675897377237859848078443429426015008445048603325987980774773497090212630559084167155055408253334348144659153997362687506879217717968622320220754597143034294550726352852403]
c= [8138614414964220749026396589484838962205340630298530813747548598753559528698113338439507262503026948314155941048436221571631592302068664490031851344660520075842327660778014141354147852589034186554591523812317333370805915253191540123995365097718432600182620049251325092914573863707218262223899247080025253642200105501314133436059209937349853125284888391487452715601057163527578529352312576447005816206271736718940069088647035893230138029575549238193555883185572349565010473723185151518418862643773975285915143219301847393906486739041489258477774469523987283951674555360463643083504835185177787877355473970168842203531, 21402136123565990656039381689834963578068358660874420259499435298499273430273521975479490366605449307603978404549085194875264063107777884136480023287431320002240842146082430915396472537619000402316372052514979209038133829885004970720317078251963380076332265218424880903916745347892951877523120606689016534543346063469743002969429146593903579334582046966513653732788654659612778969396349357786481914485996063758227183759483911877379014821293422306695952675239554867973631680089663429399438005364857739378625648902694022490820156216188990475426297670036086800505672443846036369978521764048751413657058845837965850106368, 17923354475859619636243374576614789186518880351426876182011438363299729289267083671390872532543422473746977069395377207506442699762676807097332687979235410256271762794433973486518051860382695402946609597572813695110945608381729397467328436083621489901385892602327254989165278018349006549660859335535992570693276833660893285628993263536744184072700953026276013265955857575177694090854873023683197104024492568436906574771850470072088594226067434414864277777193503558005027531281643505350052593387571541364586530959077377670956157508959237014514346212265748913462387967412149753510604932234775712411291538834123341720823, 20341648917847970482409722965057162968025986773956447670631646826282729861821086783779744054899001332067435418642636836840501121035249419280251187111329366652666882161996919000332526615409297879046267751667005788537896245442162227243260747285560963197729390102921921791566789012608659703360816552393238511559009697448060701799795487248928251849488760161210269389485357987848238566010513091364786053055338385779077563281427857941533522055023745516245431707280168961427856990239614933173615560097473510816476134294007546982703157670294599888641615754734194242774623385024732174250292538790391536021665986151781500721675, 6530424925582222994061535961596871752332814431285884363294395489685408696042081254550988270976519334120788804991254353626464104456055265156284539173344147242562907160642378394051856355641879559190799873676687855660816332165303106745108250861775820800962421496007902210988868818478621013384580562230571007620083384266146744072938912733875297658595239825869887014350066225845734118116043284514508855197741795340006850160662642902616018162064285492509784468510972756023060471844066549565575032235009347430371200582645491180226965586661324252841806056391506784461486429319734328291225374555287483546921835394033727397253, 23155994311797934855102262352609188862536671351585374686281546087719383183463111139414085528217525845514474542163770114043669143850254495916570034071569415837169552757567404136608058542977130812293345689167235726011736034826574029151263362991766669291495435771485991945017093498380260203716843045961754835534770073913787943297357914542867540326537301716594683178314776544888647464115360794921405067907222773945604924780696972534705889319622395640001584930004577913025221640394721339299514509915307267392749628361852317841200740915881372788586847748822889426692730643912931393731460116466728841025601398846794513236959, 912688833416531225487970401839505010800932926606495338279436739151996973139697408852199452979305178785694801162680866325768394160610374347854099188236858103084994236914218909833107054799434276612822480592144500015446265931965377600403451135860851073182485777521306201542724666806964717256397511967832587655852872919660587861442765268566598698597067707476516599310019903384533647904086335392959211982168850112844721514369004536749794953428968509761239251180311264234259256250449700097022923697180941005557447442168334776041735807247624147837301201260698613442890381046681335113070496917855199681561658278043979334944]

m=gmpy2.iroot(CRT(n,c),e) [0]

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值