js:
小明某天在看js的时候,突然看到了这么一段代码,发现怎么也理不出代码逻辑,你能帮帮他吗?
格式:SimCTF{}
解题链接: http://ctf5.shiyanbar.com/crypto/2.html
eval(function(p,a,c,k,e,d)
{e=function(c){return(c35?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;}
('<1 8="7/a">9(\'\\6\\3\\2\\5\\4\\b\\i\\h\\k\\j\\0\\g\\d\\c\\f\\0\\e\')',21,21,'u0065|script|u006d|u0069|u0054|u0043|u0053|text|type|alert|javascript
|u0046|u006f|u0063|u007d|u0064|u006e|u006a|u007b|u005f|u0073'.split('|'),0,{}))
解:
0x06 Unicode
密文样例:
\u5927\u5bb6\u597d\uff0c\u6211\u662f\u0040\u65e0\u6240\u4e0d\u80fd\u7684\u9b42\u5927\u4eba\uff01\u8bdd\u8bf4\u5
用在线的Unicode解码器
http://tool.chinaz.com/tools/unicode.aspx 从中找到有用信息如下:
本题:
1.这是JS的一种加密
有一点要注意的,网页里复制下来的是不完整的
不信你看,实验吧真是烂,但是我还是得学。没办法。
2.在链接的界面右击选查看源码:
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;}('<1 8="7/a">9(\'\\6\\3\\2\\5\\4\\b\\i\\h\\k\\j\\0\\g\\d\\c\\f\\0\\e\')</1>',21,21,'u0065|script|u006d|u0069|u0054|u0043|u0053|text|type|alert|javascript|u0046|u006f|u0063|u007d|u0064|u006e|u006a|u007b|u005f|u0073'.split('|'),0,{}))
在chrom浏览器中按F12,点击console.log只会输出到浏览器的控制台我看你还报错C35没有定义,
把eval换成console.log就行,结果是
<script type="text/javascript">alert('\u0053\u0069\u006d\u0043\u0054\u0046\u007b\u006a\u0073\u005f
\u0065\u006e\u0063\u006f\u0064\u0065\u007d')</script>
http://tool.chinaz.com/tools/unicode.aspx 去在线解密unicode
最后答案falg:SimCTF{js_encode}
转载自原文链接, 如需删除请联系管理员。
原文链接:js实验吧,转载请注明来源!