python沙箱逃逸小结

本文总结了Python沙箱逃逸的三个案例,分别介绍了如何在不同限制条件下读取flag文件。案例涉及利用file对象、catch_warnings类以及绕过字符过滤的方法。同时提到了基于C源码的逃逸方式,提供了相关学习资源。
摘要由CSDN通过智能技术生成


之前,协会的同学去天津交流,天津大学的同学讲了一个python沙箱逃逸的案例。今天结合之前的所学和比赛经验写一个小结。

 

案例1

这是hackuctf 2012的一道题

      defmake_secure(): 

          UNSAFE = ['open', 

                    'file', 

                    'execfile', 

                    'compile', 

                    'reload', 

                    '__import__', 

                    'eval', 

                    'input'] 

       for func in UNSAFE: 

           del __builtins__.__dict__[func] 

    

   fromre import findall 

     

   #Remove dangerous builtins 

   make_secure() 

     

   print'Go Ahead, Expoit me >;D' 

   whileTrue: 

       try: 

           print ">>>", 

           # Read user input until the firstwhitespace character 

           inp = findall('\S+',raw_input())[0] 

           a = None 

           # Set a to the result from executingthe user input 

           exec 'a=' + inp 

           print '>>>', a 

       except Exception, e: 

           print 'Exception:', e 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值