记录一次www.fc4.me“CTP注册挑战”渗透测试全过程

今天想寻思去尝试一下CTP课程注册挑战:http://www.fc4.me/;虽然说经历了好几个小时,但是,总算是通过了,整个过程如下:

 

一、浏览器打开 http://www.fc4.me/ ;

就会看到一个说明:

这是一个两阶段的注册挑战:

第1阶段:您必须通过插入正确的安全字符串来绕过注册表单。

第2阶段:获得安全字符串后,您将需要执行其它步骤才能提取最终的Code和Registration密钥,这些密钥将在offsec网站的CTP注册表单中使用。

 

使用自动扫描仪将导致该网站被阻止3分钟。 无需利用或漏洞扫描即可绕过表单。 可查看源码!

 

意思是说表单“Security String”需要填正确的安全字符串才能绕过注册,才能注册成功。

www.fc4.me“CTP注册挑战”

 

二、查看源代码并分析;

 

1、通过查看源代码,发现了几个重要的事情。如下:

 

41.js 是一个自己写的js加密代码文件。

 

fc4.js 是一个js注册逻辑判断代码,具体如下:

function fc4me(srvstr) {
  
   if(!document.pleazfc4me.email.value || !document.pleazfc4me.securitystring.value) {
      alert("Please fill in all the required fields!");
      return false;
   }
   if(document.pleazfc4me.securitystring.value != hexMD5("\x74\x72\x79\x68\x61\x72\x64\x65\x72"+srvstr)) {
      alert("Registration Authorization String not accepted! Try Harder! ");
      return false;
    } else {
      document.pleazfc4me.submit();
    }
   
}

 

submit 提交有一个 onClick事件:

<input onClick="var srvstr='Tuesday 1st of October 2019';fc4me(srvstr);document.pleazfc4me.securitystring.value='';return false;" name="submit" type="image" src="images/button-submit.png" />

 

2、分析结果:

表单邮箱可以随意写。

安全字符串这里是由“\x74\x72\x79\x68\x61\x72\x64\x65\x72 + srvstr“ hexMD5加密后生成的。

 

恰好:

“\x74\x72\x79\x68\x61\x72\x64\x65\x72”这是一段16进制编码,转换成字符串是“tryharder”。

srvstr变量在onClick事件这里赋值为“Tuesday 1st of October 2019”。

 

因此:

安全字符串是由“tryharderTuesday 1st of October 2019”hexMD5加密后生成的。

 

三、生成加密后的安全字符串并注册绕过

 

1、把 41.js 下载到本地来;

 

2、新建一个 41.html,写入代码:

<script src="41.js" type="text/javascript"></script>
  
<script type="text/javascript">
var md5Value=hexMD5("tryharderTuesday 1st of October 2019");  
alert("加密后的值为:"+md5Value); 
</script>  

 

3、浏览器访问 41.html,弹窗得到hexMD5加密后的安全字符串。

hexMD5加密

 

4、填写入邮箱和正确的安全字符串来绕过注册表单。

我这里填的是:

Email:[email protected]

Security String:270cf393b843577bd32047f97ca2602b

 

四、base64解码

通过邮箱和安全字符串注册成功后,会出来一段base64加密后的字符串,如下:

base64加密

 

解密其实也很简单,我们只需要复制第一行代码,然后再用base64解码就可以了。

 

我这里是将:

RW1haWw6IDEyMzQ1Njc4OUAxMjYuY29tICwgUmVnaXN0cmF0aW9uIENvZGU6IDU5NjgwIHwgTm93IGRlY29kZSB5b3VyIENUUCBTZWNyZXQgS2V5IGFuZCB5b3UgYXJlIGRvbmUhIDogXHgzM

base64解码为:

Email: [email protected] , Registration Code: 59680 | Now decode your CTP Secret Key and you are done! : \x3M

burpsuit base64解码

 

到此为止,我们就已经得到了Code和Key。

 

注意:

1、加密方式可能会用的不一样,我查看了41.js 这个源代码,里面有好几种加密的方式。这里今天挑战的时候加密用的hexMD5。

2、还有就是srvstr变量的值也是不一样的,它是按照星期几年月日来生成的。

 

总结:

很多人可能觉得很简单,我当时挑战的时候,真的是什么参考资料都没有,花了还是蛮长时间的,我大约估计了一下,从开始到结束约有三个小时(中间有时候累了也会娱乐一下其它的,放松一下)。既要查看代码文件,还要分析源代码的具体情况,所有的代码都是用JavaScript 写的,还好我懂一点JavaScript简单语法,还能看懂个大概。

 

安全字符串这里通过我其实还挺快的,分析了代码后,就明白了。

主要是解码这里,刚看到了加密后的字符串纯粹的一脸蒙逼,这都是什么加密方式,也没见过。我把所有加密后的字符串复制去解密,各种解密各种测试根本解不出来。后来想着这是JavaScript 写的,Base64加密应该用的挺多的,然后又种测试,总算测试出来。

最初根本不会想着是用的Base64l加密,更不会想到解密的时候只需要复制第一行代码就可以了。

    A+
发布日期:2019年10月01日 16:44:13  所属分类:渗透测试
最后更新时间:2019-10-01 16:49:41
评分: (1 票;平均数5.00 ;最高评分 5 ;用户总数1;总得分 5;百分比100.00)
付杰
wordpress站群服务 泛解析二级域名 二级目录站群
wordpress站群服务 泛解析二级域名 二级目录站群
  • ¥ 1999.9元
  • 市场价:4800元
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
  • ¥ 6.8元
  • 市场价:8.8元
刷流量、刷人气、刷点击、刷收藏、刷APP关键词服务
刷流量、刷人气、刷点击、刷收藏、刷APP关键词服务
  • ¥ 1.0元
  • 市场价:9.9元
wp discux 帝国 dedecms phpcms等快速建站
wp discux 帝国 dedecms phpcms等快速建站
  • ¥ 99.9元
  • 市场价:499.9元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: