96SEO 2026-02-19 22:14 9
2服务端口的合理使用3弱口令密码管理4服务端攻击4.1、短信业务文件上传等资源型接口1、文件上传下载2、短信

5客户端攻击5.1、跨站脚本XSS攻击5.1.1、知识点简介5.1.2、xss攻击防御1、Spring
使用springboot开发的应用可能存在各种使用不当导致的信息泄露和漏洞在此记录
actuator你可以选择通过使用HTTP端点或使用JMX来管理和监控你的应用程序。
dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency
/dependencies1.1、Endpoint配置启用检测
management:endpoints:web:base-path:
可用已通过访问http://127.0.0.1:port/actuator/env
获取程序运行的所有的配置信息包括application配置文件系统的默认配置等
或者直接访问http://127.0.0.1:port/actuator/heapdump下载内存分析文件。
里面可能会泄露配置的连接数据库的密码ip等信息。
management:endpoints:web:base-path:
后输入passowrd就会开始查找最终查询的结果会打印出来同时会写到当前目录下的*_output.txt文件中
management:endpoints:web:base-path:
比如需要登录后才能访问等方案3加密springboot配置application.yaml中的password等机密信息
对于mysql,redis后端的服务端口不应该暴漏给公网上只允许在内网通过前端连接后台后台连接数据库。
严格区分生产和测试数据库。
有时候为了测试方便会开放测试数据库的端口给公网注意区分生产上
对于数据库redis必须设立密码对于mysql\redis\应用的登录入口严禁使用弱密码如123456、admin123、admin\admin等常见密码非常容易被彩虹表破解。
建议设立的复杂一些后台管理系统登录
加验证码、强密码、手机号验证码等服务器的root等用户登录密码
比如可以使用一些密码生成器https://1password.com/zh-cn/password-generator密码生成器
别人恶意调用短信发送接口或者文件的上传下载。
业务被消耗下载流量持续被别人消耗,带来的是公司钱的损失
后台的相关接口除了登录注册等接口肯定是需要登陆鉴权后才能访问的这里主要针对于一些提供给第三方使用的开放接口直接公开就能访问的接口需要做的鉴权
就比如大家应该对微信登录、短信接口、支付宝支付等其他第三方服务看下别人写的对接文档接口的参数都有什么apiId,
严格判断文件类型使用白名单而不是黑名单注意大小写问题。
需要注意与Web
Server相关的漏洞所造成的问题例如Apache、IIS、Nginx
对于使用对象存储的服务应该严格限制上传下载的频率、桶的私有性各种鉴权机制
介绍SOL注入攻击是攻击者成功的向服务器提交恶意的SQL查询代码程序在接收后错误的将攻击者的输入作为查询语句的一部分执行导致原始的查询逻辑被改变额外的执行了攻击者精心构造的恶意代码。
‘1’1‘1的时候我们在查询用户名和密码是否正确的时候本来要执行的是SELECT
防御对进入数据库的特殊字符*;等进行转义处理或编码转换。
在应用发布之前建议使用专业的SQL注入检测工具如sqlmap、SQLninja进行检测以及时修补被发现的SQL注入漏洞。
避免网站打印出SQL错误信息比如类型错误、字段不匹配等容易把代码里的SQL语句暴露出来。
服务器的一些敏感信息如用户名、密码、源代码、服务器信息、配置信息等。
敏感信息加密传输后端对涉密的数据去敏感信息返回应用程序报错时不对外产生调试信息过滤用户提交的数据与特殊字符保证源代码、服务器配置的安全。
反射式XSS应用程序或API包括未经验证和未经转义的用户输入作为HTML输出的一部分。
一个成功的攻击可以让攻击者在受害者的浏览器中执行任意的HTML和JavaScript。
通常用户将需要与指向攻击者控制页面的某些恶意链接进行交互例如恶意漏洞网站广告或类似内容。
存储式XSS你的应用或者API将未净化的用户输入存储下来了并在后期在其他用户或者管理员的页面展示出来。
基于DOM的XSS会动态的将攻击者可控的内容加入页面的JavaScript框架、单页面程序或API存在这种类型的漏洞。
理想的来说你应该避免将攻击者可控的数据发送给不安全的JavaScriptAPI。
典型的XSS攻击可导致盗取session、账户、绕过MFA、DIV替换、对用户浏览器的攻击例如恶意软件下载、键盘记录以及其他用户侧的攻击。
比如在api接口传参时param或者body中的属性上传一些脚本的命令等
http://192.168.1.101/xss/example2.php?namesCriptalert(hey!)/scRipt比如body的type属性中加入脚本
\script\alert(document.cookie)\/script\
防御可以在前端和后端进行目前主流的浏览器都支持很多xss攻击的策略包括前端对参数html的转义判断后端进行xss防御等下面主要说后端的方案。
首先是过滤。
对诸如(script、img、a)等标签进行过滤。
其次是编码。
像一些常见的符号如在输入的时候要对其进行转换编码这样做浏览器是不会对该标签进行解释执行的同时也不影响显示效果。
最后是限制。
通过以上的案例我们不难发现xss攻击要能达成往往需要较长的字符串因此对于一些可以预期的输入可以通过限制长度强制截断来进行防御。
攻击是对入参或者说输出进行修改劫持内容达到目的。
因此我们需要对整个系统的提交进行过滤和转义。
还可以使用编码的形式来转义请求参数和响应体的字符来防止XSS攻击。
这里会用到Spring提供的工具类org.springframework.web.util.HtmlUtils
重写getHeader()、getParameter()、getParameterValues()、主要处理param的参数的过滤重写
getInputStream()实现对传统“键值对Json”传参方式的过滤也就是RequestBody参数
org.springframework.web.util.HtmlUtils;import
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletRequestWrapper;
XssHttpServletRequestWrapper(HttpServletRequest
{super(request);}Overridepublic
HtmlUtils.htmlEscape(value);}Overridepublic
super.getParameter(name);return
HtmlUtils.htmlEscape(value);}Overridepublic
super.getParameterValues(name);return
Stream.of(values).map(HtmlUtils::htmlEscape).toArray()
:super.getParameterValues(name);}
对MappingJackson2HttpMessageConverter
重写JsonSerializer.serialize()实现对出参的过滤
重写JsonDeserializer.deserialize()实现对入参的过滤
/system/*,/monitor/*,/tool/*5.2、CSRF
跨域攻击存在session/cookie的环境中伪造或劫持了客户的的cookie信息可能包含用于的登录信息后伪造请求进行了攻击。
跨域限制访问其实是浏览器的限制。
理解这一点很重要同源策略是指协议域名端口都要相同其中有一个不同都会产生跨域
全局配置重写WebMvcConfigurer全局配置使用注解CrossOrigin局部配置手动设置响应头
WebMvConfigurer、CrossOrigin需要SpringMVC
如果使用了局部跨域是会覆盖全局跨域的规则所以可以通过CrossOrigin
其实无论哪种方案最终目的都是修改响应头向响应头中添加浏览器所要求的数据进而实现跨域
所有解决跨域问题不外乎就是解决浏览器拦截问题要么前端设置请求头要么后端设置请求头无论谁设置请求头浏览器只要放行即可
FilterRegistrationBeanCorsFilter
CorsConfiguration();config.setAllowCredentials(true);config.addAllowedOriginPattern(*);
设置访问源地址config.addAllowedHeader(*);
设置访问源请求头config.addAllowedMethod(*);
UrlBasedCorsConfigurationSource
对象UrlBasedCorsConfigurationSource
UrlBasedCorsConfigurationSource();source.registerCorsConfiguration(/**,
WebFilterOrderEnum.CORS_FILTER);}配置springboot
伪造页面的按钮通过覆盖现有的页面内容等方式诱导用户点击是前端的攻击
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback