Web安全渗透测试

2018-07-07 07:16黄承彬
网络安全技术与应用 2018年7期
关键词:安全漏洞攻击者漏洞

◆黄承彬



Web安全渗透测试

◆黄承彬

(福建省厦门市文化遗产监管中心 福建 361012)

网络技术的发展深化了Web对人们生活的影响,但也让它成为黑客入侵的渠道之一,所以保证Web程序的安全,是各使用单位必须思考的问题。目前解决这一问题的方式是,使用前进行Web安全渗透测试,检测其是否有安全漏洞,保证Web的安全。

Web安全渗透测试;SQL安全漏洞;实验模拟

0 引言

Web安全渗透测试的进行,需先了解Web内有哪些安全漏洞,基于这些漏洞出现的原因,选择思路完成渗透测试。借此,可提高检测的效率,并及时发现Web的漏洞,并分析漏洞的特征,给出具体的分析报告,并可以根据新出现的漏洞,拓展思路,保证安全渗透测试的可靠。

1 Web的安全漏洞

1.1 类别

Web内的安全漏洞包括以下几点:注入攻击、跨站脚本攻击、安全性误配置等。其中注入攻击主要出现于服务器端,是攻击者最常做出的攻击行为。该攻击的特点是,用户输入的数据变为代码,而这个攻击的有效需满足两个条件,用户可自主输入,程序的运行需要代码,把输入的数据拼接。它最常见的形态是代码、XML等注入攻击。

1.2 出现的原因

这些安全漏洞出现的原因是,用户可在系统内提交任意一个类型的数据,但服务器终端只是接收数据,并未进行数据验证。而从内部操作分析,是Web编程中,程序员并未考虑到编程的安全,并疏于配置软件,增加安全隐患。同时,Web投入使用后,所有操作、管理以及定期维护,均由人完成,但Web系统的安全会因为个人的操作不当,被攻击者找到机会,入侵系统,直接导致系统的崩坏[1]。

2 Web安全渗透测试

2.1 安全渗透测试

这一测试是模拟攻击者的操作,使用相应的攻击技术,利用系统的漏洞,对目标对象进行深入探测,以从系统内发现最易受到攻击的环节。由此提出的安全渗透测试,是得客户的许可后,用可控、不会带来破坏的方式,找到服务器的薄弱位置,它进行的时间可以是系统发布前,或是系统投入使用后,对系统进行实时跟踪,尽肯能保证系统安全。

2.2 测试过程

其测试的具体过程如下:收集信息,攻击者做出攻击行为前,必然会先收攻击对象的信息,以为攻击的进行做好信息准备,即了解Web系统的相关信息后,对其有基本的认识,初步确定攻击方式。信息收集可采用的方式有域名、不同的信息服务;整理并扫描信息后,可确定网络所在的外部特征,对特定的位置进行扫描,根据扫描结果,决定是否攻击,而从扫描得到的漏洞中,可选择某个漏洞作为攻击的突破口。但如果漏洞扫描后,攻击者不可以直接使用时,可把得到的信息分成两类,第一类是安全敏感的信息,包含预先收集的信息,第二类是漏洞信息,主要由个人疏忽造成,借由这些可快速确定攻击的点;攻击,上两个阶段的操作结束后,经过分析,可用选择的方式是直接攻击。攻击的方式可分成两类,第一类是攻击对象再无反应,让系统瘫痪,第二类攻击是借由工具盗取系统内的某些信息,比如高级机密、系统的控制权等,攻击行为只是真实目的的掩盖;攻击成功后,攻击者为便于下次攻击,会在系统内放入后门,有便捷的入侵渠道。网络主体内的系统会随着技术的发展与维护,把系统升级,自动修补漏洞,攻击者可攻击的路径消失,而植入后门后,攻击者经过后门即可进入系统,且整个过程不会被使用者察觉;最后,消除经过的痕迹,Web攻击是一个完整的过程,攻击者从系统中得到信息后,必须消除自己来过的痕迹,这些痕迹会在系统检测或管理员维护中发现,有时甚至会因为检查,完全暴露自己,所以痕迹的消除,是把所有经过的部分全部清理。

根据这个过程完成测试,可找到测试内容的风险,并出具风险评估报告,提供全面的渗透测试服务。

2.3 具体操作

本文中的具体操作是以SQL安全漏洞为例,完成测试。

(1)注入漏洞的分析

SQL注入是供给系统的数据库,它的具体连接中是利用现有数据库的外部接口,通过接口把数据作为操作语言,输入到数据库内,以实现数据库的入侵,并控制系统。程序员因为对编程的安全性认识不足,并未过滤用户输入的数据,引发漏洞,攻击者抓住这些机会后,可输入操作语句,从数据库内得到数据,或是把数据删除,影响主机运行[2]。

(2)实验模拟

如图1,通过实验模拟,可了解这一漏洞可能带来哪些危害。但试验进行需要相应的环境,所以环境是Windows 7系统的一个网址,IP地址是localhost。这一网址的正常登陆是在登录界面输入用户名和密码,输入正确后即可登录系统,这一情况下,攻击者选择的方式是入侵数据库,具体方式是与数据库交互,用后端编程操控,而多个程序语言的交互后,可得到界面。但因为实验进行中,所有数据都可进行后台查询,所以具体编程过程中,可把多个字符拼接在一起,这给攻击者留下了加入SQL语句的机会,改变操作流程,得到系统的操作权限。由此,对于其带来危害的判断,是轻者丢失数据库内的数据,重者直接失去系统道的操作权限。

图1 模拟网址的登录页面

(3)检测思路

基于这一思路带来的危害,要求在实际操作中必须明确具体检测的思路,即使用HTTP协议,给出请求报文。从给出的报文中,攻击者可用工具修改报文中的内容,把内部的GET变为POST,改变数据的内容,并修改内部的Cookie。如果出现这些情况,在客户端验证登录者的信息,没有任何作用。所以,攻击者攻击的方式是,改变HTTP协议的申请报文(如图2),观察服务器是否响应,从中找到漏洞。所以,对于这一漏洞的检测,是检查所有提交数据的环节与数据内容,查看与服务器交互的位置,检查参数设置,判断服务器是否响应,确定是否有安全漏洞存在。

图2 HTTP申请文本的更改

实际应用的分析:确定检测思路后,可选择某个真实的网站,用不同方式注入信息,判断这一方法是否有效。注入漏洞的方式是,GET、POST等,用这两种方式注入漏洞后,都返回了错误信息,说明有漏洞存在。随后测试人员修改了HTTP请求并发送到远程服务器后,服务器响应。由此,说明这一方法是有效的。

由此,总结出Web安全渗透测试的思路是正确,且方法也具有可行性,可模拟攻击者做出的行为,判断系统内是否有安全漏洞,有良好的使用效果。而为完善该思路,让测试有序进行,也可使用相应的测试工具,借助测试工具的优势,找到新的方案,减少系统被攻击的可能性,保证系统运行的稳定与安全,降低风险。另根据漏洞出现的原因,要求编程人员必须注重编程过程的安全,从编程入手,控制风险,保证安全。

3 结语

Web安全渗透测试,是根据漏洞的类型与出现的原因,以及安全渗透测试的思路进行试验模拟,验证理论与想法的可行性,指明攻击者攻击的方式。如此,可切实保证系统的安全,确保系统运行的稳定,但与此同时,也要完善使用的技术,借助检测工具等确定思路,实现思路的优化,完成漏洞的进一步分析。

[1]徐光.基于Kali Linux的Web渗透测试研究[J].信息安全与技术,2015.

[2]罗启汉,陈深龙,李宁等.中国科学院教育信息化中的Web应用安全增强实践[J].科研信息化技术与应用,2011.

猜你喜欢
安全漏洞攻击者漏洞
漏洞
机动能力受限的目标-攻击-防御定性微分对策
基于模糊测试技术的软件安全漏洞挖掘方法研究
智能设备安全漏洞知多少
安全漏洞太大亚马逊、沃尔玛和Target紧急下架这种玩具
正面迎接批判
安全漏洞检测技术在计算机软件中的应用
三明:“两票制”堵住加价漏洞
漏洞在哪儿
高铁急救应补齐三漏洞