常见web漏洞描述及修复建议
⽂章⽬录
1、Apache样例⽂件泄漏
漏洞描述
apache⼀些样例⽂件没有删除,可能存在cookie、session伪造,进⾏后台登录操作
修复建议
1、删除样例⽂件
2、对apache中l进⾏相关设置、
2、弱⼝令
漏洞描述
由于系统中存在有弱⼝令,导致攻击者通过弱⼝令可轻松登录系统中,从⽽进⾏下⼀步的攻 击,如上传
webshell,获取敏感数据!另外攻击者利⽤弱⼝令登录⽹站管理后台,可任意增删改等操作,从⽽造成负⾯影响!
修复建议
1、建议强制⽤户⾸次登录时修改默认⼝令,或是使⽤⽤户⾃定义初始密码的策略;
2、 完善密码策略,信息安全最佳实践的密码策略为8位(包括)以上字符,包含数字、⼤ ⼩写字母、特殊字符中的⾄少3种。
3、对管理后台进⾏访问控制,修改后台弱⼝令,加强⼝令强度并定期修改。
4、增加验证机制,防爆破机制,限制ip+cookie访问次数。
3、明⽂传输登录⼝令
漏洞描述
⽤户登录过程中使⽤明⽂传输⽤户登录信息,若⽤户遭受中间⼈攻击时,攻击者可直接获取 该⽤户登录账户,从⽽进⾏进⼀步渗透。
修复建议
1、⽤户登录信息使⽤加密传输,如密码在传输前使⽤安全的算法加密后传输,可采⽤的算法包括:不可逆hash算法加盐(4位及以上随机数,由服务器端产⽣);安全对称加密算法,如AES(128、19
2、256位),且必须保证客户端密钥安全,不可被破解或读出;⾮对称加密算法,如RSA(不低于1024位)、SM2等。
2、使⽤https来保证传输的安全。
4、暴⼒破解
漏洞描述
由于没有对登录页⾯进⾏相关的防暴⼒破解机制,如⽆验证码、有验证码但验证码未在服务器端校验以及⽆登录错误次数限制等,导致攻击者可通过暴⼒破解获取⽤户登录账户及⼝令,从⽽获取⽹站登录访问权限!
修复建议
1、添加验证码机制,加⼊图⽚(验证码动态⽣成且满⾜随机性)或者验证码(验证码具备超时时限⼀般为1分钟,且在该时限内错误次数超过3次则进⾏锁定1分钟后⽅能重新获取验证码,超时后验证码⾃动失效)!
2、验证码必须在服务器端进⾏校验,客户端的⼀切校验都是不安全的!
5、SQL注⼊漏洞
漏洞描述
Web程序代码中对于⽤户提交的参数未做过滤就直接放到SQL语句中执⾏,导致参数中的特殊字符打破了SQL语句原有逻辑,⿊客可以利⽤该漏洞执⾏任意SQL语句,如查询数据、下载数据、写⼊webshell、执⾏系统命令以及绕过登录限制等。
修复建议
代码层最佳防御sql漏洞⽅案:采⽤sql语句预编译和绑定变量,是防御sql注⼊的最佳⽅法。
(1)所有的查询语句都使⽤数据库提供的参数化查询接⼝,参数化的语句使⽤参数⽽不是将 ⽤户输⼊变量嵌⼊到SQL语句中。当前⼏乎所有的数据库系统都提供了参数化SQL语句执⾏接 ⼝,使⽤此接⼝可以⾮常有效的防⽌SQL注⼊攻击。
(2)对进⼊数据库的特殊字符(’”<>&*;等)进⾏转义处理,或编码转换。
(3)确认每种数据的类型,⽐如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。
(4)数据长度应该严格规定,能在⼀定程度上防⽌⽐较长的SQL注⼊语句⽆法正确执⾏。
(5)⽹站每个数据层的编码统⼀,建议全部使⽤UTF-8编码,上下层编码不⼀致有可能导致⼀些过滤模型被绕过。
(6)严格限制⽹站⽤户的数据库的操作权限,给此⽤户提供仅仅能够满⾜其⼯作的权限,从⽽最⼤限度的减少注⼊攻击对数据库的危害。(7)避免⽹站显⽰SQL错误信息,⽐如类型错误、字段不匹配等,防⽌攻击者利⽤这些错误信息进⾏⼀些判断。
6、跨站脚本攻击(xss)漏洞
漏洞描述
1、Web程序代码中把⽤户提交的参数未做过滤或过了不严就直接输出到页⾯,参数中的特殊字符打破了HTML页⾯的原有逻辑,⿊客可以利⽤该漏洞执⾏恶意HTML/JS代码、构造蠕⾍传播、篡改页⾯实施钓鱼攻击、诱以及导⽤户再次登录,然后获取其登录凭证等。
2、XSS攻击对Web服务器本⾝虽⽆直接危害,但是它借助⽹站进⾏传播,对⽹站⽤户进⾏攻击,窃取⽹站⽤户账号信息等,从⽽也会对⽹站产⽣较严重的危害。XSS攻击可导致以下危害:
3、钓鱼欺骗:最典型的就是利⽤⽬标⽹站的反射型跨站脚本漏洞将⽬标⽹站重定向到钓鱼⽹站,或者通过注⼊钓鱼JavaScript脚本以监控⽬标⽹站的表单输⼊,甚⾄攻击者基于DHTML技术发起更⾼级的钓鱼攻击。
4、⽹站挂马:跨站时,攻击者利⽤Iframe标签嵌⼊隐藏的恶意⽹站,将被攻击者定向到恶意⽹站上、或弹出恶意⽹站窗⼝等⽅式,进⾏挂马攻击。
5、⾝份盗⽤:Cookie是⽤户对于特定⽹站的⾝份验证标志,XSS攻击可以盗取⽤户的cookie,从⽽利⽤该cookie盗取⽤户对该⽹站的操作权限。如果⼀个⽹站管理员⽤户的cookie被窃取,将会对⽹站引发巨⼤的危害。
6、盗取⽹站⽤户信息:当窃取到⽤户cookie从⽽获取到⽤户⾝份时,攻击者可以盗取到⽤户对⽹站的操作权限,从⽽查看⽤户隐私信息。
7、垃圾信息发送:在社交⽹站社区中,利⽤XSS漏洞借⽤被攻击者的⾝份发送⼤量的垃圾信息给特定的⽬标。
8、劫持⽤户Web⾏为:⼀些⾼级的XSS攻击甚⾄可以劫持⽤户的Web⾏为,从⽽监视⽤户的浏览历史、发送与接收的数据等等。
9、XSS蠕⾍:借助XSS蠕⾍病毒还可以⽤来打⼴告、刷流量、挂马、恶作剧、破坏⽹上数据、实施DDoS攻击等。
修复建议
xss漏洞本质上是⼀种html注⼊,也就是将html代码注⼊到⽹页中。那么其防御的根本就是在将⽤户提交的代码显⽰到页⾯上时做好⼀系列的过滤与转义
(1)假定所有输⼊都是可疑的,必须对所有输⼊中的script、iframe等字样进⾏严格的检查。这⾥的输⼊不仅仅是⽤户可以直接交互的输⼊接⼝,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。
(2)不仅要验证数据的类型,还要验证其格式、长度、范围和内容。
(3)不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进⾏。
(4)对输出的数据也要检查,数据库⾥的值有可能会在⼀个⼤⽹站的多处都有输出,即使在输⼊做了编码等操作,在各处的输出点时也要进⾏安全检查。
7、⽬标服务器启⽤了不安全HTTP⽅法
漏洞描述
⽬标服务器启⽤了不安全的传输⽅法,如PUT、TRACE、DELETE、MOVE等,这些⽅法表⽰可能在服务器上使⽤了 WebDAV,由于dav ⽅法允许客户端操纵服务器上的⽂件,如上传、修改、删除相关⽂件等危险操作,如果没有合理配置dav,有可能允许未授权的⽤户对其进⾏利⽤,修改服务器上的⽂件。
修复建议
1、关闭不安全的传输⽅法,推荐只使⽤POST、GET⽅法!
2、如果服务器不需要⽀持 WebDAV,请务必禁⽤它。
或者为允许webdav的⽬录配置严格的访问权限,如认证⽅法,认证需要的⽤户名,密码。
8、任意⽂件上传
漏洞描述
⽂件上传漏洞通常由于⽹页代码中的⽂件上传路径变量过滤不严或webserver相关解析漏洞未修复⽽造成的,如果⽂件上传功能实现代码没有严格限制⽤户上传的⽂件后缀以及⽂件类型,攻击者可通过 Web 访问的⽬录上传任意⽂件,包括⽹站后门⽂件(webshell),进⽽远程控制⽹站服务器。
攻击者可通过此漏洞上传恶意脚本⽂件,对服务器的正常运⾏造成安全威胁!
修复建议
1、对上传⽂件类型进⾏限制,并且不能只做前端的限制,⽽要前端和后端⼀起限制,后端可以进⾏扩展名检测,重命名⽂件,MIME类型检测以及限制上传⽂件的⼤⼩,或是将上传的⽂件放在安全的路径下,尽量放于webserver之外的远程服务器等。
2、严格限制和校验上传的⽂件,禁⽌上传恶意代码的⽂件。同时限制相关⽬录的执⾏权限,防范webshell攻击。
3、对上传⽂件格式进⾏严格校验及安全扫描,防⽌上传恶意脚本⽂件;
4、设置权限限制,禁⽌上传⽬录的执⾏权限;
5、严格限制可上传的⽂件类型;
6、严格限制上传的⽂件路径。
7、⽂件扩展名服务端⽩名单校验。
8、⽂件内容服务端校验。
9、上传⽂件重命名。
10、隐藏上传⽂件路径。
9、测试页⾯泄漏在外⽹
漏洞描述
⼀些测试页⾯泄漏到外⽹,导致外界误传公司被⿊客⼊侵,影响公司声誉。
修复建议
删除测试页⾯以及⽆⽤⽂件,例如i,phpinfo.php,info.pho, .svn/entries等。
10、⽬录浏览
漏洞描述
由于服务器端配置不当,开启了⽬录浏览,⿊客可获得服务器上的⽂件⽬录结构,从⽽下载敏感⽂件。
修复建议
1.通过修改配置⽂件,去除中间件(如IIS、apache、tomcat)的⽂件⽬录索引功能
2.设置⽬录权限
3.在每个⽬录下创建⼀个空的index.html页⾯。
11、phpinfo信息泄漏
漏洞描述
Web站点的某些测试页⾯可能会使⽤到PHP的phpinfo()函数,会输出服务器的关键信息,从⽽造成信息泄露,通过获取的信息可进⾏下⼀步的攻击计划!
修复建议
删除该PHP⽂件!
12、未授权访问
漏洞描述
由于没有对相关敏感页⾯进⾏访问权限的检查,导致攻击者可未授权访问,从⽽获取敏感信息及进⾏未授权操作等!
修复建议
对相关页⾯进⾏严格的访问权限的控制以及对访问⾓⾊进⾏权限检查!
13、越权访问
漏洞描述
由于没有对⽤户访问⾓⾊的权限进⾏严格的检查及限制,导致当前账号可对其他账号进⾏相关操作,如查看、修改等!
修复建议
对⽤户访问⾓⾊的权限进⾏严格的检查及限制!
14、命令执⾏漏洞
漏洞描述
命令执⾏漏洞是指代码未对⽤户可控参数做过滤,导致直接带⼊执⾏命令的代码中,对恶意构造的语句,可被⽤来执⾏任意命令。⿊客可在服务器上执⾏任意命令,写⼊后门,从⽽⼊侵服务器,获取服务器的管理员权限,危害巨⼤。
修复建议
严格过滤⽤户输⼊的数据,禁⽌执⾏⾮预期系统命令!
webserver接口开发15、应⽤程序错误信息泄露
漏洞描述
⿊客可通过特殊的攻击向量,使web服务器出现500、404等相关错误,导致信息泄漏如绝对路径、webserver版本、源代码、sql语句等敏感信息,恶意攻击者很有可能利⽤这些信息实施进⼀步的攻击。
修复建议
1、⾃定义错误页⾯或归⼀化错误页⾯信息提⽰!
2、修正代码!
16、LDAP注⼊
漏洞描述
由于Web 应⽤程序没有对⽤户提供的输⼊进⾏适当过滤和检查,攻击者便有可能修改LDAP 语句的结构,并且以(例如:数据库服务器、Web 应⽤程序服务器、Web 服务器)的权限执⾏任意命令,许可权可能会允许查询、修改或除去 LDAP 树状构造内任何数据。
修复建议
对⽤户的输⼊进⾏严格的过滤及检查,并且对类型也进⾏检查!
17、⽂件包含漏洞
漏洞描述
本地⽂件包含是指程序代码在处理包含⽂件的时候没有严格控制。利⽤这个漏洞,攻击者可以先把上传的静态⽂件,或⽹站⽇志⽂件作为代码执⾏,或者包含远程服务器上的恶意⽂件,进⽽获取到服务器权限。
修复建议
1、严格检查变量是否已经初始化。
2、对所有输⼊提交可能包含的⽂件地址,包括服务器本地⽂件及远程⽂件,进⾏严格的检查,参数中不允许出现…/之类的⽬录跳转符。
3、严格检查include类的⽂件包含函数中的参数是否外界可控。
4、不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进⾏。
18、⽹站敏感压缩⽂件泄露
漏洞描述
误将⽹站备份⽂件或是敏感信息⽂件存放在某个⽹站⽬录下,外部⿊客可通过暴⼒破解⽂件名等⽅法下载该备份⽂件,导致⽹站敏感信息泄露。
修复建议
1、不要在⽹站⽬录下存放⽹站备份⽂件或敏感信息的⽂件。
2、如需存放该类⽂件,请将⽂件名命名为难以猜解的字符串。
19、CRLF HTTP 头部注⼊漏洞
漏洞描述
CRLF 是“回车 + 换⾏”(\r\n)的简称。在 HTTP 协议中,HTTPHeader 与 HTTP Body 是⽤两个 CRLF 符号进⾏分隔的,浏览器根据这两个 CRLF 符号来获取 HTTP 内容并显⽰。因此,⼀旦攻击者能够控制 HTTP 消息头中的字符,注⼊⼀些恶意的换⾏,就能注⼊⼀些会话 Cookie 或者 HTML 代码。
修复建议
过滤 \r 、\n 之类的换⾏符,避免输⼊的数据污染到其他 HTTP 消息头。
20、URL 跳转漏洞
漏洞描述
Web 程序直接跳转到参数中的 URL ,或页⾯引⼊任意的开发者 URL,被攻击者利⽤可实施钓鱼攻击等操作。
修复建议
在控制页⾯转向的地⽅校验传⼊的URL是否为可信域名。
21、l 配置不当
漏洞描述
⽹站根⽬录下的 l ⽂件指明了远程 Flash 是否可以加载当前⽹站的资源( 图⽚、⽹页内容、Flash等)。如果配置不当,可能导致遭受跨站请求伪造(CSRF)攻击。
修复建议
对于不需要从外部加载资源的⽹站,在 l ⽂件中更改allow-access-from的domain属性为域名⽩名单。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论