CTF WEB方向–攻防世界–新手场–11,12两道题
第11题:command_execution--------题目类型:命令执行
先尝试ping一下127.0.0.1:
根据得到的反馈,估计是windows操作系统。
尝试ls命令:
只有一个index.php
尝试往外:ls …/
也就是说html目录下有一个index.php文件
再尝试往外读:ls …/…/
得到很多目录,但是没有要读的flag,所以再往外读:
经过尝试,发现在home 目录下找到了flag.txt
127.0.0.1;ls …/…/…/home
最后读取flag:
得到flag是:cyberpeace{980c6100da721573860bb94fabd216ba}
第十二题:simple_js---- URL解码
要求输入密码:
随便输一个:
点击确定,再右键查看源码:
<html>
<head>
<title>JS</title>
<script type="text/javascript">
function dechiffre(pass_enc){
var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
var tab = pass_enc.split(',');
var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;
k = j + (l) + (n=0);
n = tab2.length;
for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
if(i == 5)break;}
for(i = (o=0); i < (k = j = n); i++ ){
o = tab[i-l];
if(i > 5 && i < k-1)
p += String.fromCharCode((o = tab2[i]));
}
p += String.fromCharCode(tab2[17]);
pass = p;return pass;
}
String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));
h = window.prompt('Enter password');
alert( dechiffre(h) );
</script>
</head>
</html>
\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30
将\x变成百分号%,再进行URL解码:
查ASCII码表:
55,56,54,79,115,69,114,116,107,49,50
对应: 7 8 6 O s E r t k 1 2 即786OsErtk12
根据题目提示:
最终flag就是:Cyberpeace{786OsErtk12}
总结
第十一题就是命令执行,不需要绕过防火墙,要注意耐心查找flag
第十二题要注意将\x变成%,再URL解码。