IDF實驗室之不難不易的js加密

2021-07-05 18:20:06 字數 2013 閱讀 6086

開啟我們看到彈框讓我們輸flag,直接看到原始碼,我們看到

eval(function(p,a,c,k,e,d);if(!''.replace(/^/,string))];e=function();c=1;};while(c--)if(k[c])p=p.replace(new regexp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('4 a=1d("\\t\\q\\z\\10\\5\\y\\n\\s\\x\\l\\w\\v\\x","");4 b="\\5\\j\\j\\0\\j\\h\\j\\k\\11\\k\\0\\0\\0\\3\\2\\0\\0\\c\\5\\3\\p\\2\\i\\5\\5\\0\\q\\q\\3\\u\\j\\h";4 c=/.+w.+w.+/p;4 d=t;4 e=a.1(o,y);9($.a(e)==b.b(/7/d,++d).b(/8/d,d*z))}}};9(a.1(f,s)!=l.h(d)||a.1(f,s)=="\\12")u',62,77,'x37|substr|x30|x35|var|x66|x31|||if||||||||x65|x34|x33|x36|string|charcodeat|x61|0x19|x64|x38||0x1|0x0|x62|tolowercase|_|uff01|0x5|0x2|md5|replace|x39|ig|0x3|0x4|u559c|fromcharcode|u606d|u3002|alert|uff0c|x73|u60f3|0x8|gi|u5165|0x7|x67|u8f93|else|u5e74|u5c11|u5427|x6c|u4f60|u7684|x63|x7a|u989d|u518d|0xd|test|length|x79|concat|u53bb|x6a|0x6|prompt|0x4f'.split('|'),0,{}))

關鍵的js**被混淆了,於是我們找到js解密工具(解密如下

var a = prompt("輸入你的flag吧,少年!", "");

var b = "f3373e36c677750779f5d04ff7885b3e";

var c = /.+_.+_.+/gi;

var d = 0x0;

var e = a.substr(0x8, 0x5);

if ($.md5(e) == b.replace(/7/ig, ++d).replace(/8/ig, d * 0x2))

} }};if (a.substr(0x4, 0x1) != string.fromcharcode(d) || a.substr(0x4, 0x1) == "z") else

答案漸明朗,直接逆向分析

b.replace(/7/ig, ++d).replace(/8/ig, d * 0x2) = f3313e36c611150119f5d04ff1225b3e //md5('jiami')
至此falg的第8-12位是jiami

在根據

f.substr(0x5, 0x2) == "js"

分析flag的第5-6位是js

$.md5(f.substr(0x0 / d, d + 0x3)) == "d0154d5048b5a5eb10ef1646400719f1") //md5("wctf")
分析flag的第0-3是wctf

接著分析r=a.substr(0xd)//flag的第13位至末

r.charcodeat(d) - 0x19 == r.charcodeat(++d) - 0x19 //r[1]==r[2]
r.charcodeat(--d) - 0x19 == r.charcodeat(--d) //r[1]-0x19==r[0],之後根據正則可知r[0]='_'

r.substr((++d) * 0x3, 0x6) == g.concat("easy")代表r的3-7位是ooeasy

再根據正則和wctf{}的格式,得到falg:wctf

idf實驗室聰明的小羊

乙隻小羊跳過了柵欄,兩隻小樣跳過了柵欄,一坨小羊跳過了柵欄.tn c0afsiwal kes,hwit1r g,npt ttessfu ua u hmqik e m,n huiouosarwcniibecesnren.相信大家看到這題都會有點懵逼,不知道從何下手,看上去就是一堆亂亂的字元,但是出題人...

IDF實驗室 天羅地網 古老的郵件編碼

ctf.idf.cn index.php?g game m article a index id 41 題目 mr,o knyu q p q ahzs6q g,lknynz.lr 2lk n ck vn mxk tjj rkzaq 36k ch m xq 3pl b s 1 v t9gmu 75u ...

IDF實驗室之百密一疏特殊的日子

這題給的是crc32的密文,直接用暴力破解,出題的人說格式是yyyymmdd,直接用c 遍歷 private void button1 click object sender,eventargs e if flag 1 break if flag 1 break 其中crc32的類 using sy...