做网站的市场有那么大吗,漯河调整最新通告,网络营销策略的概念有哪些,手机销售网站怎么做的渗透测试【一】#xff1a;渗透测试常见问题 1、问题清单2、问题现象及解决办法2.1、点击劫持2.2、用户枚举2.3、Springboot未授权访问2.4、Swagger未授权访问2.5、Host头注入2.6、任意文件上传2.7、敏感路径泄露2.8、跨域资源共享2.9、Spring Cloud Gateway RCE2.10、Content… 渗透测试【一】渗透测试常见问题 1、问题清单2、问题现象及解决办法2.1、点击劫持2.2、用户枚举2.3、Springboot未授权访问2.4、Swagger未授权访问2.5、Host头注入2.6、任意文件上传2.7、敏感路径泄露2.8、跨域资源共享2.9、Spring Cloud Gateway RCE2.10、Content-Security-Policy 头缺失漏洞2.11、内网IP信息泄露2.12、Nacos身份认证绕过QVD-2023-6271漏洞2.13、Nacos未授权CVE-2021-29441漏洞 1、问题清单
渗透测试碰到的问题清单汇总
序号漏洞名称危险等级1点击劫持低危2用户枚举低危3Springboot未授权访问高危4Swagger未授权访问中危5Host头注入中危6任意文件上传高危7敏感路径泄露低危8跨域资源共享中危9Spring Cloud Gateway RCE高危10Content-Security-Policy 头缺失漏洞中危11内网IP信息泄露低危12Nacos身份认证绕过漏洞高危13Nacos未授权-cve-2021-29441漏洞高危
2、问题现象及解决办法
2.1、点击劫持
现象通过点击劫持payload进行检测看是否可以在页面上覆盖标签。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/login!DOCTYPE html
html
head
meta charsetutf-8
title劫持测试/title
/head
bodyiframe srchttp://xxx.xxx.xxx.xxx:8080/login width500 height500 frameborder10 /iframe
/body
/html漏洞危害攻击者利用该漏洞精心构造web页面引诱客户端增删改查自己的系统信息点击劫持技术如果结合其他漏洞进行攻击将突破某些安全措施实现更大范围的攻击。 安全建议 1、添加X-Frame-Options机制或使用FrameBusting代码。 处理 修改nginx配置文件在http部分添加【add_header X-Frame-Options sameorigin always;】
2.2、用户枚举
现象攻击者可以通过Burp爆破模块或者web弱口令爆破脚本实施爆破从而得出用户名密码完成系统登陆。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/auth/login 1、提示用户名存在密码错误2、提示用户名不存在 漏洞危害 攻击者可以通过尝试登陆网页回复信息判断用户名/账户是否存在如果网页回复信息如下 • 客户端请求输入“有效的用户名/错误的密码”-“服务器回答“密码不正确”• 客户端请求输入“错误的用户名/错误的密码”-“服务器回答“用户名不存在” 通过上述答复攻击者就能知道第一次请求的是一个有效的用户名利用该漏洞枚举有效用户列表通过暴力破解、社工等方式对有效用户进行攻击。安全建议在系统登录认证失败时服务器回复内容统一使用“用户名或密码错误”而不是直接返回“用户不存在”“密码错误”等信息。 处理 统一返回用户名或密码错误
2.3、Springboot未授权访问
现象攻击者可以通过Springboot未授权界面获取敏感信息从而进行渗透特别是heapdump文件下载以后利用解密工具可获取数据库账户密码等敏感信息。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/actuator/ 漏洞危害可以获取敏感信息进行深入渗透。 安全建议建议对该页面进行访问权限设置。 处理 网关中关闭未授权的url
2.4、Swagger未授权访问
现象攻击者可以通过Swagger未授权访问页面获取敏感信息从而深入渗透。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/v2/api-docs利用Springboot插件进行扫描成功获取Springboot未授权页面URL 漏洞危害可以获取敏感信息进行深入渗透。 安全建议建议对该页面进行访问权限设置。 处理 网关中关闭未授权的url
2.5、Host头注入 现象攻击者通过伪造HTTP请求的Host头信息来欺骗服务器让服务器误以为请求来自攻击者指定的合法网站从而达到攻击的目的。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/auth/login 存在Host头注入漏洞通过修改host头为X.X.X.X仍然正常回显 漏洞危害攻击者通过伪造HTTP请求的Host头信息来欺骗服务器让服务器误以为请求来自攻击者指定的合法网站从而达到攻击的目的。。 安全建议 1、更新注入检查规则 需要对网站服务器进行漏洞检测及时更新注入检查规则。可以使用安全扫描工具对网站的防护技术进行评估在发现风险之后及时补全并对Web应用程序代码进行深入分析。平时需要及时关注最新的漏洞信息将反黑客技术应用到实际工作中。 2、禁止空主机头请求 检测到攻击者用这种方式开始攻击您的服务器处理的方法之一是在 Web 服务器级别拒绝所有空主机名请求。当处理空主机头的请求时Web 服务器就可以完成了根据请求内容进行针对性验证。 3、采用反向代理 采用具有 Web 特征的反向代理这种方法能够限制入侵者使用受感染的 HTTP 包伪造主机名连接到前端Web服务。反向代理可以识别非正常HTTP流量并将其纠正为正常HTTP流量。 4、集中化实行访问控制 使用集中化访问控制造成的巨大的风险是不太可能避免的。使用集中化客户端访问控制方案显然可以大大减少 Web 服务器要像递归扫描缓存或服务器负载平衡器等组件 proxy代理服务器这些操作通常只能在特殊的条件下完成。 5、安装合适的安全工具和软件 最重要的是必须安装合适的安全工具和软件来完善安全机制以保证服务器的稳定性和安全性免受 host 主机头攻击的危害。安装web应用防火墙、网络防火墙、安全漏洞扫描、入侵检测等安全工具和软件对系统进行全面的安全检测及时发现潜在的风险。 处理nginx.conf增加如下内容
# host头注入漏洞修复 start
if ($http_Host !~* (xxx.xxx.xxx.xx1:8080|xxx.xxx.xxx.xx2:8080)){return 403;}# host头注入漏洞修复 end2.6、任意文件上传
现象攻击者可以文件上传接口构造恶意shell完成木马文件上传从而完成对服务器的控制。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/auth/login 漏洞危害攻击者可以文件上传接口构造恶意shell完成木马文件上传从而完成对服务器的控制。 安全建议 1)服务器端将文件上传目录直接设置为不可执行。 2)文件类型检查建议使用白名单方式比黑名单更可靠并结合MIME Type、后缀检查等方式文件类型做白名单限制。此外对于图片的处理可以使用压缩函数或resize函数处理图片的同时破坏其包含的HTML代码。 3)使用随机数改写文件名和文件路径使得用户不能轻易访问自己上传的文件。 4)单独设置文件服务器的域名。 5)验证文件内容使用正则匹配恶意代码过滤恶意代码各种绕过方式如大小写、BASE64编码限制上传。 6)修复服务器可能存在的解析漏洞。 7)严格限制可以修改服务器配置的文件上传如.htaccess。 8)隐藏上传文件路径。 9)升级Web Server。 10)及时修复Web上传代码。 11)不能有本地文件包含漏洞。 12)注意0x00截断攻击PHP更新到最新版本 处理后台校验文件类型。
2.7、敏感路径泄露
现象攻击者可以通过上传任意文件从而获取上传根目录路径进而进行深入渗透。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/auth/login 漏洞危害攻击者精心构造报错页面通过详细报错信息提取敏感数据包内容从而有针对性的进行利用。例如报错页面泄露系统信息中间件版本为攻击者提供更多的攻击途径和方法攻击者利用报错页面泄露的敏感文件物理路径执行文件包含、读取任意文件等。 安全建议 1、编码时增加异常处理模块。 2、错误及异常的统一收集并处理禁止直接抛出详细报错信息。 举例关闭PHP页面中的错误提示 如果有修改php.ini的权限则在php.ini中找到display_errors 设置display_errorsOn开启PHP错误提示 设置display_errorsOff关闭PHP错误提示 如果没有修改php.ini的权限可以在php页面中增加如下代码 //关闭PHP错误提示 ini_set(“display_errors”, “Off”); //开启PHP错误提示 ini_set(“display_errors”, “On”); 3、报错页面隐藏服务器、中间件指纹信息。 处理后台返回信息隐藏敏感路径相关信息
2.8、跨域资源共享 现象目标存在CORS跨资源共享漏洞对方管理员在没有退出自己所管理的网站的情况下点击恶意攻击者已经构造好的恶意网站攻击者可以修改Origin字段为任意指定的值实现绕过浏览器同源策略的限制基于CORS漏洞发起恶意请求实现对目标资源的恶意跨域访问并读取服务器的响应结果从而造成服务器的信息泄露 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/auth/login 漏洞危害目标存在CORS跨资源共享漏洞对方管理员在没有退出自己所管理的网站的情况下点击恶意攻击者已经构造好的恶意网站攻击者可以修改Origin字段为任意指定的值实现绕过浏览器同源策略的限制基于CORS漏洞发起恶意请求实现对目标资源的恶意跨域访问并读取服务器的响应结果从而造成服务器的信息泄露。 安全建议 1、正确配置跨域请求如果Web资源包含敏感信息则应在Access-Control-Allow-Origin标头中正确指定来源。 2、只允许信任的网站。 3、避免将null列入白名单避免使用标题Access-Control-Allow-Origin: null。 处理nginx.conf增加如下内容
# cors 跨域漏洞修复 start
set $allow_cors 0;
if ($http_origin)
{set $allow_cors 1;
}
if ($http_origin !~* (xxx.xxx.xxx.xx1|xxx.xxx.xxx.xx2))
{set $allow_cors ${allow_cors}1;
}
if ($allow_cors 11){return 403;
}
# cors 跨域漏洞修复 end2.9、Spring Cloud Gateway RCE 现象Spring Cloud Gateway是Spring中的一个API网关。其3.1.0及3.0.6版本包含以前存在一处SpEL表达式注入漏洞当攻击者可以访问Actuator API的情况下将可以利用该漏洞执行任意命令。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/actuator/gateway/routes 漏洞危害Spring Cloud Gateway是Spring中的一个API网关。其3.1.0及3.0.6版本包含以前存在一处SpEL表达式注入漏洞当攻击者可以访问Actuator API的情况下将可以利用该漏洞执行任意命令。 安全建议 1、更新升级Spring Cloud Gateway版本 2、在不考虑影响业务的情况下禁用actuator接口management.endpoint.gateway.enablefalse处理网关关闭actuator接口
2.10、Content-Security-Policy 头缺失漏洞
现象缺少Content-Security-Policy头会增加网站遭受XSS攻击、数据泄露、点击劫持和恶意内容加载等安全风险的可能性。使用该头可以帮助保护网站免受这些攻击和风险。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/auth/login 漏洞危害缺少Content-Security-Policy头会增加网站遭受XSS攻击、数据泄露、点击劫持和恶意内容加载等安全风险的可能性。使用该头可以帮助保护网站免受这些攻击和风险。安全建议 1、第一种修改 nginx 配置文件 在nginx.conf 配置文件中增加如下配置内容add_header Content-Security-Policy default-src self localhost:8080 unsafe-inline unsafe-eval blob: data: ;;2、第二种通过网页的meta标签 meta http-equiv“Content-Security-Policy” content“style-src ‘self’ ‘unsafe-inline’;script-src ‘self’ ‘unsafe-inline’ ‘unsafe-eval’ https://webapi.amap.com https://restapi.amap.com https://vdata.amap.com https://appx/web-view.min.js;worker-src blob:” 该指令说明允许自身css、js和高德地图api、地图数据。 CSP 指令说明 default-src : 定义针对所有类型js/image/css/font/ajax/iframe/多媒体等资源的默认加载策略如果某类型资源没有单独定义策略就使用默认的。 script-src : 定义针对 JavaScript 的加载策略。 style-src : 定义针对样式的加载策略。 worker-srcworker脚本。 img-src : 定义针对图片的加载策略。 font-src : 定义针对字体的加载策略。 media-src : 定义针对多媒体的加载策略例如:音频标签audio和视频标签video。 object-src : 定义针对插件的加载策略例如object、embed、applet。 child-src : 定义针对框架的加载策略例如 frame,iframe。 connect-src : 定义针对 Ajax/WebSocket 等请求的加载策略。不允许的情况下浏览器会模拟一个状态为400的响应。 sandbox : 定义针对 sandbox 的限制相当于 iframe的sandbox属性。 report-uri : 告诉浏览器如果请求的资源不被策略允许时往哪个地址提交日志信息。 form-action : 定义针对提交的 form 到特定来源的加载策略。 referrer : 定义针对 referrer 的加载策略。 reflected-xss : 定义针对 XSS 过滤器使用策略。
处理修改nginx配置文件在http部分添加【Content-Security-Policy “default-src ‘self’ localhost:8080 ‘unsafe-inline’ ‘unsafe-eval’ blob: data: ;”;】
2.11、内网IP信息泄露
现象对攻击者而言泄露内部 IP 非常有价值因为它显示了内部网络的 IP 地址方案。知道内部网络的 IP 地址方案可以辅助攻击者策划出对内部网络进一步的攻击。比如攻击者获取边界机shell权限后利用泄露的内部IP可以刺探企业内网。 漏洞URLhttp://xxx.xxx.xxx.xxx:8080/test/druid/basic.json 漏洞危害对攻击者而言泄露内部 IP 非常有价值因为它显示了内部网络的 IP 地址方案。知道内部网络的 IP 地址方案可以辅助攻击者策划出对内部网络进一步的攻击。比如攻击者获取边界机shell权限后利用泄露的内部IP可以刺探企业内网。 安全建议 1、关闭Web 应用程序/服务器中有问题的详细错误消息。 2、确保内部 IP 信息未留在 HTML/JavaScript 注释中。 3)、禁止cookie中携带内网IP 。 4)、限制IP直接访问项目本身。 处理网关关闭druid接口
2.12、Nacos身份认证绕过QVD-2023-6271漏洞 现象漏洞原理为开源服务管理平台 Nacos在默认配置下未对 token.secret.key 进行修改导致远程攻击者可以绕过密钥认证进入后台造成系统受控等后果。 处理修改配置文件application.properties application.config,nacos.core.auth.plugin.nacos.token.secret.key将默认值修改为自定义key【自定义key要求原始密钥长度不低于32字符推荐配置项设置为base64编码的字符串】Linux上对字符串进行base64编码命令 echo SecretKey_FUCK_XXXXXXXX012345678|base64 自定义key的原始密钥 SecretKey_FUCK_XXXXXXXX012345678 Base64编码之后的字符串 U2VjcmV0S2V5X0ZVQ0tfWFhYWFhYWFgwMTIzNDU2NzgK 修改后 application.config,nacos.core.auth.plugin.nacos.token.secret.keyU2VjcmV0S2V5X0ZVQ0tfWFhYWFhYWFgwMTIzNDU2NzgK 特别注意 application.conf修改完后不要重启nacos直接在nacos页面修改一次密码。如果未修改密码重启nacos会导致登录户名密码错误。
2.13、Nacos未授权CVE-2021-29441漏洞 现象利用上述漏洞添加用户 http://xxx.xxx.xxx.xxx:8848/nacos/v1/auth/users?usernamecrowpasswordcrowcurl -XPOST -d “usernamecrowpasswordcrow” “http://xxx.xxx.xxx.xxx:8848/nacos/v1/auth/users” 处理修改配置文件application.properties 1、 将nacos.core.auth.enabledfalse改为true
2、将nacos.core.auth.enable.userAgentAuthWhitetrue 改为false
3、nacos.core.auth.server.identity.key自定义的值nacos.core.auth.server.identity.value自定义的值