首先简单描述一下系统情况:采用的技术struts1.2,EJB3.0,另外公司以前封装了一套jsp标签;应用服务器jboss4.0.2;数据库为SQL Server2005。
目前我还有2类问题还没有解决—1:会话标识未更新
2:发现数据库错误模式
希望有解决过此类问题的大虾们,能给予一点帮助!
在此先行谢过!!
系统将近验收的时候,对方发过来一份安全报告- -我们开发的系统有安全漏洞,让我们把漏洞级别为严重的全部解决,否者不予验收。对于这些问题,公司其它项目组包括我都没有人曾经做过(也就是说系统从开始打框架到后来的开发过程没有任何人注意这些问题)。此时脑海浮现一句较为经典的网语“内事问baidu,外事问google…”。经过几天的搜索,简单描述一下我对以下几个安全问题的理解:
1 发现数据库错误模式:主要是一些数据连接错误信息,通过提交特殊构造的字符,程序会暴露一些数据库信息,也容易引起SQL注入攻击。
2 会话标识未更新:是cookies过期时间未设置,可能会引发一些cookies欺骗攻击。
3 跨站点请求伪造:这个是高级攻击技术,是黑客作为中间人攻击,这个漏洞是程序造成的,在不同的会话中两次发送同一请求并且收到相同的响应,也就是说客户端与服务端建立连接后,客户端向服务端提交数据,服务端只认客户端需要什么而返回什么内容给客户端,并没有对客户端的身份进行认证。
4 不充分帐户封锁:程序没有使用锁定功能,可以穷举密码。
5 跨站点脚本编制:实际翻译应该是跨站脚本攻击。也就是XSS,是服务端没有对客户端提交的参数进行过滤,例如:2009>%22%27><img%20src%3d%22javascript:alert(473443)%22>,这个就会弹出一个窗口,还可以弹出其他页面,或者做页面跳转等攻击,通常攻击者用来挂马。
6 SQL 盲注也是要对参数进行过滤,包括危险字符,‘,;@,==,而且通过cookies提交的值也要进行过滤。
以下内容是我解决这些问题的过程
首先找了个IBM Rational AppScan 7.8的破解版装上
(一) 既然http访问有问题安全,那么我换个安全点的https试了试,结果发现严重级别的没有减少,反而严重程度为一般的倒是增加了好几类,晕!(jboss4.0.2配置https服务的步骤在压缩文件里面)
(二) 对于sql盲注有一下2种情况
1:http://172.16.200.219:9090/project/projectmemberaction.do (2)
code
name
2:http://172.16.200.219:9090/system/orgbaseinfoaction .do (3)
TcnSystemOrgDto.code
TcnSystemOrgDto.fullname
TcnSystemOrgDto.addrss
[(2)(3)分别表示该链接下面漏洞注入的个数]
我针对安全扫描的提示,逐个修改了对数据库列表及查询的操作,使其全部采用prepareStatement预编译的方式。因为系统涉及到的页面太多,对于用户输入框的过滤就不可能一个一个的去修改,因此我写了个filter(见附件)
做完这些之后,再继续扫描,发现第1种注入问题已经解决,然而第2种问题依旧,而且每次扫描的链接还不一样,正在苦恼之际看到CSDN上有个如下的帖子
彻底杜绝SQL注入
1.不要使用sa用户连接数据库
2、新建一个public权限数据库用户,并用这个用户访问数据库
3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限
4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×”
其原文见如下路径 http://topic.csdn.net/u/20091221/18/6693545C-A659-4E3B-9454-EBB77D6C8D1F.html
至此,SQl盲注问题就已经解决。(前面的那个过滤器是否多余?这个问题还没来得及验证)
(三) 对于XSS问题,网上给的意见同样是过滤用户的输入。系统都在验收的阶段,哪有时间对输入框去做限制呢!同样写个filter(代码见附件)
(四) 对于不充分的账户封锁
我在登录页面加了一个验证码,在扫描的时候,发现appscan无法扫描,原来在这个工具有个地方设置为自动登录,我加上验证码后,Appscan无法流畅的运行,于是固定了登录action中关于验证的参数。这个问题就没有出现,奇怪???我屏蔽了验证参数的比较,因而页面验证码输入框只是一个摆设,这个问题怎么就没有了呢??
至此,我遇到的安全问题还有2类没有解决
一个是会话标识未更新,这个问题出现的地方是在登录的链接(附件有图片)
我试过在登录的login.jsp页面加上session="false"
1:<%@ page contentType="text/html; charset=GBK" language="java" session="false"%>
在系统登录过程中也没有操作cookie,而且系统其他的地方也没有操作cookie,在登录的时候我设置了cookies[i].setMaxAge(1800);也没有任何作用。
2:在jboss\server\default\deploy\jbossweb-tomcat55.sar\context.xml
修改其配置为<Context cookies="false">在登录的过程中确实没有创建名为JSEESION的cookie,但是“会话标识未更新”这个问题依然存在!!
是我的方法不对吗?还是我根本没有理解“会话标识未跟新”的意思?
另外一个未解决的安全问题是发现数据库错误模式,这个问题出现在另外一个系统,该系统采用Struts2+ Hibernate3开发
分享到:
相关推荐
以上介绍了十款常用的 Web 安全扫描工具,它们各自的特点和应用场景有所不同,可以根据实际需求选择合适的工具来进行 Web 安全测试。通过这些工具的帮助,企业和组织可以更有效地保护自己的 Web 应用免受外部威胁。
主要讲述一个利用IBM软件进行软件的安全测试,主要针对网站的安全方面的课件。
SQL注入安全扫描是一种重要的网络安全实践,它涉及到对Web应用程序的检测,目的是找出并修复可能导致SQL注入漏洞的问题。SQL注入是黑客利用的一种常见攻击手段,通过输入恶意的SQL代码到应用程序的输入字段,来操纵...
- **网络安全扫描的重要性**:随着互联网的快速发展和普及,网络安全问题日益突出。网络安全扫描作为一种主动防范措施,能够帮助用户及时发现网络中的安全隐患,有效提升网络安全防护能力。 - **开发背景**:鉴于...
录制脚本是AppScan的一个重要环节,它允许用户模拟用户交互行为,以便捕获和测试安全问题。录制完成后,记得保存脚本,并以有意义的名字命名,以便后续管理和识别。扫描过程中,如果遇到服务器断开或连接问题,可能...
### 安全扫描报告模版知识点 #### 一、概述 - **渗透测试范围与对象**:本报告针对的是XXXX有限公司网上营业厅官方网站系统(http://www.*.js.ct10000.com)。测试时间从2011年2月15日至2月25日,对象主要包括网上...
在扫描过程中,用户可以选择保存扫描结果,并在扫描结束后进行“扫描-仅测试”,以便捕获和分析安全漏洞。 AppScan的界面清晰地展示了扫描进度、漏洞类型以及具体的漏洞信息,这有助于测试人员理解问题的严重性并...
伴随着互联网技术的普及与应用,网络安全问题已经上升到国家安全的层次;放眼世界,近些年电力、石油、汽车制造的等基础性行业遭到网络入侵的事件屡见不鲜,可以说没有网络安全就没有国家安全。对于水电厂而言,一旦...
### Veracode应用程序安全扫描工具知识点详解 #### 一、Veracode简介 - **公司定位**:Veracode是一家专注于应用程序安全领域的公司,致力于为客户提供全面的应用程序安全测试及补救服务。 - **核心价值**:通过...
网络安全扫描与网络测试是保障信息系统安全的重要环节,而监测则为持续监控系统状态,及时发现潜在威胁提供了可能。本报告将深入探讨这两个关键领域,并结合实际的课程设计,提供一个全面的理解。 一、网络安全扫描...
使用的测试工具包括AppScan、AWVS、Fortify和sonarqube,这些工具用于静态代码扫描和Web程序安全测试。 测试流程包括信息收集、安全测试、成果收集、威胁分析和报告输出五个阶段,这是一个全面的评估过程。在结论与...
#### 在选择应用程序安全扫描工具前需要考虑的问题: 1. **内部部署条件与培训** - **条件考量**:企业是否具备条件在内部部署并维护应用程序安全扫描工具?是否能够对所有的开发人员进行使用该工具的培训? - *...
御剑后台扫描工具是为众多从事网络工作并担任网络安全管理职位的人制作的一款后台安全扫描工具,它能帮你实时监控后台文件的安全性,防御网站风险,为您网站的正常运作提供最大的保障。t00ls大牛的作品,很强大的...
4. **插件定制**:通过 NASL(Nessus Attack Scripting Language),用户可以编写自己的安全测试脚本,定制扫描行为以满足特定安全需求。 5. **SSL 支持**:Nessus 完全支持 SSL(Secure Socket Layer),确保了在...
Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的Web网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。AWVS是渗透测试的常用工具,操作简单
对于免费版的用户,在创建完安全测试后,需要手动为测试用例中的每个测试步骤添加安全扫描及其断言。关于如何添加安全扫描,可以进一步查阅相关文档或在线资源。 #### 执行安全测试 运行测试前,请确保目标服务...
Goby是一款专为渗透测试设计的资产扫描工具,它能够帮助安全专家识别网络中的可利用资产,从而提前防范潜在的安全风险。在本文中,我们将深入探讨Goby的特性和功能,以及如何有效地使用它进行资产扫描。 Goby是一款...
综上所述,安全扫描链的设计探讨不仅仅局限于技术层面的挑战,也涉及到信息安全与测试效率之间的平衡问题。随着技术的发展和安全需求的不断提高,相关研究将继续深入,为芯片设计者提供更多的安全保障。
**AppScan 8.7:服务器安全扫描利器** AppScan 8.7 是一款专业的服务器安全扫描工具,专为确保企业服务器的安全性而设计。它提供了全面的分析功能,能够帮助系统管理员检测并修复潜在的安全漏洞,从而保护服务器免...
在这一过程中,安全测试团队必须具备对新出现的安全问题快速响应的能力,并能够及时地更新测试方案和安全策略,以维护软件系统的安全性。 总结而言,安全性测试是一项复杂的任务,它要求我们不仅要掌握相关的技术...