利用.Git对服务器进行的一次渗透

       此次渗透起源于我写了一个python的聊天脚本,tcp通信可以挂在外网上,但是udp通信接收不到消息,于是我想弄一台内网服务器运行我的服务端脚本转发消息。

       使用AWVS对改服务器进行扫描:

发现.git漏洞

在GitHub上下载githack软件https://github.com/lijiejie/GitHack

利用这个软件可以复原工程源码,再分析源码寻找漏洞

执行githack脚本:

进入源码目录,发现,网站是用thinkPHP框架写的。哈哈,刚好放假学了点thinkPHP(曾经一度以为自己白学了),基本目录和代码原理还是能弄清楚的。

在Admin目录下的config.php文件中找到数据库账号名和密码:

哈哈,开心的一批

又分析了好久源码,看懂了很多之前使用时没搞懂的逻辑是如何处理的,感觉大佬写的网站就是不一样,获益匪浅。

打开Navicat数据库管理工具,远程连接数据库,输入账号,密码。

因为该网站是个微型网站不需要后台管理员页面,所以自然就不存在在MySQL里找管理员账户这一说法。

接下来我使用了两种方法试图拿到服务器的shell:

第一种是上传一句话木马,get webshell。但是我发现MySQL5.5以上的版本默认禁用了into outfile。没法把一句话木马写进去。我一手中国菜刀没得发挥空间啊。其实在这里试了很多种方法,但都是需要into outfile开启才能用的。

无奈,第二种是利用mysql general log 写shell。原理是开启MySQL日志之后,一句话木马也会被自动写入日志中去。这种方法不需要into outfile开启:

fuck,MySQL运行过程中在服务器创建的系统用户对该目录没有x权限。就差最后一句话了,难受,果然Linux服务器还是比windoes安全很多。

无奈只能在数据库里插入恶意代码,改改前端代码了。

其实我有想过直接用数据库把代码插进.php文件,但是因为用的是框架所以前端是HTML后缀,插进去了也没用。如果form表单是用get方法传送数据到逻辑处理的.PHP文件倒是可以试一试直接在URL里伪造请求用菜刀直连逻辑处理文件.php

猜你喜欢

转载自blog.csdn.net/dfgdgfbb/article/details/82763322
今日推荐