ctf bugku game1

这是一道游戏题,一般都是通过取得一定分数来获得flag。
好,开始闯关。

当然不是一点点玩了,用BP抓包修改内容,将出结果的页面数据进行抓取,并发送至Repeater,方便后面测试。

这是通过GET方法进行传参的,里面有score,ip,sign。用F12观察源码发现。在 function overShowOver()中有如下语句var sign = Base64.encode(score.toString());

但是将sign用Base64decode却无法得出原有数据(据大佬分析师./base.js将该算法修改了,代码放在下面了)。

经分析得知sign = ‘zM’ + Base64.encode(score) + ‘=’

score = 10000时, base64结果MTAwMDA= ,按照规律转换为zMMTAwMDA===

修改参数ip:port
/score.php?score=10000&ip=221.197.235.65&sign=zMMTAwMDA===
得出flag{5f3dd3ccc3873198a789b06898a4016f}

#base.js

eval(function(p,a,c,k,e,d)
{e=function(c)
{return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};
if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];
e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('5 z={b:"R+/=",L:y(e){5 t="";5 n,r,i,s,o,u,a;5 f=0;e=z.D(e);C(f<e.q){n=e.h(f++);r=e.h(f++);i=e.h(f++);s=n>>2;o=(n&3)<<4|r>>4;u=(r&B)<<2|i>>6;a=i&k;d(H(r)){u=a=w}l d(H(i)){a=w}t=t+j.b.c(s)+j.b.c(o)+j.b.c(u)+j.b.c(a)}x"O"+t+"=="},M:y(e){5 t="";5 n,r,i;5 s,o,u,a;5 f=0;e=e.E(/[^A-N-P-9+/=]/g,"");C(f<e.q){s=j.b.v(e.c(f++));o=j.b.v(e.c(f++));u=j.b.v(e.c(f++));a=j.b.v(e.c(f++));n=s<<2|o>>4;r=(o&B)<<4|u>>2;i=(u&3)<<6|a;t=t+7.8(n);d(u!=w){t=t+7.8(r)}d(a!=w){t=t+7.8(i)}}t=z.J(t);x t},D:y(e){e=e.E(/K/g,"n");5 t="";Q(5 n=0;n<e.q;n++){5 r=e.h(n);d(r<m){t+=7.8(r)}l d(r>V&&r<X){t+=7.8(r>>6|U);t+=7.8(r&k|m)}l{t+=7.8(r>>F|I);t+=7.8(r>>6&k|m);t+=7.8(r&k|m)}}x t},J:y(e){5 t="";5 n=0;5 r=S=p=0;C(n<e.q){r=e.h(n);d(r<m){t+=7.8(r);n++}l d(r>T&&r<I){p=e.h(n+1);t+=7.8((r&W)<<6|p&k);n+=2}l{p=e.h(n+1);G=e.h(n+2);t+=7.8((r&B)<<F|(p&k)<<6|G&k);n+=3}}x t}}',60,60,'|||||var||String|fromCharCode|||_0|charAt|if||||charCodeAt||this|63|else|128|||c2|length|||||indexOf|64|return|function|Base64||15|while|_2|replace|12|c3|isNaN|224|_1|rn|encode|decode|Za|zM|z0|for|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|c1|191|192|127|31|2048'.split('|'),0,{}))```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值