当前位置: 首页 > news >正文

做pc端网站咨询西充县住房和城乡建设局网站

做pc端网站咨询,西充县住房和城乡建设局网站,wordpress分享 赞插件,查询网站服务器类型目录 一、什么是跨站脚本攻击#xff08;XSS#xff09; 二、通常有哪些解决方案 三、常见的XSS攻击例子有哪些 3.1 存储型XSS攻击#xff08;黑产恶意截流#xff0c;跳转不法网站#xff09; 3.2反射型XSS攻击#xff1a; 四、什么是跨站请求伪造#xff1f; 五…目录 一、什么是跨站脚本攻击XSS 二、通常有哪些解决方案 三、常见的XSS攻击例子有哪些 3.1 存储型XSS攻击黑产恶意截流跳转不法网站 3.2反射型XSS攻击 四、什么是跨站请求伪造 五、常用跨站请求伪造解决方案有哪些 六、Springboot3.x整合Antisamy解决存储型XSS攻击 6.0 需求描述 6.1 Antisamy和Jsoup选型 6.2 Antisamy整合Springboot3.x详细步骤 第一步:引入pom.xml 第二步根据源码中的xml文件自定义自己需要的 第三步:将xml文件加载进Spring容器中 第四步:因Antisamy处理过文本后会默认在标签最后加入\n 所以加入这步骤去除\n 第五步:方法调用 第六步:方法调用中的后处理 一、什么是跨站脚本攻击XSS XSS攻击是指攻击者将恶意脚本注入到Web页面中当用户访问被注入的页面时 恶意脚本会在用户浏览器中执行从而窃取用户的敏感信息或进行其他恶意操作。 二、通常有哪些解决方案 对用户输入进行有效的过滤和验证特别是在展示用户输入内容时。 使用安全的编码机制如HTML编码和URL编码。 对Cookie设置HttpOnly属性限制脚本访问敏感信息。 阻止不受信任的域名或URL的内容插入到页面中 三、常见的XSS攻击例子有哪些 3.1 存储型XSS攻击黑产恶意截流跳转不法网站 攻击者将恶意脚本存储在目标网站的数据库中当其他用户访问包含该恶意脚本的页面时脚本会被执行 这种攻击利用了网站对用户输入的不当处理比如某个商品的评论列表用户进入这个页面则自动跳去其他页面 script   var maliciousCode alert(你的账户信息已被攻击请输入密码并发送给攻击者);   // 假设这里是漏洞存在的页面用户的输入没有进行过滤或转义   var userInput Hello, maliciousCode;   document.getElementById(content).innerHTML userInput; // 恶意脚本被存储并执行 /script 3.2反射型XSS攻击 攻击者通过诱使受害者点击包含恶意脚本的特制链接将恶意脚本作为参数传递给目标网站 网站在返回响应时会将恶意脚本包含在其中并被浏览器执行 !-- 假设这里是漏洞存在的搜索页面用户的输入没有进行过滤或转义 -- form action/search methodGET   input typetext namequery value   button typesubmit搜索/button /form !-- 攻击者构造的恶意链接 -- a href/search?queryscriptalert(你的账户信息已被攻击请输入密码并发送给攻击者)/script点击此处获取免费礼品/a 四、什么是跨站请求伪造 跨站请求伪造Cross-Site Request ForgeryCSRF是一种利用受信任的用户身份执行未经授权的操作的攻击方式。 攻击者通过伪造请求利用用户在目标网站中的登录状态来执行恶意操作或窃取用户的敏感信息 五、常用跨站请求伪造解决方案有哪些 引入CSRF令牌token并将其包含到表单或请求中,校验Referer头部确保请求来自合法的来源。 String csrfToken UUID.randomUUID().toString(); response.addCookie(CookieUtil.generateCookie(_csrf_, csrfToken)); 使用验证码、双因素身份验证、HTTPS等也是增加安全性的有效措施以确保用户与目标网站的交互是安全和可信的 启用SameSite属性限制Cookie的发送防止未经用户许可的跨站请求。 六、Springboot3.x整合Antisamy解决存储型XSS攻击 6.0 需求描述 支持对输入的文本内容支持自定义标签属性拦截(比如 输入的内容中不可以包含BUTTON、INPUT) 支持对输入内容进行正则过滤(比如 img标签中 文件地址只可以是jpg后缀结尾的) 6.1 Antisamy和Jsoup选型 Antisamy是什么 AntiSamy是一个开源的Java库主要用于防止跨站脚本攻击XSS和CSS注入攻击。它通过对用户输入的HTML和CSS进行验证和清理确保其中不包含恶意代码 Jsoup是什么  Jsoup是一个用于处理HTML的Java库它提供了非常方便的API允许用户解析、修改和清理HTML文档。Jsoup专注于HTML的解析和操作而不直接涉及安全性验证。 单纯从标签的转义拦截上2者都是可以的当前需求中包含正则过滤等要求使用Jsoup实现比较麻烦需要二次代码覆盖开发固调研后采用Antisamy。  6.2 Antisamy整合Springboot3.x详细步骤 Antisamy源码地址:https://github.com/nahsra/antisamy/tree/v1.7.5 第一步:引入pom.xml dependencygroupIdorg.owasp.antisamy/groupIdartifactIdantisamy/artifactIdversion1.7.5/version/dependency 第二步根据源码中的xml文件自定义自己需要的 本博文中的xml是最基础的仅作参考样例使用需要了解配置详情的可以去其它博文或者官网查看本文重点在整合SpringBoot3.x ?xml version1.0 encodingISO-8859-1?!-- W3C rules retrieved from: http://www.w3.org/TR/html401/struct/global.html --!-- Slashdot allowed tags taken from Reply page: b i p br a ol ul li dl dt dd em strong tt blockquote divecode quote --anti-samy-rules xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:noNamespaceSchemaLocationantisamy.xsddirectivesdirective nameomitXmlDeclaration valuetrue /directive nameomitDoctypeDeclaration valuetrue /directive namemaxInputSize value5000 /directive nameformatOutput valuetrue /directive nameembedStyleSheets valuefalse //directivescommon-regexpsregexp nameimgTypesvalue^.*\.(gif|jpg|jpeg|png)$ /regexp nameanything value.* //common-regexpscommon-attributesattribute nameabbrregexp-listregexp nameanything //regexp-list/attribute//除了abbr属性之外其余都会被转义删除/common-attributesglobal-tag-attributesattribute nameabbr //global-tag-attributestags-to-encode/tags-to-encode !-- tag-rules The configured label is allowed to pass--tag-rulestag namea actionvalidate ///除这里面配置的标签之外其余都会被转义删除tag nameimg actionvalidate //img标签的src中 文件后缀只能是gif|jpg|jpeg|png配置之一attribute namesrcregexp-listregexp nameimgTypes //regexp-list/attribute/tag/tag-rulescss-rules/css-rules!-- allowed-empty-tags Allow the tag to be empty, allow the tag inside the attribute does not belong to the tag, this case will not be escaped and deleted--allowed-empty-tagsliteral-listliteral valuea //literal-list/allowed-empty-tags/anti-samy-rules第三步:将xml文件加载进Spring容器中 Configuration public class AntiSamyConfig {Beanpublic AntiSamyContent antiSamyBean() throws Exception{try (InputStream inputStream getClass().getResourceAsStream(/antisamy175/antisamy_custom.xml)) {Policy policy Policy.getInstance(inputStream);return new AntiSamyContent (policy);}} } 注意文件存放路径,resources目录下建个 antisamy175 文件夹。再将xml放进去 第四步:因Antisamy处理过文本后会默认在标签最后加入\n 所以加入这步骤去除\n public class AntiSamyOutputFormatter extends AntiSamySAXScanner {public AntiSamyOutputFormatter (Policy policy) {super(policy);}Overrideprotected OutputFormat getOutputFormat() {OutputFormat format super.getOutputFormat();format.setLineSeparator();//这是为了去除antisamy处理后在每行结尾自动匹配的\nreturn format;}}public class AntiSamyContent extends AntiSamy {private Policy policy null;public AntiSamyContent (Policy policy) {super(policy);this.policy policy;}public CleanResults scanMeetingAgenda(String taintedHTML) throws ScanException {return (new AntiSamyOutputFormatter (this.policy)).scan(taintedHTML);} } 第五步:方法调用 htmlSanitizerService.sanitizeHtml(str); 第六步:方法调用中的后处理 antisamy处理结果在实际页面展示时会存在换行 回车等问题注重回显的需要对这块做额外的处理。 Service public class HtmlSanitizerService {private AntiSamyContent antiSamy;Autowiredpublic HtmlSanitizerService(AntiSamyContent antiSamy) {this.antiSamy antiSamy;}public String sanitizeHtml(String sourceStr) {String cleanStr sourceStr;try{CleanResults cr antiSamy.scanMeetingAgenda(sourceStr);cleanStr cr.getCleanHTML();}catch (ScanException e){}return cleanStr;} } 至此本次分享已结束。提及的文本过滤方式其最大的亮点在于其直观性和灵活性。我们无需编写冗长的Java代码逻辑而是可以直接通过修改XML配置文件来实现文本内容的过滤。更值得一提的是XML内部支持正则表达式的使用这使得过滤规则的设置变得更加简洁高效。相较于传统的文本处理库如jsoup这种方式不仅减少了代码量还提高了开发和维护的效率。 希望本次分享的内容能够为您在文本处理方面提供一些新的思路和方法。感谢您的阅读期待与您共同探讨更多有趣的技术话题
http://www.hkea.cn/news/14500553/

相关文章:

  • 企业高端网站建设公司罗湖中心区做网站
  • 签约做网站模板网页设计与网站建设期末考试试卷
  • 建设银行网站一直打不开网站公司打电话来说做网站
  • 沈阳做网站多少钱wordpress精简优化
  • 福建高端建设网站做网推的网站
  • php网站搭建下载小程序
  • 最常用的网站开发工具如何搭建自己的网站服务器地址
  • 给做网站建设的一些建议毕业季网站如何做网页
  • 北京网站公司制作百度 排名seo快速
  • 大图网 网站百度一下首页网址百度
  • 2022建站市场个人网站建设月租抵30元
  • 自建外贸网站沈阳做网站公司
  • 网站建设说课ppt文化类网站的前置审批
  • 做一张网站图多少钱建设银行网站首页是多少
  • 移动网站开发工具百度关键词规划师工具
  • 想学做网站学那个软件好公司网站可以分两个域名做吗
  • 怎么seo网站排名有什么网站可以做ppt
  • 网站维护公司影视视频网站怎么做
  • 网站建设丶金手指花总11营销型网站建设策划案
  • 赶集网天津网站建设做网站自己能做百度推广吗
  • 带引导页的网站wordpress主题开发电子书
  • 丹东建设监督网站东莞做网站哪个公司最好
  • 上海网站推广汉狮网站优化合同
  • 生产型或服务型企业网站有哪些ipv6网站制作
  • 如何在百度做网站帝国行业网站模板
  • 大良营销网站建设价位wordpress多个菜单
  • 宣传海报在什么网站做网站开发工程师证
  • 山东住房与城乡建设厅网站在家开个代加工厂
  • 凡科建站网站怎么保存发给别人石家庄制作网页公司
  • 硬笔书法网站是谁做的北京门户网站制作费用