【misc】[HNCTF 2022 Week1]calc_jail_beginner(JAIL) --沙盒逃逸

发布时间 2023-11-09 09:43:41作者: GGBomb

这是一道python沙盒逃逸的题目:

沙箱逃逸:就是在给我们的一个代码执行环境下,脱离种种过滤和限制,最终成功拿到shell权限的过程,其实就是闯过重重黑名单,最终拿到系统命令执行权限的过程,这里不理解没关系,多做两道题就知道了,老实说国内的沙箱逃逸的题不是很多,而且大多都是面向新手的?对我来说正好就是了,然后的话,如果像深入了解的话还是建议去做做国外的沙箱逃逸,国外出得比较多

这里先补充一些关于沙箱逃逸的知识点

花式 import

首先,禁用 import os 肯定是不行的,因为

import  os
import   os
import    os
...

都可以。如果多个空格也过滤了,Python 能够 import 的可不止 import,还有 __import____import__('os')__import__被干了还有 importlibimportlib.import_module('os').system('ls')

这样就安全了吗?实际上import可以通过其他方式完成。回想一下 import 的原理,本质上就是执行一遍导入的库。这个过程实际上可以用 execfile 来代替

现在我们下载以下题目给的附件

这里有个eval函数:

eval()是Python的一个内置函数,用于执行字符串代码。它接受一个字符串作为参数,并将其作为Python代码进行解释和执行。

就是说eval函数可以执行我们输入的字符串代码

这里输入__import__('os').system('sh')即可getshell,__import__('os')表示导入os库,里面有系统执行的函数