浅析Windows Web安全实训的开展

2017-09-14 11:54秦文生
教育教学论坛 2017年37期
关键词:实验平台仿真信息安全

秦文生

摘要:实训操作是职业学校各专业教学中的重要一环,搭建一套基于Web服务的Windows server 2003安全实验系统,在实训室内部中就可以开展多种安全攻防实训。

关键词:信息安全;Web安全;仿真;实验平台;网络攻防平台

中图分类号:G710 文献标志码:A 文章编号:1674-9324(2017)37-0257-02

一、引言

实训操作是职业学校各专业教学中的重要一环。进行信息安全的实验时,没有相關的实验平台,实验就很难开展。本系统搭建了一套基于Web服务的Windows server 2003靶机系统,从而在实训室内部网中就可以开展相关安全测试和评估,为各开展信息安全课程的职业院校相关专业提供借鉴和参考。

二、Web安全系统部署

对于进行初级阶段练习的靶机环境,不选择最新的系统和软件,本系统选择了Windows server 2003企业版作为操作系统,雷弛新闻系统v1.0和2.0等作为Web安全测试系统。

使用者可以通过仿真的安全环境,可以实现对SQL注入,文件上传,XSS跨站的安全测试,并可以使用某些免费的Web防火墙进行安全加固,在安全的攻与防中提高对Web安全的认识。

三、安全漏洞分析

1.万能密码漏洞分析。

雷弛V1.0系统存在万能密码漏洞(用户名写:'or 1 or' 或 'or'='or' )。漏洞文件在后台验证文件上/admin/CHKLOGIN.ASP中,见代码4-7行:

dim rs

admin1=request("admin") '没有任何过滤

password1=request("password")'没有任何过滤

set rs=server.CreateObject("ADODB.RecordSet")

rs.open "select * from admin where admin='"& admin1 &"' and password='"&encrypt(password1)&"'",conn,1'带入SQL查询中时依然没有过滤

if rs.eof and rs.bof then

因此可以构造SQL语句,利用“万能密码”登录。此系统使用ACCSESS小型数据库,access数据库的运算优先级与其他数据库稍有不同,根据microsoft官方的ACCSEE的SQL语句的运算符优先级资料分析如下:

构造一个用户名为“ 'or 1 or' ”的用户带入原SQL语句,分析此SQL后半部分的逻辑值过程如下:

(1)SELECT * from admin where admin='' or 1 or '' and password='';(''为两个单引号,为转义字符,单引号里面的内容不做任何解析)

在这个表达式里,由于没有优先级别1-3的运算符,第一批执行的是优先级为4的比较优运算符,即“=”等于,显然,这次运算的结果不成立,为0。此时表达式结果如下:

(2)SELECT * from admin where 0 or 1 or '' and 0;

第二批执行的优先级别为6的“and”运算符,此时'' (两个单引号,内容为空)and与0相与,结果仍为0,此时表达式结果如下:

(3)SELECT * from admin where 0 or 1 or 0;

第三批执行的优先级别为7的“or”运算符,此时0与1相或,结果变成了1,此时表达式成立,结果如下:

(4)SELECT * from admin where 1 or 0

第三批执行的优先级别为7的“or”运算符,此时1与0相或,结果仍为1,此时where后的整个表达式宣告成立,整体结果为1,可以成功地通过系统对用户名密码的验证。

2.SQL注入漏洞。

雷弛V1.0中http://172.16.57.120:87/onews.asp?id=44存在SQL注入漏洞,

打开数据库发现有11个字段,可以构造这样的语句来进行:

-1 union select 1,admin,password,4,5,6,7,8,9,

10,11 from admin

其中的-1是让原本的SQL不成立就执行后面的联合查询语句,其中位置2和3是网页会在网页中显示的字段。使用

http://172.16.57.120:87/onews.asp?id=44%20union%20select%201,admin,password,4,5,6,7,8,9,10,11%20from%20admin进行测试,可获得用户名和密码,用户名“admin”,密码为“bfpms”(简单加密后的密码)。

3.cookie注入漏洞。

雷池新闻系统的2.0增强版本,加入了防注入系统,但是经过分析知道在SQL通用防注入系统3.0版存在cookie注入漏洞,在/sql/Neeao_SqlIn.Asp文件中:

文件只对GET和POST提交方式进行检测合法性。网页文件在接受处理方式的时候一般是POST或GET两种方式。比如Request.form或Request.QueryString。而防注入程序3.0是限制,这两种方式提交。却没有限制Request.cookie的方式。

此时使用可修改cookies的浏览器(或插件),根据浏览器对cookies的处理机制不同,有的会对URL自动进行URL编码,有的需要手动进行。endprint

注入语句:

id=-1 union select 1,admin,password,4,5,6,7,8,

9,10,11 from admin

(1)Cookies browswer:可以自动编码,1设置好cookies后,点修改cookies,然后点右键,“重新载入”,即可。

(2)中國菜刀:需要手动编码(含特殊符号的必须用URL编码,空格的URL编码即20%,编码后为:id=-1%20union%20select%201,admin,password,4,5,6,7,8,9,10,11%20from%20admin)

4.XSS漏洞。

使用IE6.0浏览器,在“新闻搜索”框里输入任意数字111,得到如下url地址

http://10.92.92.32/leichinews/search.asp?key=111&

otype=title&Submit=%CB%D1%CB%F7

将111后面字符串删除,插入一些跨站语句进行测试,发现存在XSS漏洞。

http://192.168.33.150/search.asp?key=111

http://192.168.33.150/search.asp?key=111

四、网站安全加固

Web应用安全问题本质上源于软件质量问题。一方面Web程序通常是某个机构所独有的,另一方面,Web应用需要频繁地变更以满足业务目标,从而使得很难维持有序的开发周期;针对Web应用安全,折中的解决方案是使用由专业的安全公司开发的Web安全防护产品,即Web防火墙,Web防火墙有硬件的也有软件的,本文使用的为软件的。

1.自动:安装本地Web防火墙。

在Windows平台,针对IIS的Web防火墙,常见的有网站安全狗(IIS版)、智创IIS防火墙系统、D盾_IIS防火墙等。这些产品需要在服务器上安装,安装后根据产品自身内置的防护规则,会对http流量进行监控并实施防护。

2.使用在线的云Web防火墙。

云WAF,也称WEB应用防火墙的云模式。这种模式让用户不需要在自己的网络中安装软件程序或部署硬件设备,就可以对网站实施安全防护,如防SQL注入、防XSS、防DDOS等。目前常见的云WAF有阿里WAF,360WAF和安全宝WAF等。以阿里云WAF产品功能如下:

3.手动加固。

除了使用各种WAF产品,也可以手动对网站和服务器进行安全加固。目前有关IIS加固和Windows安全加固的资料在网上特别多,此不赘述。仅就其中几项关键的地方提示如下:

(1)iis加固。

限制后台登录:

删除所有自定义错误。发送统一出错信息:

(2)权限控制。

终极防网马:有写入权限的目录不给执行权限,即使有webshell传上来无法运行,给执行权限的不给写入权限(即禁止上传文件)

五、结论

通过自行构建网络安全实验环境,使用在普通PC上即可进行安全测试和安全加固的实训,给信息安全课程教学提供了方便。

参考文献:

[1]阿里云web应用防火墙[EB/OL].https://cn.aliyun.com/product/waf.

[2]天融信:浅谈云WAF带来的利与弊[EB/OL].http://www.enet.com.cn/article/2014/0213/A20140213349317.shtml.

[3]解读Web应用防火墙[EB/OL].http://www.2cto.com/article/201010/77002.html.endprint

猜你喜欢
实验平台仿真信息安全
保护信息安全要滴水不漏
高校信息安全防护
生物医学工程专业创新人才培养策略
保护个人信息安全刻不容缓
信息安全