2024网站渗透测试报告.docx
网站渗透测试报告XXX公司2024年3月文档控制文档基本信息项目名称文档名称创建者审核创建时间2024年X月XX日审核时间2024年X月XX日文档修订信息版本修正章节日期作者变更记录1.0全部创建1.1部分增加目录3一 .概述61.1 背景61.2 范围61.3 原则61.4 目的61.5 所用工具7二 .测试概述8三 .渗透测试结果93. 1HTTP慢速拒绝服务攻击91) 漏洞简介92) UR1./IP.93) 漏洞验证94) 风险分析105) 风险等级106) 安全建议103.2XSS13D漏洞简介134) 风险分析145) 风险等级146) 安全建议143.3 受诫礼(BAR-MITZVAH)攻击161) 漏洞简介162) UR1./IP.163) 漏洞验证164) 风险分析175) 风险等级176) 安全建议173.4 目录便利171) 漏洞简介172) UR1./IP.183) 漏洞验证184) 风险分析185) 风险等级186) 安全建议183. 5内网IP地址泄露191) 漏洞简介192) UR1./IP.194) 风险分析195) 风险等级196) 安全建议19四.整体风险评价201.l背景受XX的委托,XX公司于2024年X月XX日对其门户网站进行了渗透测试。1.2范围经过和项目组的沟通,确定了下列信息资产作为渗透测试的对象。对象名称域名或IPXXXhttp:/lhttp:/2http:/31. 3原则3渗透测试具有一定的风险,为把风险降至最低,需遵守一定原则,这也是本次测试中测试组所遵守的最高准则,一切测试行为都是在不违背此原则的情况下进行的。该原则具体如下:保证测试操作在不影响目标业务正常运营的情况下进行,对目标(包括目标配置信息、数据库信息、文件信息等)只进行读取操作,禁止进行写入操作,或者只在负责人允许的范围内进行写入操作。但由于本次测试是在黑盒模式下进行,程序逻辑对于测试人员不透明,因此,测试人员只在己知的逻辑范围内遵守以上原则,同时也承认风险的存在。1.4目的通过模拟黑客的渗透测试,评估目标系统是否存在可以被攻击者真实利用的漏洞以及由此引起的风险大小,为制定相应的安全措施与解决方案提供实际的依据。本次渗透测试验证目标系统抵御非法入侵和攻击行为的能力,并非完整的安全测试或漏洞审计。因此,本次测试所涉及的漏洞是网站所有漏洞的子集,而非全部。1.5所用工具工具名称工具简介IBMAppScan是一个面向Web应用安全检测的自动化工具,使用它可以自动化检测Web应用的安全漏洞,比如跨站点脚本攻击(CrossSiteScriptingFlaws)、注入式攻击(InjectionFlaws)、失效的访问控制(BrOkenAccessControl)缓存溢出问题(BUfferOverflows)等等。这些安全漏洞大多包括在OWASP(OpenWebApplicationSecurityProject,开放式Web应用程序安全项目)所公布的Web应用安全漏洞中。WWWSCAN款优秀的网站目录扫描工具。虽然扫描速度并不快,但是运行相当稳定。配合渗透测试团队多年积累的数据字典,挖掘隐藏目录的能力非常强大。NosecPangolin诺赛科技出品的一款强大的SQ1.注入工具,支持多种网站环境。另外附带了MD5破解,网站后台扫描功能。Nessus一款B/S构架的系统漏洞扫描工具,它的运行依赖于插件,扫描速度快,更新及时。NSFOCUSRSAS绿盟远程安全评估系统(简称:NSFOCUSRSAS)是绿盟科技开发的漏洞管理产品,通过该产品能够发现信息系统存在的安全漏洞、安全配置问题、应用系统安全漏洞,检查系统存在的弱口令,收集系统不必要开放的账号、服务、端口,并形成整体安全风险报告。AWVSAcunetixWebVulnerabilityScanner(简称AwVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。Jsky提供网站漏洞扫描服务,能够有效的查找出网站中的漏洞;并提供网站漏洞检测服务。Sqlmap一款高级渗透测试用的自动化SQ1.注入工具,其主要功能是扫描,发现并利用给定的UR1.进行SQ1.注入漏洞。Burpsuite是用于攻击WEB应用程序的继承平台,它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。MetasploitMetasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在MetaSPIoit和综合报告提出了他们的发现二.测试概述本次针对XXX进行的渗透测试工作共发现存在安全漏洞6个,其中高风险漏洞3个,中风险漏洞1个,低风险漏洞2个。建议根据本次测试结果中的安全建议进行整改加固,以提高网络的整体安全性。序号应用漏洞名称风险分析数量级别1HTTP慢速拒绝服务攻击堵塞Web服务,让所有浏览该网站的人无法正常访问该网站,影响请求当前应用服务的所有用户已经当前应用服务本身。I2XSS影响目标网站用户,易造成账户失窃;数据信息被读取、篡改、添加或者删除;非法转账;强制发送电子邮件;受控向其他网站发起攻击等。13XXX受诫礼(BARMITZVAH)攻击明文窃取通过SS1.和T1.S协议传输的机密数据,诸如银行卡号码,密码和其他敏感信息。1I4目录便利攻击者可以直接访问网站的目录,从而可以了解网站整体框架,降低攻击成本。1中5内网IP地址泄露使得攻击者能够进一步的内网业务及应用,从而降低攻击成本。2低I三.渗透测试结果3.1 HTTP慢速拒绝服务攻击D漏洞简介拒绝服务攻击即攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把非法用户的连接复位,影响合法用户的连接。2)UR1./IP>http:/3)漏洞验证hi,真不巧,网页走丢了。图1漏洞证明截图图2漏洞证明截图4)风险分析堵塞Web服务,让所有浏览该网站的人无法正常访问该网站,影响请求当前应用服务的所有用户已经当前应用服务本身。严重情况可导致服务器宕机。5)风险等级高6)安全建议购买必要的防ddos攻击硬件设备针对不同的Server其对慢速http拒绝服务攻击防范方法也不同,建议使用以下措施防范慢速http拒绝服务攻击:WebSphere1、限制HTTP数据的大小在WebSPhereApplicationServer中进行如下设置:任何单个HTTP头的默认最大大小为32768字节。可以将它设置为不同的值。HnP头的默认最大数量为500可以将它设置为不同的限制值。另一种常见的DOS攻击是发送一个请求,这个请求会导致一个长期运行的GET请求。WebSphereApplicationServerPlug-in中的ServerIOTimeoutRetry属性可限制任何请求的重试数量。这可以降低这种长期运行的请求的影响。设置限制任何请求正文的最大大小。详见参考链接。2、设置keepalive参数打开ibmhttpSerVer安装目录,打开文件夹Conf,打开文件httpd.conf,查找KeepAlive值,改ON为OFF,其默认为ONo这个值说明是否保持客户与HnPSERVER的连接,如果设置为ON,则请求数到达MaxKeepAliveRequests设定值时请求将排队,导致响应变慢。Weblogic1、在配置管理界面中的协议->一般信息下设置完成消息超时时间小于4002、在配置管理界面中的协议->H11P下设置POST超时、持续时间、最大POST大小为安全值范围。Nginx1、通过调整$正口肥Stjnethod,配置服务器接受http包的操作限制;2、在保证业务不受影响的前提下,调整ClientJnaX_body_size,client_body_buffer_size,client_header_buffer_size,large_cIient_header_buffersclient_body_timeout,client_header_timeout的值,必要时可以适当的增加;3、对于会话或者相同的ip地址,可以使用HttP1.imitReqMOdUIeandHttp1.imitzoneMoclule参数去限制请求量或者并发连接数;4、根据CPU和负载的大小,来配置WorkejProCeSSeS和worker_connections的值,公式是:max_cIients=worker_processes*worker_connectionsoApache建议使用mod_reqtimeout和mod_qos两个模块相互配合来防护。1、mod_reqtimeout用于控制每个连接上请求发送的速率。配置例如:# 请求头部分,设置超时时间初始为10秒,并在收到客户端发送的数据后,每接收到500字节数据就将超时时间延长1秒,但最长不超过40秒。可以防护Slowloris型的慢速攻击。RequestReadTimeoutheader-10-40,minrate=500# 请求正文部分,设置超时时间初始为10秒,并在收到客户端发送的数据后,每接收到500字节数据就将超时时间延长1秒,但最长不超过40秒。可以防护slowmessagebody型的慢速攻击。RequestReadTimeoutbody=10-40,minrate=500需注意,对于HnPS站点,需要把初始超时时间上调,比如调整到20秒。2、m。C1.qoS用于控制并发连接数。配置例如:# 当服务器并发连接数超过600时,关闭keepaliveQS_SrVMaxConnClose600# 限制每个源IP最大并发连接数为50QS-SrvMaxConnPerIP50这两个数值可以根据服务器的性能调整。IHS服务器请您先安装最新补丁包,然后启用mod_reqtimeout模块,在配置文件中加A:1.oadModulereqtimeout_modu1emodules/mod_reqtimeout.so为mod_reqtimeout模块添加配置:# IfModulemod_reqtimeout.c>RequestReadTimeoutheader-10-40,MinRate=500body-10-40,MinRate-500<IfModule>对于HTTPS站点,建议header=20-40,MinRate=500o参见:http:WwW-OF5负载均衡修复建议F5负载均衡设备有相应的防护模块,如无购买可参考附件中的详细配置过程。关于F5的慢速攻击防护配置,请参考以下链接:https:/support,us/solutions/public/10000/200/sol10260.html3.2XSSD漏洞简介跨站脚本(cross-sitescripting,XSS)是一种安全攻击,其中,攻击者在看上去来源可靠的链接中恶意嵌入译码。当有人点击链接,嵌入程序作为客户网络要求的一部分提交并且会在用户电脑上执行,一般来说会被攻击者盗取信息。动态回复包括用户输入数据在内的错误信息这种网络形式使得攻击者可能改变控制结构和/或页面的行为。攻击者用多种方式进行攻击,如通过在论坛信息或垃圾邮件信息链接中嵌入密码。攻击者可能用电邮诈骗假装可信来源。2)UR1./IP>http:/23)漏洞验证1.mg示::/VOIHAiftiK,关于切人事S及©关业务«WMIraf演评&O,fWRtW*MMWMHD,XTKA5!WWE-WW,浜州IRkUOI,生RI忠谈金,关于美事噬器HQ,关JHa班墉号喻人员人W,W7MHX*t三W美不拿关于W207年度与叠技术人员堪飞三图3漏洞证明截图4)风险分析为了搜集用户信息,攻击者通常会在有漏洞的程序中插入JavaScript、VBScript.ACtiVeX或FIaSh以欺骗用户(详见下文)。一旦得手,他们可以盗取用户帐户,修改用户设置,盗取/污染cookie,做虚假广告等。每天都有大量的XSS攻击的恶意代码出现。三部曲1 HTM1.注入。所有HTM1.注入范例只是注入一个JavaScript弹出式的警告框:alert(1)02 坏事。如果您觉得警告框还不够刺激,当受害者点击了一个被注入了HTM1.代码的页面链接时攻击者能作的各种的恶意事情。3 捕受害者。5)风险等级高6)安全建议来自应用安全国际组织OWASP的建议,对XSS最佳的防护应该结合以下两种方法:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。具体如下:输入验证:某个数据被接受为可被显示或存储之前,使用标准输入验证机制,验证所有输入数据的长度、类型、语法以及业务规则。输出编码:数据输出前,确保用户提交的数据已被正确进行entity编码,建议对所有字符进行编码而不仅局限于某个子集。明确指定输出的编码方式:不要允许攻击者为你的用户选择编码方式(如ISO8859-1或UTF8)0注意黑名单验证方式的局限性:仅仅查找或替换一些字符(如<>或类似SCriPt的关键字),很容易被XSS变种攻击绕过验证机制。警惕规范化错误:验证输入之前,必须进行解码及规范化以符合应用程序当前的内部表示方法。请确定应用程序对同一输入不做两次解码。建议过滤出所有以下字符:UI(竖线符号)&(&符号);(分号)4 $(美元符号)5 %(百分比符号)6 (at符号)(单引号)8 (引号)9 '(反斜杠转义单引号)10 (反斜杠转义引号)11 <>(尖括号)12()(括号)13 +(加号)14 CR(回车符,ASCIIOxOd)15 1.F(换行,ASCIIOxOa),(逗号)17 (反斜杠)3.3受诫礼(BAR-MITZVAH)攻击D漏洞简介BarMitZVah攻击实际上是利用了不变性漏洞”,这是RC4算法中的一个缺陷,它能够在某些情况下泄露SS1./T1.S加密流量中的密文,从而将账户用户名密码,信用卡数据和其他敏感信息泄露给黑客。2) UR1./IP>http:/33)漏洞验证AcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedAcceptedT1.SVI.GT1.Svl.0T1.Svl.T1.Svl.GT1.Svl.T1.Svl.T1.Svl.T1.Svl.T1.Svl.T1.Svl.T1.Svl.T1.Svl.T1.Svl.T1.Svl.T1.Svl.T1.Svl.T1.Svl.555S222222221111122221111111111111bitsbitsbitsbitsbitsbitsbitsbitsbitsbitsbitsbitsbitsbitsbitsbitsbitsADH-AES256-SHAADH-CAME1.1.IA256-SHAAES256-SHACAME1.1.IA256-SHAECDHE-RSA-AES128-SHADHE-RSA-AES128-SHADHE-RSA-CAME1.1.IA128-SHAAECDH-AES128-SHAADH-AES128-SHAADH-CAME1.1.IA128-SHAAES128-SHACAME1.1.IA128-SHAECDHE-RSA-DES-CBC3-SHAEDH-RSA-DES-CBC3-SHAAECDH-DES-CBCa-SHAADH-DES-CBC3-SHADES-CBC3-SHADHE1224bitsDHE124bitsCurveP-256DHE256DHE1024bitsDHE1024bitsCurveP-256DHE256DHE124bitsDHE124bitsCurveP-256DHE256DHE124bitsCurveP-256DHE256SS1.Certificate:SignatureAlgorithm:sha256WithRSAEncryptionRSAKeyStrength:248Subject:Issuer:图4漏洞证明截图(绿色的代表安全、黄色的代表警告、红色的代表危险)7a:5fExponent:65537(0xl0l)XS9v3Extensions:X5Q9v3SubjectKeyIdentifier:79:90:DE:4D:OD:ED:C8:C1:F7:20:66:A3:58:C5:24:67:C2:6A:38:F7X59v3AuthorityKeyIdentifier:keyid:79:9Q:DE:4D:0D:ED:C8:C1:F7:20:66:A3:58:C5:24:67:C2:6A:38:F7DirName:/C=CN/ST=Zhejiang1.=Hangzhou0=DptechOU=DptechCN=ZeinailAddress=Sserial:A9:DA:90:5C:AA:68:03:88X59v3BasicConstraints:CA:TRUEVerifyCertificate:selfsignedcertificateSS1.Certificate:SignatureAlgorithm:,;一RSAKeyStrength:2048Subject:WWIssuer:Notvalidbefore:图5漏洞证明截图4)风险分析作为浏览器的使用者,你可以让浏览器只能访问支持T1.S1.2协议的站点,以获得更好的安全性,以及更差的体验。作为服务器的维护者,似乎将最强壮的CiPher排在前面是正确的选择。SS1.证书部署成功后,检查服务器端的加密套件,在安全检查中,常常被报出的问题之一就是服务器默认的CiPher太弱(RC4-based)。5)风险等级高6)安全建议更换加密算法,不推荐使用RC4加密算法(2015年就已经被成功破解)。3.4目录便利D漏洞简介目录遍历漏洞就是程序在实现上没有充分过滤用户输入的./之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。这里的目录跳转符可以是.也可以是./的ASCII编码或者unicode编码等。2)UR1./IP>http:/43)漏洞验证WdmetoBIazeOS*TheB*ze06kat>cns«eav*aWe.tthe,oMOWmURB:C¾o¼AookMWTarPIateAodcaoOn图6漏洞证明截图4)风险分析攻击者可以直接访问网站的目录,从而可以了解网站整体框架,降低攻击成本。严重的目录便利漏洞甚至可以跨目录访问数据库文件直接下载数据库,可以得到管理员的账户密码和各种各样的敏感信息。甚至还能访问到Cmd目录下进行命令执行,对服务器造成严重的危害。5)风险等级中6)安全建议防范目录遍历攻击漏洞,最有效的办法就是权限控制,谨慎处理传向文件系统APl的参数。最好的防范方法就是组合使用下面两条:1、净化数据:对用户传过来的文件名参数进行硬编码或统一编码,对文件类型进行白名单控制,对包含恶意字符或者空字符的参数进行拒绝。2、Web应用程序可以使用ChrOoted环境包含被访问的Web目录,或者使用绝对路径+参数来访问文件目录,时使其即使越权也在访问目录之内。www目录就是一个chroot应用。3.5内网IP地址泄露D漏洞简介内网IP地址泄露即在外网的已经上线的相关应用上泄露了内网的相关应用的IP地址。2)UR1./IP>http:/5>http:/63)漏洞验证、.3;'?1rf<*IMvrN11Ma.U*.WbW>rf4*.图7漏洞证明截图4)风险分析如果可以依据时间找到其他漏洞配合(如csrf、ssrf),在已经了解当前网段的情况下,可以根据网段内容发送邮件给内部人员点击或直接到达单位内网里面连接到内网访问内网里面的业务有可能拿到内网的数据等风险。5)风险等级低6)安全建议不要把在外网业务上的链接写成链接到内网业务上去的地址。四.整体风险评价从理论上讲,只要攻击者投入足够多的甚至无限多的成本,他一定能突破防御体系,获得成功。但实际上,当攻击者所投入的成本因为强壮的防御体系而不断增加,直到与入侵成功后所获得的利益相等后,他便会对目标失去兴趣,从而放弃入侵。该原则是我们下面计算防御值和防御等级的一个重要依据。渗透测试是安全专业人员模拟黑客入侵,对待测系统或网站进行的较安全的渗透性测试。旨在检测待测系统或网站应对通常意义的黑客入侵的防御能力,最终评定其防御级别,以下过程阐述了防御等级的鉴定算法(本次评价结果依据公司自有评价方法,整体风险评价结果仅供参考)。下表表示了本次渗透测试的成果,及其对应的成果总价值。表1脆弱性赋值原则是否取得入侵成果成果价值总价值未获取任何权限O获取少量的目标配置信息(3条以下)1获取很多目标配置信息2获取了敏感的目标配置信息3影响目标系统服务的可用性(拒绝服务)6获取了数据库的部分控制权限10获取了数据库的最高控制权限15获取了网站后台的管理权限722获取了网站目录的部分读写权限5目标网站可以进行跨站(盗取用户数据)7获取了目标网站的列目录权限6获取了控制网站目录的权限8可查看目标网站少量源代码3可下载目标网站的数据库15目标网站存在SQ1.注入10能够对目标服务器造成损害10能够使目标服务器宕机(拒绝服务)15获得了服务器的任意命令执行权限20获取了控制数据库服务器的最高权限15获取了控制整个网站的最高权限15获取了域控制器的部分控制权限25获取了域控制器的最高权限30下表表示了本次入侵所投入的总成本,计算方法为:投入成本=投入人数*工作时间C投入人数时间段持续时间累计(时)投入成本1防御值是最终评定防御等级的标准。计算方法为:防御值二成果总价值/总成本,并且依据下表赋值,得出相应的防御等级。防御值防御等级描述7W,V无限大极为脆弱水平较低的攻击者使用开源免费的黑客工具即可对待测网站造成威胁。4.5,<7I脆弱一般水平的攻击者使用免费开源的工具投入不i多的精力即可对待测网站造成威胁3,<4.5弱一般水平的攻击者使用免费开源的工具需投入较大的精力才能对目标网站造成威胁2,<3一般具备一定水平的攻击者使用自己开发的工具或收费工具花费不大的精力便可以对目标网站造成威胁。!1,<2!I强具备相当实力的攻击者使用自我编写的、收费i的或少范围内使用的工具花费不大的精力才能三对待测网站造成威胁具备相当实力的攻击者使用零口漏洞或投入大量的精力才能对待测网站造成威胁。根据先前计算出的入侵的“成果总价值”与投入的“总成本”,算出目标系统的防御值为2.2,依据上表规定,该系统的防御等级为:一般。