实例网站技术脆弱性分析Word下载.doc
《实例网站技术脆弱性分析Word下载.doc》由会员分享,可在线阅读,更多相关《实例网站技术脆弱性分析Word下载.doc(9页珍藏版)》请在冰豆网上搜索。
扫描
只具备浏览和查看功能
1.1.3漏洞统计
共发现漏洞31个:
SQL注入 1个(高风险)
账户安全策略不足2个(高风险)
会话标识未更新 1个(高风险)
程序代码漏洞 1个(高风险)
跨站脚本XSS4个(中风险)
检测到BEAWebLogic1个(中风险)
登陆请求未加密6个(中风险)
检测到隐藏目录10个(低风险)
HTML注释泄密3个(低风险)
发现可高速缓存的登录页面2个(低风险)
其中:
高风险漏洞5个
中风险漏洞11个
低风险漏洞15个
1.2网页漏洞评估
1.2.1SQL注入
漏洞名称:
SQL注入
风险等级:
高
漏洞类型:
脚本程序漏洞
漏洞描述:
经过简单的测试发现在统计分析->
工号操作统计->
工号登录统计下的工号对话框存在很多十分致命的注入漏洞,通过此类的安全漏洞我们在互联网区远程得到了该web服务器的主机最高控制权。
以下是安全工程师测试中发现的严重注入漏洞:
通过SQL探测字符串输入‘OR‘1’=’1并查询,返回得到数据库中所有用户的内容
临时性
解决方案
对文件中带入SQL语句的变量,应该使用replace函数剔除特殊字符,如下所示:
replace(id,"
'
"
"
)
;
--"
("
)
这样把特殊字符过滤之后,就可以防止黑客通过输入变量提交有效的攻击语句了。
相关内容:
我们可以利用以上的注入漏洞从互联网得到这台服务器的最高控制权,也就是相当于进入了xxxx省xxxxxxxxx内网,并且可以对内网的所有电脑主机发动攻击,但是因为渗透测试只是点到为止的安全测试服务,所以我们发现了该严重风险并没有继续利用(如有需要可以现场演示)。
以下是利用注入漏洞以最高管理员身份进入该服务器桌面的截图:
1.2.2账户安全策略不足
账户安全策略不足
配置问题
未限制账户登录失败次数,易遭受暴力攻击。
输入无效的用户名和密码,应用程序返回不同的错误信息时,攻击者可以反复试验(暴力攻击)来发现有效的用户名,再继续尝试发现相关联的密码。
临时解决方案
一、当某账户的尝试登陆次数进行限制,例如超过3次密码错误则对该账户封锁10分钟。
二、对每个错误的登录尝试发出相同的错误信息,不管是哪个字段发生错误,特别是用户名和密码。
1.2.3会话标识未更新
会话标识未更新
Web应用程序编程或配置不安全
1. http:
//211.94.128.125/spms/jsp/frame/login.do
2. http:
//211.94.128.125/spms/jsp/rights/operator.do
登录过程前后会话标识的比较,显示它们并未更新,这表示有可能伪装用户。
始终生成新的会话,供用户成功认证时登录。
防止用户操纵会话标识。
请勿接受用户浏览器登录时所提供的会话标识。
1.2.4程序代码漏洞
程序代码漏洞
脚本程序问题
点击个人工号管理,将func_code由001007(个人工号管理)改为001006(系统工号管理),并在COOKIE后加上“"
--”,结果查看到了需要高权限才能看到的系统工号管理。
完善代码,并做一些字符过滤等。
1.2.5跨站脚本XSS
跨站漏洞XSS
中
//211.94.128.125/spms/jsp/frame/login.do
在个人工号管理下,点击修改密码,将tree-value修改为saomiao"
>
<
script>
alert("
11"
);
<
/script>
--。
Web站点中所包含的脚本直接将用户在HTML页面中的输入(通常是参数值)返回,而不预先加以清理。
如果脚本在响应页面中返回由JavaScript代码组成的输入,浏览器便可以执行输入中的代码。
因此,有可能形成指向站点的若干链接,且其中一个参数是由恶意的JavaScript代码组成。
该代码将在站点上下文中(由用户浏览器)执行,这授权它通过用户浏览器访问用户所拥有的站点Cookie以及站点的其他窗口。
过滤输入变量的“’”、“<
”、“>
”符号
如下图
1.2.6检测到BEAWebLogic
检测到BEAWebLogic管理界面
将url路径设为http:
//211.94.128.125/console/index.jsp
可能会升级用户特权并通过Web应用程序获取管理许可权。
WebLogic服务器包含若干管理用途的应用程序:
/AdminMain、/AdminProps、/AdminRealm、webguitop.html和/console/index.jsp。
攻击者可以访问其中一或多个应用程序,也许能够更改Web站点的配置。
样本利用:
//[SERVER]/AdminMain
//[SERVER]/AdminProps
//[SERVER]/AdminRealm
//[SERVER]/console/index.jsp
//[SERVER]/webtopgui.html
限制访问管理控制台,倘若不需要,请将它除去。
1.2.7登陆请求未加密
登录请求未加密
Web配置不安全
//211.94.128.125/spms/jsp/frame/login.do
登录请求把诸如用户名和密码等敏感字段未经加密及进行传输,攻击者可以窃听网络以劫获这些敏感信息。
建议进行例如SSH等的加密后再传输。
1.2.8检测到隐藏目录
检测到隐藏目录
低
//211.94.128.125/spms/
检测到spms/下存在/config/,/css/,/help/,/images/,/js/,/jsp/,/jsp/statistics/,/logs/,/sbin/,/upload/等目录
Web应用程序显现了站点中的目录。
虽然目录并没有列出其内容,但此信息可以帮助攻击者发展对站点进一步的攻击。
例如,知道目录名称之后,攻击者便可以猜测它的内容类型,也许还能猜出其中的文件名或子目录,并尝试访问它们。
内容的敏感度越高,此问题也可能越严重。
如果不需要禁止的资源,请将其从站点中除去。
可能的话,请发出改用“404-找不到”响应状态代码,而不是“403-禁止”。
这项更改会将站点的目录模糊化,可以防止泄漏站点结构。
1.2.9HTML注释泄密
HTML注释信息泄密
代码不安全
//211.94.128.125/spms/js/date.js
//211.94.128.125/spms/jsp/frame/top.jsp
删除所有相关注释
很多Web应用程序程序员使用HTML注释,以在需要时帮助调试应用程序。
尽管添加常规注释有助于调试应用程序,但一些程序员往往会遗留重要数据(例如:
与Web应用程序相关的文件名、旧的链接或原非供用户浏览的链接、旧的代码片段等)。
1.2.10发现可高速缓存的登录页面
发现可高速缓存的登录页面
缺省情况下,大部分Web浏览器都配置成会在使用期间高速缓存用户的页面。
这表示也会高速缓存登录页面。
不建议让Web浏览器保存任何登录信息,因为当有漏洞存在时,可能会危及这个信息。
[1]请勿在HTML注释中遗留任何重要信息(如文件名或文件路径)。
[2]从生产站点注释中除去以前(或未来)站点链接的跟踪信息。
[3]避免在HTML注释中放置敏感信息。
[4]确保HTML注释不包括源代码片段。
[5]确保程序员没有遗留重要信息。