大家好,关于信息安全网站源码分享很多朋友都还不太明白,今天小编就来为大家分享关于信息安全 网站的知识,希望对各位有所帮助!
网络安全等级保护测评方案编制模板获取请:转发+评论。进主页获取更多资料。
web安全检查项清单:
web漏洞合集描述和修复建议:
漏洞分类
漏洞名称
风险级别
漏洞描述
加固建议
输入与输出验证
SQL注入漏洞
高危
当Web应用程序未对用户输入的数据进行足够的安全处理(如危险字符过滤或者语句过滤),而直接拼接SQL语句执行时,攻击者可以精心构造参数值,使服务器执行非预期的SQL语句并返回结果,造成数据库信息泄露。利用SQL注入漏洞,攻击者可获取数据库的增、删、改、查权限,甚至执行系统命令,上传后门文件等。
针对SQL注入漏洞,需要对网站所有参数中提交的数据进行过滤,禁止输入&39;&34;xor&34;or&34;–&34;34;、&34;、&34;等特殊字符;所有的查询语句都使用数据库提供的参数化查询接口,SQL语句使用参数化处理后的数据作为输入,而不是将用户输入变量嵌入到SQL语句中;严格限制网站用户对数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害;避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者收集这些错误信息进行判断进而执行SQL注入攻击。
输入与输出验证
XSS跨站脚本漏洞
高危
跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行,攻击者可利用该漏洞窃取或操纵客户会话和cookie,用来模仿合法用户,从而使攻击者获得管理员权限,控制整个网站。
1.在cookie中设置了HttpOnly属性,那么通过JavaScript脚本将无法读取到cookie信息,这样能一定程度上防止XSS攻击。2.假定所有输入都是可疑的,必须对所有输入中的script、iframe等字样进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的cookie中的变量,HTTP请求头部中的变量等。3.不仅验证数据的类型,还要验证其格式、长度、范围和内容。4.过滤“<”、“>”将用户输入放入引号间,基本实现数据与代码隔离;过滤双引号防止用户跨越许可的标记,添加自定义标记;过滤TAB和空格,防止关键字被拆分;过滤script关键字;过滤&39;&39;\\&39;foo&39;foo&39;foo&34;action:&34;redirect:&34;redirectAction:&34;action:”前缀操作时存在安全绕过漏洞,可被攻击者利用绕过某些安全限制访问受限制功能。Struts2的DynamicMethodInvocation机制是默认开启的(仅提醒用户如果可能的情况下关闭此机制)这样就存在远程代码执行漏洞,攻击者可利用此漏洞在受影响应用上下文中执行任意代码。
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
S2-032命令执行漏洞
高危
动态方法调用启用时,可能会传递一个恶意表达式,用于在服务器端执行任意代码。
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
S2-037命令执行漏洞
高危
Struts2使用Rest插件之后,ActionMapping通过org.apache.struts2.rest.RestActionMapper.java类的publicActionMappinggetMapping(HttpServletRequestrequest,ConfigurationManagerconfigManager)的方法获取的。其中,当请求url是如下的格式:actionName/id/methodName会获取methodName作为ActionMapping的method属性。但method属性未做任何处理,同S2-032漏洞执行流程一致,都是将ActionMapping的属性设置到ActionProxy中,从ActionProxy中获取method属性带入到ognl表达式中执行,通过OGNL表达式静态调用获取ognl.OgnlContext的DEFAULT_MEMBER_ACCESS属性并覆盖_memberAccess的方式进行绕过,进而可在受控制的服务器端执行任意代码。即攻击者在部署了REST插件的Struts2服务器上均可利用该漏洞远程执行任意命令
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
S2-045命令执行漏洞
高危
使用Jakarta文件上传插件的Struts,攻击者可在上传文件时通过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
S2-046命令执行漏洞
高危
使用Jakarta文件上传插件的Struts,攻击者可在上传文件的大小(由Content-Length头指定)大于Struts2允许的最大大小(2GB),文件名内容构造恶意的OGNL来触发该漏洞,进而执行系统命令。
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
S2-052命令执行漏洞
高危
Struts2REST插件使用带有XStream程序的XStreamHandler进行未经任何代码过滤的反序列化操作,这可能在反序列化XMLpayloads时导致远程代码执行。任意攻击者都可以构造恶意的XML内容提升权限。
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
JDWP远程命令执行漏洞
高危
JDWP是JavaDebugWireProtocol的缩写,它定义了调试器(debugger)和被调试的Java虚拟机(targetvm)之间的通信协议。当对外开启该协议的Java调试模式时,存在远程命令执行漏洞。允许攻击者远程执行代码,获得服务器权限。
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
ElasticSearch命令执行漏洞
高危
该漏洞存在于一个名为ElasticSearch.yml的文件,在这个文件中存在一个配置项“script.disable_dynamic”,默认为“false”。此默认配置允许服务器动态执行用户发送的任意代码。黑客只需要通过一个URL地址向服务器传送一段代码,就可以创建和执行他们自己的程序。一旦黑客获得通过,他们在服务器上的操作将不受任何限制,包括窃取网站中的用户账号及密码等敏感信息,或者留下一个后门程序。
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
Resin任意文件读取漏洞
高危
安装某些版本Resin服务器的网站存在可读取任意文件的漏洞,攻击者利用该漏洞可以读取网站服务器的任意文件内容。
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
GNUBash远程命令执行
高危
GNUBash4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。
1.升级最新版本;2.系统如果不再使用,请将其下线或用防火墙屏蔽。
配置管理
Unicode转换漏洞
高危
在Unicode在转换时,由于超长字节序列和错误格式引起子序列的安全问题。通过特殊的编码格式绕过程序对恶意字符的检测,可以用在SQL注入、XSS等。
1.升级Unicode版本至官方最新稳定版本http://www.unicode.org2.Unicode转化UTF-8编码后,对转换后进行安全检测,对特殊字符过滤或进行安全编码后输出。
配置管理
检测到网站被黑痕迹
高危
网站页面已被篡改或已有入侵痕迹。
清除网站木马,全面检测网站漏洞并及时修复。
配置管理
使用被弃用的SSL2.0协议
高危
网站https使用了SSL2.0协议。该协议非常老旧且已被弃用。该协议存在大量已知的安全漏洞,比如DROWN漏洞等。
禁用SSL2.0或者使用SSL3.0或TLS1.0代替。
配置管理
OpenSSL远程内存泄露漏洞(心脏滴血漏洞)
高危
OpenSSL是一款开放源码的SSL实现,用来实现网络通信的高强度加密。漏洞与OpenSSLTLS/DTLS传输层安全协议heartbeat扩展组件(RFC6520)相关,因此漏洞又被称为“heartbleedbug”(中文名称:“心血”漏洞)。该漏洞无需任何特权信息或身份验证,就可以获得X.509证书的私钥、用户名与密码、cookies等信息,进一步可直接从服务提供商和用户通讯中窃取聊天工具消息、电子邮件以及重要的商业文档和通信等私密数据。
升级OpenSSL版本到最新的1.0.1g;使用-DOPENSSL_NO_HEARTBEATS参数重新编译低版本的OpenSSL以禁用Heartbleed模块。
配置管理
JBossSeam参数化EL表达式远程代码执行漏洞
高危
JBossSeam是一个JavaEE5框架,把JSF与EJB3.0组件合并在一起,从而为开发基于Web的企业应用程序提供一个最新的模式。JBossSeam处理某些参数化JBossEL表达式的方式存在输入过滤漏洞(CVE-2010-1871)。如果远程攻击者能够诱骗通过认证的JBossSeam用户访问特制的网页,就可能导致执行任意代码
升级至4.3.0EL4或以上更高的、确认已修复此漏洞的版本。参考链接:https://bugzilla.redhat.com/show_bug.cgi?id=615956
配置管理
WeblogicJava反序列化远程命令执行漏洞
高危
Weblogic存在Java反序列化漏洞,攻击者可以远程执行系统命令,获得服务器权限。
及时升级官方补丁。
配置管理
JBoss反序列化漏洞
高危
根源在CommonsCollections组件中对于集合的操作存在可以进行反射调用的方法,并且该方法在相关对象反序列化时并未进行任何校验,导致远程代码执行。利用漏洞,允许攻击者远程执行系统命令,获得服务器权限,导致服务器运行安全风险。
1.针对JBossJava反序列化漏洞,建议更新jboss版本到最新版(http://www.jboss.org/)或更新官方补丁。2.针对数据库帐号密码进行修改,要求密码长度8位数以上,密码复杂程度必须包含数字、大小写字母及特殊字符。3.对服务器进行全面安全检查,及时排查、清除webshell等后门文件;及时修改数据库密码等。
配置管理
JBossJMXInvokerServlet远程命令执行漏洞
高危
Jboss在默认安装的时候,会安装http-invoker.sar站点,当请求invoker/JMXInvokerServlet或invoker/EJBInvokerServlet会调用org.jboss.invocation.http.servlet.InvokerServlet.class处理请求。该类对GET请求和POST请求,统一调用processRequest函数处理,因此,攻击者需要自己构造一个jboss的类,并且将其序列化,然后将序列化的数据直接提交到存在漏洞站点的invoker/JMXInvokerServlet页面,恶意代码将会被执行。
建议删除或禁止访问/invoker/JMXInvokerServlet文件。
配置管理
ApacheActiveMQ远程代码执行漏洞(CVE-2016-3088)
高危
ApacheActiveMQFileserver存在多个安全漏洞,可使远程攻击者用恶意代码替代Web应用,在受影响系统上执行远程代码(CVE-2016-3088)。
1.ActiveMQFileserver的功能在5.14.0及其以后的版本中已被移除。建议用户升级至5.14.0及其以后版本。2.通过移除conf\\jetty.xml的以下配置来禁用ActiveMQFileserver功能
配置管理
ApacheTomcat示例目录漏洞
高危
tomcat安装时默认的演示、文档页面,会造成信息泄露和XSS跨站脚本漏洞,攻击者可以创建、销毁或控制session。
删除相关功能演示页面。
配置管理
Tomcat版本过低漏洞
中危
Tomcat由于版本过低存在安全漏洞。
升级Tomcat版本或及时打补丁。
配置管理
S2-053命令执行漏洞
中危
ApacheStruts2Freemarker标签如果被错误的配置使用,将会导致RCE远程代码执行漏洞。
1.升级到ApacheStruts版本2.5.12或2.3.342.使用只读属性来初始化value属性(仅限getter属性)3.Freemarker标签内容不要通过Request方式获取
配置管理
HPPT.sys远程代码执行漏洞(MS15-034)
中危
远程执行代码漏洞存在于HTTP协议堆栈(HTTP.sys)中,当HTTP.sys未正确分析经特殊设计的HTTP请求时会导致此漏洞。成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。影响以下版本操作系统的IIS服务器:Windows7、Windows8、Windowsserver2008、Windowsserver2012
用户安装微软官方修复补丁(3042553)。https://support.microsoft.com/zh-cn/kb/3042553
配置管理
WebDav文件上传/信息泄露漏洞
中危
WebDAV是一种基于HTTP1.1协议的通信协议.它扩展了HTTP1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法。使应用程序可直接对WebServer文件进行读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。远程攻击者可能利用此漏洞非授权读写文件。
通常情况下网站不需要支持额外的方法,建议禁用WebDav服务,关闭PUT、MOVE、COPY等方法。
配置管理
slowhttp拒绝服务攻击
中危
如果远程攻击者使用发包工具向Apache服务器发送了不完整的HTTP请求,服务器会打开连接等待接受完整的头,但如果发包工具不再继续发送完整请求而是发送无效头的话,就会一直保持打开的连接。这种攻击所造成的影响很严重,因为攻击者不需要发送很大的通讯就可以耗尽服务器上的可用连接。也就是说,即使低带宽的用户也可以攻击大流量的服务器。
1.升级到最新版的apache2.在httpd.conf中添加RequestReadTimeoutheader=20-40,MinRate=500body=20,MinRate=5003.直接在iptables中限制每个IP的连接数可以解决以上绝大部分问题,除非攻击者拥有众多肉鸡,否则单IP的攻击将失去效果。iptables-AINPUT-ptcp–syn–dport8889-mconnlimit–connlimit-above20-jREJECT–reject-withtcp-reset
配置管理
jQuery版本过低(jQuery低版本存在跨站)
中危
jQuery1.6.3之前版本中存在跨站脚本漏洞。当使用location.hash选择元素时,通过特制的标签,远程攻击者利用该漏洞注入任意web脚本或HTML。
升级jQuery版本。
配置管理
不安全的javascript库文件
中危
该版本的javascript库存在多个安全漏洞
升级javascript库版本。
配置管理
传输层保护不足漏洞
中危
传输层保护不足,会暴露传输的数据,导致数据被窃听,账号被盗等,如果是管理员的账号面临这个问题,那么将会导致整个网站处于数据暴露的状态,将对网站和用户造成严重的甚至无法挽回的损失。
1.对所有敏感的页面使用SSL,非SSL请求的页面应该被重定向到SSL请求的页面。2.对所有敏感的Cookie,设置“secure”的flag。3.保证SSL的提供商只支持强大的算法,这样就不能够被轻易破解。(使用标准的强算法)4.确保您的证书是有效的,不过期,不被撤销,并匹配这个网站使用的所有域。5.后台和其他的连接也应该使用SSL或其他加密技术。6.即使是开发者的注释也应该很好的被保护,防止信息泄露。
配置管理
服务器启用了TRACEMethod方法
中危
1.恶意攻击者可以通过TRACEMethod返回的信息了解到网站前端的一些信息,如缓存服务器等,从而为下一步的攻击提供便利。2.恶意攻击者可以通过TRACEMethod进行XSS攻击3.即使网站对关键页面启用了HttpOnly头标记和禁止脚本读取cookie信息,那么通过TRACEMethod恶意攻击者还是可以绕过这个限制读取到cookie信息。
禁用TRACE方法。
配置管理
点击劫持漏洞(X-Frame-Options头缺失)
中危
通过覆盖不可见的框架误导受害者点击,受害者点击的是他所看到的网页,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面。
设置X-Frame-Options值来防御利用iframe嵌套的点击劫持攻击。
配置管理
启用了不安全的HTTP方法(启用了OPTIONS方法)
中危
开启了不安全的HTTP方法:DELTE/SEARCE/COPY,MOVE/PROPFIND/PROPPATCH/MKCOL/LOCK/UNLOCK/PUT,可能会在Web服务器上上载、修改或删除Web页面、脚本和文件。
如果服务器不需要支持WebDAV,请务必禁用它,或禁止不必要的HTTP方法。
配置管理
域名访问限制不严格
中危
目标存在域名访问限制不严格漏洞。Http请求的Hostname字段没有严格的域名限制,导致可以绕过一些防护措施。
配置WEB服务器,限制只能以域名形式访问服务器。
信息泄露
SVN源代码泄露
高危
造成SVN源代码漏洞的主要原因是管理员操作不规范。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。更严重的问题在于,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。
针对SVN信息泄露漏洞,建议删除WEB目录里的SVN文件或限制访问.svn目录,并升级SVN软件至1.7或以上更高版本
信息泄露
.idea工程目录信息泄露漏洞
高危
.idea目录用来放置开发工程的一些配置文件,通常是.xml文件。其中workspace.xml里面存放一些开发者个人配置,比如开发路径、开发环境等。里面包含一些敏感信息。
生产环境中删除.idea目录及该目录下的文件,或配置网站服务器禁止访问.idea目录。
信息泄露
ASP.NET_Padding_Oracle信息泄露(MS10-070)
高危
ASP.NET由于加密填充验证过程中处理错误不当,导致存在一个信息泄漏漏洞。成功利用此漏洞的攻击者可以读取服务器加密的数据,例如视图状态。此漏洞还可以用于数据篡改,如果成功利用,可用于解密和篡改服务器加密的数据。
建议将Microsoft.NETFramework更新至最新版本。
信息泄露
.git信息泄露
高危
泄露网站敏感信息,攻击者可直接获取源码信息实施进一步攻击。
删除.git目录。
信息泄露
错误页面信息泄露(应用程序错误信息)
中危
攻击者可以根据错误或警告消息收集服务器信息。
1.关闭web服务器错误提示;2.关闭运行平台的错误提示;3.建立错误机制,不要把真实的错误反馈给访问者。捕获后台抛出的异常,制定异常固定跳转页面,如500错误,跳转到相应页面,例如“系统异常请与管理员联系”,403异常,找不到页面等等。
信息泄露
备份文件泄露
中危
在网站的使用过程中,往往需要对网站中的文件进行修改、升级。此时就需要对网站整站或者其中某一页面进行备份。当备份文件或者修改过程中的缓存文件因为各种原因而被留在网站web目录下,而该目录又没有设置访问权限时,便有可能导致备份文件或者编辑器的缓存文件被下载,导致敏感信息泄露,给服务器的安全埋下隐患。
1.删除不必要的备份文件;2.设置访问权限;3.将备份文件放至服务器其它目录下。
信息泄露
目录遍历
中危
攻击者通过不指定url中的具体文件,来查看某个目录下的所有文件和目录结构。
针对目录遍历漏洞,建议通过修改配置文件,去除Web容器(如Apache)的文件目录索引功能。
信息泄露
IIS短文件名漏洞
中危
MicrosoftIIS在实现上存在文件枚举漏洞,攻击者可以利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的.NetFramework进行拒绝服务攻击。
针对IIS短文件名漏洞,建议禁止url中使用“~”或它的Unicode编码,或关闭windows的8.3格式功能。
信息泄露
源代码泄露漏洞
中危
部分或全部页面源代码泄露,攻击者可审查源代码泄露的可用信息进一步渗透。
删除源代码文件或对需要的未解析的源代码进行解析。
信息泄露
robots.txt文件泄露
中危
泄露网站敏感信息,包括网站的后台页面或其它隐私页面。
1.robots.txt文件不应用来保护或隐藏信息。2.应该将敏感的文件和目录移到另一个隔离的子目录,以便将这个目录排除在WebRobot搜索之外。如下列示例所示,将文件移到“folder”之类的非特定目录名称是比较好的解决方案:Newdirectorystructure:/folder/passwords.txt/folder/sensitive_folder/Newrobots.txt:User-agent:*Disallow:/folder/3.如果您无法更改目录结构,且必须将特定目录排除于WebRobot之外,在robots.txt文件中,请只用局部名称。虽然这不是最好的解决方案,但至少它能加大完整目录名称的猜测难度。例如,如果要排除“sensitive_folder”和“passwords.txt”,请使用下列名称(假设Web根目录中没有起始于相同字符的文件或目录):robots.txt:User-agent:*Disallow:/seDisallow:/pa。
信息泄露
敏感信息泄露
中危
敏感信息泄露一般包括:中间件、软件框架(cms)类型和版本信息,数据库表结构、网站架构、账号密码体系等等。这些信息一般在服务器错误信息、html注释、隐藏表单、示例文件等地方出现。攻击者得到这些信息,有助于缩小攻击范围,进行有针对性的更深层次的攻击。
对于一般信息泄露,删除无用页面,或删除页面中的敏感信息即可。对于敏感报错信息泄露,需要设置代码捕获异常,并抛出异常,服务端出现异常后不在客户端回显,统一返回不包含敏感信息的错误页面。
信息泄露
Github信息泄露漏洞
中危
开发人员使用Github进行代码管理。而免费用户在Github上的项目内容可在网站中检索到,并对所有用户开放可查看。泄露的敏感信息一般包括:软件源代码、程序账号密码等等。攻击者得到这些信息,可以进行代码审计,更有针对性的找到网站漏洞,甚至可以获得用户账号密码,直接登录获得用户权限。
删除敏感的Github项目代码,对可能泄露的帐号密码及时进行修改。
信息泄露
PHP探针信息泄露
中危
PHP探针文件会导致网站敏感信息泄露
删除默认安装PHP探针文件。
信息泄露
phpinfo页面泄露
中危
泄露网站服务器敏感信息,包括网站物理路径、PHP版本、服务器信息及环境变量等。
1.通过修改服务器环境内php.ini文件,将“expose_php=On”修改成“expose_php=Off”然后重启php即可。2.如果确实需要该测试信息,在测试时使用,测试完毕后将该文件删除掉。3.若无需要可以将一些php的危险函数禁用,打开/etc/php.ini文件,查找到disable_functions,添加需禁用的以下函数名:phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
信息泄露
发现隐藏目录
低危
尝试了检测服务器上的隐藏目录,403Forbidden响应泄露了存在此目录,即使不允许对其进行访问,泄露网站目录结构。
可对禁止的资源发布“404-NotFound”响应状态代码,或者将其完全除去。
信息泄露
内部IP地址泄露
低危
泄露内网IP地址
禁止将内网IP置于网站页面或代码层中。
信息泄露
OpenSSHCBC模式信息泄露漏洞
低危
配置为CBC模式,OpenSSH没有正确地处理分组密码算法加密的SSH会话中所出现的错误,导致可能泄露密文中任意块最多32位纯文本。
临时解决方案:在SSH会话中仅使用CTR模式加密算法,如AES-CTR目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:https://downloads.ssh.com/
信息泄露
未加密的登录请求
低危
检测中发现登录请求(例如:用户名、密码、电子邮件地址、社会安全号码等)被发送到服务器的过程中并未采用通讯加密协议或加密。恶意人员可通过数据截包实现网站管理员用户名、密码信息的截获。
注册或登录时,客户发送请求敏感信息进行加密,例如密码、电话、邮件等敏感信息进行加密传输。
关于信息安全网站源码分享,信息安全 网站的介绍到此结束,希望对大家有所帮助。
