IKUN
发布于 IP属地浙江省

Web常见安全漏洞类型及修复建议整理

随着互联网应用的不断发展,Web系统已经成为企业信息服务的重要组成部分。然而,由于开发过程中安全防护不足或配置不当,系统中往往会存在各种安全漏洞,如SQL注入、XSS、文件上传漏洞等。这些漏洞一旦被攻击者利用,可能导致数据泄露、系统被入侵等严重后果。本文整理了常见的Web安全漏洞类型,并对其漏洞描述及修复建议进行了汇总,以表格形式进行展示,既可以作为渗透测试人员编写报告时的参考资料,也能够帮助企业安全人员在发现漏洞后进行针对性的修复与加固。
漏洞名称 漏洞描述 修复建议
SQL注入 Web程序中对于用户提交的参数未做过滤直接拼接到SQL语句中执行,导致参数中的特殊字符破坏SQL语句原有逻辑。攻击者可以执行任意SQL语句,如查询数据、下载数据、写入WebShell、执行系统命令以及绕过登录限制等。 使用预编译SQL语句和参数化查询;对特殊字符进行转义;严格校验数据类型和长度;统一系统编码(如UTF-8);限制数据库账户权限;避免返回SQL错误信息;过滤危险关键字如 unionsleepselect 等。
XSS Web程序对用户输入未进行严格过滤,攻击者可以插入恶意HTML或JavaScript代码,从而篡改页面、窃取Cookie或实施钓鱼攻击。 对用户输入进行严格过滤和校验;对输出内容进行HTML或JS编码;避免仅在客户端进行验证,关键过滤应在服务器端完成。
CSRF 跨站请求伪造攻击,攻击者诱导用户在已登录状态下向目标网站发送恶意请求,从而执行用户不知情的操作。 校验请求来源 Referer;在请求中加入随机 Token 并在服务器端进行校验。
SSRF 服务器端请求伪造,攻击者通过构造请求让服务器访问内部或外部资源,从而获取敏感信息或扫描内网。 仅允许HTTP/HTTPS协议;使用URL白名单;限制访问内网地址;限制端口;统一错误信息。
任意命令/代码执行 程序未对用户输入进行过滤,导致用户可控参数被带入系统命令或代码执行函数中,从而执行任意命令。 严格过滤用户输入;避免使用危险函数;执行命令前进行参数检测。
任意文件上传 文件上传功能未对文件类型或内容进行校验,攻击者可上传WebShell并控制服务器。 限制文件类型;检测MIME类型;限制文件大小;文件重命名;禁止上传目录执行权限;使用白名单验证。
目录遍历 程序未对文件路径参数进行过滤,攻击者利用 ../ 跳出目录限制读取系统文件。 过滤 ../ 等路径回溯字符;限制访问文件类型。
文件包含 程序在包含文件时未严格控制路径,攻击者可以包含恶意文件或日志文件执行代码。 检查输入参数;禁止出现目录跳转符;确保文件路径不可控。
弱口令 用户账户使用简单密码,攻击者可通过猜测密码直接登录系统。 强制密码策略(8位以上、包含数字大小写及符号);首次登录修改密码;增加验证码机制。
暴力破解 登录接口没有验证码或次数限制,攻击者可以不断尝试密码组合。 限制登录次数;锁定IP或账号;增加验证码;服务器端验证。
越权访问 系统未对用户权限进行严格校验,用户可以访问或修改其他用户数据。 严格权限校验;通过Session或Token验证身份。
未授权访问 网站敏感页面没有进行登录或权限校验。 对所有敏感接口进行权限验证。
列目录 服务器开启目录浏览功能,攻击者可查看服务器文件结构。 禁用目录索引;限制目录访问权限。
PHP反序列化 程序未对序列化字符串进行验证,攻击者可控制反序列化过程执行恶意代码。 对输入对象进行严格检查;避免用户控制反序列化数据。
CRLF注入 攻击者在HTTP头中插入 \r\n,从而伪造HTTP响应或注入Cookie。 过滤 \r\n 字符。
URL跳转 程序根据用户输入URL进行跳转,可能导致钓鱼攻击。 校验URL域名;使用白名单限制跳转地址。
LDAP注入 未过滤用户输入导致LDAP查询语句被篡改。 对输入内容进行严格过滤。
明文传输 用户登录信息以明文方式传输,可能被中间人攻击窃取。 使用HTTPS;密码加密传输。
网页木马 网站被植入WebShell,攻击者可以直接远程控制服务器。 删除木马文件;检查日志;修复漏洞。
备份文件泄露 网站备份文件存放在Web目录,攻击者可直接下载。 不在Web目录存放备份;文件名随机化。
敏感信息泄露 页面或响应包泄露服务器信息或系统路径。 删除测试页面;隐藏敏感信息。
短信/邮件轰炸 接口未限制发送频率,可被恶意调用。 限制发送频率。
phpinfo信息泄露 phpinfo页面暴露服务器配置。 删除phpinfo页面。
IIS短文件名泄露 IIS存在短文件名枚举漏洞,攻击者可猜测服务器文件。 关闭NTFS 8.3文件名支持。
应用程序错误信息泄露 错误页面返回服务器路径或SQL语句。 自定义错误页面。
Tomcat默认文件 Tomcat示例页面未删除可能被利用。 删除默认示例文件。
Crossdomain配置不当 crossdomain.xml配置错误导致跨站访问。 使用域名白名单。
不安全HTTP方法 服务器开启PUT、DELETE等方法可能导致文件被修改。 禁用不安全HTTP方法。
Redis未授权访问 Redis未设置密码导致可被远程访问。 设置密码;禁止外网访问;限制高危命令。
浏览 (26)
点赞
收藏
打赏
评论