XCTF web 新手练习区
view_source
F12查看源码就可以得到flag。
Robots
用御剑扫描后台,找到robots.txt
backup
题目提示
打开index.php.bak。
会下载一个文件,将后缀名改为txt就可以打开。
打开来是index.php的源码。
找到flag。
cookie
打开burpsuite抓包,查看cookie。
Cookie: look-here=cookie.php
打开cookie.php
再次用burpsuite抓包,send to repeater。
在response里面看见flag。
disabled_button
题目给了我们一个不能按的按钮。
应该是js。
f12点选择元素,再选择button。
删掉disabled就可以点击了。
点击之后获得flag。
weak_auth
打开网页,是一个登陆界面。
随便输入一用户名和密码,提示用admin登陆。
用admin和随便一个密码登陆,我写的是123456,没想到就这样解开了∑( 口 ||
实际上这道题可以用bp的intruder来爆破。
simple_php
打开网页是一段php代码。
由这张图知道,a要非空非0且弱等于0就得是字符串。
b要满足条件可以在后面加上%00(空)或者是ox(拼接字符串)来绕过。
构造payload:?a=”php”&b=12345ox
获得flag
get_post
打开hackbar,用get方式传值。
再用post方式传值。
获得flag。
xff_referer
ip地址必须位123.123.123.123
用xff来伪造ip。
打开burpsuite,拦截,send to repeater。
要求要来自谷歌,加上referer。
获得flag。
webshell
这里已经把一句话告诉我们了,可以直接用中国菜刀链接,也可以用hackbar,这里采用hackbar的方式。
看看有哪些文件。
有一个flag.txt,打开来看看。
获得flag。
command_execution
拿127.0.0.1试一试。
没有问题,拿ls试一试(参考:参考链接)
127.0.0.1&&ls
查找txt格式的文件。
127.0.0.1&&find / -name "*.txt"
找到了flag.txt
打开flag.txt
127.0.0.1&&cat /home/flag.txt
找到flag。
simple_js
打开题目,让你输入密码,随便输入一个。
没有什么思路,看看源码吧。
在源码里面看见了一段js代码。
1 2 function dechiffre(pass_enc){ 3 var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65"; 4 var tab = pass_enc.split(',');//把输入的依据‘,’分隔 5 var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length; 6 k = j + (l) + (n=0); 7 n = tab2.length; 8 for(i = (o=0); i < (k = j = n); i++ )//n=18 9 {o = tab[i-l];p += String.fromCharCode((o = tab2[i])); 10 if(i == 5)break;}//p=“FAUX P” 11 for(i = (o=0); i < (k = j = n); i++ ){ 12 o = tab[i-l]; 13 if(i > 5 && i < k-1) 14 p += String.fromCharCode((o = tab2[i])); 15 }//p=“FAUX PASSWORD HAH” 16 p += String.fromCharCode(tab2[17]);//p=“FAUX PASSWORD HAHA” 17 pass = p;return pass;//pass=p,return pass的内容 18 } 19 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")); 20 21 h = window.prompt('Enter password'); 22 alert( dechiffre(h) ); 23
仔细一看pass_enc除了开头出现了一次就毫无纯在感了Σ(っ °Д °;)っ,而且对最后return的结果没有影响,所以说无论输入什么出现的结果只会是FAUX PASSWORD HAHA……
然后又看到了源码里面有一段以16进制显示的ascii码,转换来看看是什么。
786OsErtk12
去提交一下,加上Cyberpeace{},过了。