burp靶场--xss上篇【1-15】

burp靶场–xss

https://portswigger.net/web-security/cross-site-scripting

1. 什么是xss:

跨站脚本 (XSS) 是一种通常出现在 Web 应用程序中的计算机安全漏洞。XSS 允许攻击者将恶意代码注入网站,然后在访问该网站的任何人的浏览器中执行该代码。这可能允许攻击者窃取敏感信息,例如用户登录凭据,或执行其他恶意操作。XSS 攻击主要有 3 种类型:反射型 XSS:在反射型 XSS 攻击中,恶意代码嵌入到发送给受害者的链接中。当受害者点击链接时,代码就会在他们的浏览器中执行。例如,攻击者可以创建包含恶意 JavaScript 的链接,并将其通过电子邮件发送给受害者。当受害者单击该链接时,JavaScript 代码将在其浏览器中执行,从而允许攻击者执行各种操作,例如窃取其登录凭据。存储型XSS:在存储型XSS攻击中,恶意代码存储在服务器上,并在每次访问易受攻击的页面时执行。例如,攻击者可以将恶意代码注入博客文章的评论中。当其他用户查看博客文章时,恶意代码会在他们的浏览器中执行,从而允许攻击者执行各种操作。基于 DOM 的 XSS:是一种 XSS 攻击,当易受攻击的 Web 应用程序修改用户浏览器中的 DOM(文档对象模型)时,就会发生这种攻击。例如,当用户输入用于以某种方式更新页面的 HTML 或 JavaScript 代码时,就会发生这种情况。在基于 DOM 的 XSS 攻击中,恶意代码不会发送到服务器,而是直接在用户的浏览器中执行。这可能会导致检测和阻止此类攻击变得困难,因为服务器没有恶意代码的任何记录。为了防止 XSS 攻击,正确验证和清理用户输入非常重要。这意味着确保所有输入符合必要的标准,并删除任何潜在危险的字符或代码。在将用户输入呈现在浏览器中之前对其进行转义也很重要,以防止浏览器将其解释为代码。

实验1:将 XSS 反射到 HTML 上下文中,不进行任何编码

### 实验要求:
将 XSS 反射到 HTML 上下文中,不进行任何编码
### 实验操作:
将以下内容复制并粘贴到搜索框中:
<script>alert(1)</script>

在这里插入图片描述

在这里插入图片描述

实验2:将 XSS 存储到 HTML 上下文中,未进行任何编码:

### 实验要求:
该实验在评论功能中 包含一个存储的跨站点脚本漏洞。
要完成此实验,请提交一条评论,alert在查看博客文章时调用该函数。### 实验操作:
在评论框中输入以下内容:
<script>alert(1)</script>
输入姓名、电子邮件和网站。
点击“发表评论”。
返回博客。

在这里插入图片描述
发表博客评论后:返回博客评论刷新,弹出xss弹框:
在这里插入图片描述

实验3:document.write使用源在接收器中进行 DOM XSSlocation.search

### 实验要求:
此实验室在搜索查询跟踪功能中 包含基于 DOM 的跨站点脚本漏洞。它使用 JavaScriptdocument.write函数将数据写入页面。该document.write函数使用来自 的数据进行调用location.search,您可以使用网站 URL 进行控制。
要完成此实验,请执行调用该函数的跨站点脚本alert攻击。### 实验操作:
在搜索框中输入随机字母数字字符串。
右键单击并检查该元素,并观察您的随机字符串已放置在img src属性内。
img通过搜索来 打破属性:"><svg onload=alert(1)>

在这里插入图片描述
点击搜索,提交数据,onload事件,标签加载执行弹框:
在这里插入图片描述

实验4:innerHTML使用源在接收器中进行 DOM XSSlocation.search

### 实验要求:
此实验室在搜索博客功能中 包含基于 DOM 的跨站点脚本漏洞。它使用赋值,使用来自 的数据来innerHTML更改元素的 HTML 内容。 divlocation.search
要完成此实验,请执行调用该函数的跨站点脚本alert攻击。
### 实验操作:
在搜索框中输入以下内容:<img src=1 onerror=alert(1)>
单击“搜索”。
该src属性的值无效并引发错误。这会触发onerror事件处理程序,然后调用该alert()函数。因此,每当用户的浏览器尝试加载包含恶意帖子的页面时,就会执行有效负载。

在这里插入图片描述
输入框插入:,src属性错误触发弹框:
在这里插入图片描述
在这里插入图片描述

实验5:使用源的jQuery 锚点属性接收器中的DOM XSShreflocation.search

### 实验要求:
此实验在提交反馈页面中包含基于 DOM 的跨站点脚本漏洞。它使用 jQuery 库的$选择器函数来查找锚元素,并href使用location.search.
要解决此实验,请设置“后退”链接警报document.cookie。
### 实验操作:
在提交反馈页面上,将查询参数更改returnPath为/后跟随机字母数字字符串。
右键单击并检查该元素,并观察您的随机字符串已放置在 ahref属性内。
改成returnPath:javascript:alert(document.cookie)
按 Enter 键并单击“返回”。### 其他提示:
另一个需要注意的潜在接收器是jQuery的$()选择器函数,它可用于将恶意对象注入DOM。jQuery曾经非常流行,典型的DOM XSS漏洞是由于网站将此选择器与location.hash源结合使用来生成动画或自动滚动到页面上的特定元素而导致的。此行为通常是使用易受攻击的hashchange事件处理程序实现的,如下所示:
$(window).on('hashchange', function() {var element = $(location.hash);element[0].scrollIntoView();
});
作为 hash 是用户可控的,攻击者可以利用它将XSS向量注入 $()选择器接收器。较新版本的jQuery修补了此特定漏洞,方法是在输入以散列字符( #)。但仍然可以在野外找到易受攻击的代码要真正利用此典型漏洞,需要找到一种方法来触发hashchange没有用户交互的事件。最简单的方法之一是通过iframe:
<iframe src="https://vulnerable-website.com#" onload="this.src+='<img src=1 onerror=alert(1)>'">
在此示例中,src属性指向哈希值为空的易受攻击的页面。当 iframe 被加载时,一个XSS向量被附加到散列中,从而触发hashchange事件(即使较新版本的jQuery也可能通过 $() 选择器接收器,前提是可以完全控制来自不需要 #前缀)

在这里插入图片描述
在这里插入图片描述
javascript:alert(document.cookie)
点击back触发弹框:
在这里插入图片描述

实验6:jQuery 选择器接收器中使用 hashchange 事件的 DOM XSS

### 实验要求:
该实验室主页上 存在一个基于 DOM 的跨站脚本漏洞。它使用 jQuery 的$()选择器函数自动滚动到给定的帖子,其标题通过location.hash属性传递。
要解决该实验室问题,请向受害者提供一个漏洞利用程序,print()在其浏览器中调用该函数。
### 实验操作:
请注意使用 Burp 或浏览器的 DevTools 的主页上的易受攻击的代码。
从实验室横幅中,打开漏洞利用服务器。
在正文部分中,添加以下恶意代码iframe:<iframe src="https://YOUR-LAB-ID.web-security-academy.net/#" onload="this.src+='<img src=x onerror=print()>'"></iframe>
存储漏洞利用程序,然后单击“查看漏洞利用程序”print()以确认调用了 该函数。
返回漏洞利用服务器并单击“交付给受害者”以解决实验室问题。

请注意主页上使用Burp或浏览器的DevTools的易受攻击的代码。
从实验标题中,打开利用漏洞攻击服务器

在正文部分中,添加以下恶意iframe:

我的是:

在自己受控制的服务器上放置代码: ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f4febb5b412b4826be4a0747de9a8a5f.png) 存储利用漏洞攻击,然后单击View exploit(查看利用漏洞攻击)以确认调用了print()函数,有点类似点击劫持,访问了伪造的官方站点,触发了恶意的js代码,对访问用户造成危害:投递到受害者模拟受害者访问了假站点。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1ba18f2973fe48a2bbe8787e129e0ddd.png)

实验7:将 XSS 反射到带有尖括号 HTML 编码的属性中

### 实验要求:
此实验室在搜索博客功能中包含一个反映的跨站点脚本漏洞,其中尖括号是 HTML 编码的。要完成此实验,请执行跨站点脚本攻击,注入属性并调用该alert函数。
### 实验操作:
在搜索框中提交随机字母数字字符串,然后使用 Burp Suite 拦截搜索请求并将其发送到 Burp Repeater。
观察随机字符串已反映在带引号的属性内。
将您的输入替换为以下有效负载以转义带引号的属性并注入事件处理程序:"onmouseover="alert(1)
通过右键单击、选择“复制 URL”并将 URL 粘贴到浏览器中来验证该技术是否有效。当您将鼠标移到注入的元素上时,它应该触发警报。

在这里插入图片描述
将输入替换为以下负载以转义带引号的属性并注入事件处理程序:value属性有双引号,所以payload中需要使用双引号先构造闭合:" οnmοuseοver=“alert(1)” style=display:block>test

在这里插入图片描述
或者使用payload【因为浏览器会自动给style属性值缺失的双引号补全”】:" οnmοuseοver=“alert(1)” style="display:block>test
在这里插入图片描述

实验8:将 XSS 存储到href带有双引号 HTML 编码的锚属性中

### 实验要求:
该实验在评论功能中包含一个存储的跨站点脚本漏洞。要完成此实验,请提交一条评论,该评论将alert在单击评论作者姓名时调用该函数。### 实验操作:
在“网站”输入中发布带有随机字母数字字符串的评论,然后使用 Burp Suite 拦截请求并将其发送到 Burp Repeater。
在浏览器中发出第二个请求以查看帖子,并使用 Burp Suite 拦截该请求并将其发送到 Burp Repeater。
观察第二个 Repeater 选项卡中的随机字符串已反映在锚点href属性内。
再次重复该过程,但这次将您的输入替换为以下有效负载,以注入调用警报的 JavaScript URL:javascript:alert(1)
通过右键单击、选择“复制 URL”并将 URL 粘贴到浏览器中来验证该技术是否有效。单击评论上方的名称应该会触发警报。### 注意:
可能一些网站对尖括号进行编码,但仍然允许注入属性。有时即使在通常不会自动触发事件的标记(如规范标记)中,这些注入也是可能的。可以使用access keys和Chrome上的用户交互来利用此行为。access keys允许提供引用特定元素的键盘快捷键。该accesskey属性允许您定义一个字母,当该字母与其他键(这些键在不同的平台上会有所不同)一起按下时,将引发事件

在这里插入图片描述
在这里插入图片描述
输出位置:
在这里插入图片描述
当website值为空时候,herf属性就别省略,所以只是显示了name55:在这里插入图片描述
在这里插入图片描述

实验9:将 XSS 反射到带有尖括号 HTML 编码的 JavaScript 字符串中

### 实验要求:
此实验室在尖括号编码的搜索查询跟踪功能中包含反映的跨站点脚本漏洞。反射发生在 JavaScript 字符串内。要完成此实验,请执行跨站点脚本攻击,突破 JavaScript 字符串并调用该alert函数### 实验操作:
在搜索框中提交随机字母数字字符串,然后使用 Burp Suite 拦截搜索请求并将其发送到 Burp Repeater。
观察随机字符串已反映在 JavaScript 字符串中。
将您的输入替换为以下有效负载,以打破 JavaScript 字符串并注入警报:'-alert(1)-'
通过右键单击、选择“复制 URL”并将 URL 粘贴到浏览器中来验证该技术是否有效。当您加载页面时,它应该触发警报。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验10:document.write使用location.searchselect 元素内的源在接收器中进行 DOM XSS

### 实验要求:
此实验室在股票检查器功能中 包含基于 DOM 的跨站点脚本漏洞。它使用 JavaScriptdocument.write函数将数据写入页面。该函数使用您可以使用网站 URL 进行控制的document.write数据进行调用。location.search数据包含在选择元素内。
要完成此实验,请执行跨站点脚本攻击,该攻击会突破 select 元素并调用该alert函数。### 实验操作:
在产品页面上,请注意危险的 JavaScriptstoreId从location.search源中提取参数。然后,它用于document.write在选择元素中为库存检查器功能创建一个新选项。
将storeId查询参数添加到 URL 并输入随机字母数字字符串作为其值。请求此修改后的 URL。
在浏览器中,请注意您的随机字符串现在已列为下拉列表中的选项之一。
右键单击并检查下拉列表以确认参数的值storeId已放置在选择元素内。
更改 URL 以在参数内包含合适的XSSstoreId负载,如下所示:product?productId=1&storeId="></select><img%20src=1%20onerror=alert(1)>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验11:AngularJS 表达式中的DOM XSS,带有尖括号和双引号 HTML 编码

【<>括号和双引号被html编码时候,在AngularJS中,可以使用表达式绕过】

### 实验要求:
该实验在搜索功能中的 AngularJS表达式中包含基于 DOM 的跨站点脚本漏洞。
ng-appAngularJS 是一个流行的 JavaScript 库,它扫描包含属性(也称为 AngularJS 指令) 的 HTML 节点的内容。当指令添加到 HTML 代码中时,您可以执行双花括号内的 JavaScript 表达式。当对尖括号进行编码时,此技术非常有用。
要完成此实验,请执行跨站点脚本攻击,该攻击执行 AngularJS 表达式并调用该alert函数。### 实验操作:
在搜索框中输入随机字母数字字符串。
查看页面源代码并观察您的随机字符串是否包含在ng-app指令中。
在搜索框中输入以下 AngularJS 表达式:{{$on.constructor('alert(1)')()}}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验12:反射 DOM XSS

### 实验要求:
本实验演示了反射 DOM 漏洞。当服务器端应用程序处理请求中的数据并在响应中回显数据时,就会出现反射 DOM 漏洞。然后,页面上的脚本以不安全的方式处理反射的数据,最终将其写入危险的接收器。
要完成本实验,请创建一个调用该alert()函数的注入。### 实验操作:
在 Burp Suite 中,转到代理工具并确保拦截功能已打开。
返回实验室,转到目标网站并使用搜索栏搜索随机测试字符串,例如"XSS".
返回Burp Suite中的Proxy工具并转发请求。
在“拦截”选项卡上,请注意该字符串反映在名为 的 JSON 响应中search-results。
从站点地图中,打开searchResults.js文件并注意 JSON 响应与函数调用一起使用eval()。
通过尝试不同的搜索字符串,您可以确定 JSON 响应正在转义引号。然而,反斜杠没有被转义。
要解决此实验,请输入以下搜索词:\"-alert(1)}//
由于您已注入反斜杠并且站点没有转义它们,因此当 JSON 响应尝试转义左双引号字符时,它会添加第二个反斜杠。由此产生的双反斜杠会导致转义被有效地抵消。这意味着双引号将不进行转义处理,从而关闭应包含搜索词的字符串。alert()然后在调用函数 之前使用算术运算符(在本例中为减法运算符)来分隔表达式。最后,一个右大括号和两个正斜杠提前关闭 JSON 对象,并注释掉该对象的其余部分。结果,响应生成如下:{"searchTerm":"\\"-alert(1)}//", "results":[]}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
搜索框插入:
"-alert(1)}//

实验13:存储 DOM XSS

### 实验要求:
本实验演示了博客评论功能中的存储 DOM 漏洞。要解决此实验,请利用此漏洞来调用该alert()函数。### 实验操作:
发表包含以下向量的评论:<><img src=1 onerror=alert(1)>
为了防止XSS,该网站使用 JavaScriptreplace()函数对尖括号进行编码。但是,当第一个参数是字符串时,该函数仅替换第一次出现的位置。我们通过在注释开头添加一组额外的尖括号来利用此漏洞。这些尖括号将被编码,但任何后续尖括号将不受影响,使我们能够有效绕过过滤器并注入 HTML。

在这里插入图片描述

在这里插入图片描述
使用payload:<> 发表评论:
在这里插入图片描述

实验14:将 XSS 反射到 HTML 上下文中,并阻止大多数标签和属性

【burp测试waf拦截的标签和属性】

### 实验要求:
该实验室在搜索功能中包含反射的 XSS漏洞,但使用 Web 应用程序防火墙 (WAF) 来防范常见的 XSS 向量。
要完成该实验,请执行绕过 WAF 并调用该函数的跨站点脚本print()攻击。### 实验操作:
注入标准的XSS向量,例如:<img src=1 onerror=print()>
观察这是否被阻止。在接下来的几个步骤中,我们将使用 Burp Intruder 来测试哪些标签和属性被阻止。
打开Burp的浏览器并使用实验室中的搜索功能。将生成的请求发送给 Burp Intruder。
在 Burp Intruder 的“位置”选项卡中,将搜索词的值替换为:<>
将光标放在尖括号之间,然后单击“添加§”两次,以创建有效负载位置。搜索词的值现在应如下所示:<§§>
访问XSS 备忘单并单击“将标签复制到剪贴板”。
在 Burp Intruder 的“有效负载”选项卡中,单击“粘贴”将标签列表粘贴到有效负载列表中。单击“开始攻击”。
攻击完成后,查看结果。请注意,除了导致 200 响应的有效负载之外,所有有效负载body都会导致 HTTP 400 响应。
返回 Burp Intruder 中的“位置”选项卡,并将搜索词替换为:<body%20=1>
将光标放在=字符之前,然后单击“添加§”两次,以创建有效负载位置。搜索词的值现在应如下所示:<body%20§§=1>
访问XSS 备忘单并单击“将事件复制到剪贴板”。
在 Burp Intruder 的“有效负载”选项卡中,单击“清除”以删除以前的有效负载。然后单击“粘贴”将属性列表粘贴到有效负载列表中。单击“开始攻击”。
攻击完成后,查看结果。请注意,除了导致 200 响应的有效负载之外,所有有效负载onresize都会导致 HTTP 400 响应。
转到漏洞利用服务器并粘贴以下代码,替换YOUR-LAB-ID为您的实验室 ID:<iframe src="https://YOUR-LAB-ID.web-security-academy.net/?search=%22%3E%3Cbody%20onresize=print()%3E" onload=this.style.width='100px'>
单击“存储”和“向受害者提供漏洞利用”。

在这里插入图片描述
在这里插入图片描述
打开Burp的浏览器并使用实验室中的搜索功能。将生成的请求发送给 Burp Intruder。
在 Burp Intruder 的“位置”选项卡中,将搜索词的值替换为:<>
将光标放在尖括号之间,然后单击“添加§”两次,以创建有效负载位置。搜索词的值现在应如下所示:<§§>
在这里插入图片描述
复制标签:https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
Burp Intruder 中的“位置”选项卡,并将搜索词替换为:

<body%20=1>
将光标放在=字符之前,然后单击“添加§”两次,以创建有效负载位置。搜索词的值现在应如下所示:<body%20§§=1>
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
转到漏洞利用服务器并粘贴以下代码,替换YOUR-LAB-ID为您的实验室 ID:

单击“存储”和“向受害者提供漏洞利用”。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f05117d63bbb4939b0de585f513e5dd8.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e248557f896c4f369291451f967dbc31.png) 火狐浏览器弹出打印: ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f0c9e8bb93d74cf69a2fe791776c8d7d.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e60b9d134311413e8015047d20069996.png)

实验15:将 XSS 反射到 HTML 上下文中,并阻止除自定义标签之外的所有标签

实验要求:
此实验室阻止除自定义标签之外的所有 HTML 标签。
要解决该实验室问题,请执行跨站点脚本攻击,注入自定义标签并自动发出警报document.cookie实验操作:
转到漏洞利用服务器并粘贴以下代码,替换YOUR-LAB-ID为您的实验室 ID:<script>
location = 'https://YOUR-LAB-ID.web-security-academy.net/?search=%3Cxss+id%3Dx+onfocus%3Dalert%28document.cookie%29%20tabindex=1%3E#x';
</script>
单击“存储”和“向受害者提供漏洞利用”。
此注入创建一个带有 ID 的自定义标记x,其中包含onfocus触发该函数的事件处理alert程序。页面加载后,URL 末尾的哈希值就会集中在该元素上,从而导致调用alert有效负载。

使用自定义标签获取cookie:
在这里插入图片描述
在这里插入图片描述

参考:

### burp官方xss payload:
https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
### 【Burp系列】超全XSS跨站漏洞实验总结[上]
https://mp.weixin.qq.com/s/mQuMaEZW90VWdE_kde85hw
### 【Burp系列】超全XSS跨站漏洞实验总结[下]
https://mp.weixin.qq.com/s/Ouh2JL9F659U0p6HuLHS_g
###  burp官方:
https://portswigger.net/web-security/cross-site-scripting
### owasp xss:
### 跨站请求伪造:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/06-Session_Management_Testing/05-Testing_for_Cross_Site_Request_Forgery
### 反射型跨站请求伪造:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/07-Input_Validation_Testing/01-Testing_for_Reflected_Cross_Site_Scripting
### 存储型跨站请求伪造:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/07-Input_Validation_Testing/02-Testing_for_Stored_Cross_Site_Scripting
### DOM型:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/11-Client-side_Testing/01-Testing_for_DOM-based_Cross_Site_Scripting
### 跨站脚本包含:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/11-Client-side_Testing/13-Testing_for_Cross_Site_Script_Inclusion
### Cross Site Flashing:
https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/11-Client-side_Testing/08-Testing_for_Cross_Site_Flashing
### payloadsallthings xss:
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSS%20Injection### xss src挖掘:
https://mhtsec.com/index.php/archives/24/
https://zhuanlan.zhihu.com/p/22674164
https://websec.readthedocs.io/zh/latest/vuln/xss/index.html
https://_thorns.gitbooks.io/sec/content/yi_ci_zhen_dui_cun_chu_xing_xss_de_fuzzing.html## xss bypass
https://wooyun.js.org/drops/Bypass%20xss%E8%BF%87%E6%BB%A4%E7%9A%84%E6%B5%8B%E8%AF%95%E6%96%B9%E6%B3%95.html
https://portswigger.net/support/bypassing-signature-based-xss-filters-modifying-script-code

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/248478.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DataPanel组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之DataPanel组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、DataPanel组件 数据面板组件&#xff0c;用于将多个数据占比情况使用占比图进…

React、React Router、JSX 简单入门快速上手

React、React Router、JSX 简单入门快速上手 介绍特点 JSX使用js表达式渲染列表样式控制注意事项 入门脚手架创建react项目安装目录介绍入口文件解析 组件解析介绍函数式组件类组件 事件绑定注意点定义使用事件对象事件处理函数接收额外参数 组件状态状态的定义使用 组件通信父…

C# IP v4转地址·地名 高德

需求: IPv4地址转地址 如&#xff1a;输入14.197.150.014&#xff0c;输出河北省石家庄市 SDK: 目前使用SDK为高德地图WebAPI 高德地图开放平台https://lbs.amap.com/ 可个人开发者使用&#xff0c;不过有配额限制。 WebAPI 免费配额调整公告https://lbs.amap.com/news/…

动手学RAG:汽车知识问答

原文&#xff1a;动手学RAG&#xff1a;汽车知识问答 - 知乎 Part1 内容介绍 在自然语言处理领域&#xff0c;大型语言模型&#xff08;LLM&#xff09;如GPT-3、BERT等已经取得了显著的进展&#xff0c;它们能够生成连贯、自然的文本&#xff0c;回答问题&#xff0c;并执行…

网安文件包含漏洞

文件包含概念&#xff1a; 开发人员通常会把可重复使用的函数写到单个文件中&#xff0c;在使用某些函数时&#xff0c;直接调用此文件&#xff0c;而无需再次编写&#xff0c;这种调用文件的过程一般被称为包含。为了使代码更加灵活&#xff0c;通常会将被包含的文件设置为变…

Spring Boot 中使用 Spring MVC基础

Spring MVC基础 一、控制器 controller1.定制控制器的方法&#xff08;1&#xff09;接收请求&#xff08;2&#xff09;接收请求参数&#xff08;3&#xff09;返回值 二、模型 Modle三、视图 View四、总结 Spring MVC 是非常著名的 Web 应用框架&#xff0c;现在的大多数 Web…

Mac安装及配置MySql及图形化工具MySQLworkbench安装

Mac下载配置MySql mysql下载及安装 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 根据自己电脑确定下载x86还是ARM版本的 如果不确定&#xff0c;可以查看自己电脑版本&#xff0c;终端输入命令 uname -a 点击Download下载&#xff0c;可跳过登录注册&…

Tensorflow2.0笔记 - Tensor的限值clip操作

本笔记主要记录使用maximum/minimum,clip_by_value和clip_by_norm来进行张量值的限值操作。 import tensorflow as tf import numpy as nptf.__version__#maximum/minimumz做上下界的限值 tensor tf.random.shuffle(tf.range(10)) print(tensor)#maximum(x, y, nameNone) #对…

Qt6入门教程 14:QToolButton

目录 一.简介 二.常用接口 1.void setMenu(QMenu * menu) 2.void setPopupMode(ToolButtonPopupMode mode) 3.void setToolButtonStyle(Qt::ToolButtonStyle style) 4.void setArrowType(Qt::ArrowType type) 5.void setDefaultAction(QAction * action) 三.实战演练 1…

基于Prompt Learning的信息抽取

PTR: Prompt Tuning with Rules for Text Classification 清华&#xff1b;liuzhiyuan&#xff1b;通过规则制定subpromptRelation Extraction as Open-book Examination: Retrieval-enhanced Prompt Tuning Relation Extraction as Open-book Examination: Retrieval-enhance…

spring boot 使用 Kafka

一、Kafka作为消息队列的好处 高吞吐量&#xff1a;Kafka能够处理大规模的数据流&#xff0c;并支持高吞吐量的消息传输。 持久性&#xff1a;Kafka将消息持久化到磁盘上&#xff0c;保证了消息不会因为系统故障而丢失。 分布式&#xff1a;Kafka是一个分布式系统&#xff0c…

比Filebeat更强大的日志收集工具-Fluent bit的http插件实战

文章目录 1.前言2. fluent bit http插件配置以及参数详解3. Http 接口服务3.1 开发Http 接口服务3.2 重启fluent bit向http web服务发送数据 1.前言 Fluent Bit 的 HTTP 插件提供了一种灵活而通用的机制&#xff0c;可用于将日志数据 从各种环境中传输到指定的远程服务器&#…

C++核心编程:类和对象 笔记

4.类和对象 C面向对象的三大特性为:封装,继承,多态C认为万事万物都皆为对象&#xff0c;对象上有其属性和行为 例如&#xff1a; 人可以作为对象&#xff0c;属性有姓名、年龄、身高、体重...,行为有走、跑、跳、说话...车可以作为对象&#xff0c;属性有轮胎、方向盘、车灯…

力扣hot100 子集 回溯 超简洁

Problem: 78. 子集 文章目录 思路复杂度Code 思路 &#x1f468;‍&#x1f3eb; 参考题解 复杂度 时间复杂度: 添加时间复杂度, 示例&#xff1a; O ( n ) O(n) O(n) 空间复杂度: 添加空间复杂度, 示例&#xff1a; O ( n ) O(n) O(n) Code class Solution {List<Li…

设计模式之框架源码剖析(实战+图解)

Java设计模式 1&#xff0c;概述 随着软件开发人员人数的增多&#xff0c;一些公司急需一些高端人才。作为一个高端人才&#xff0c;设计面向对象软件是必不可少的能力&#xff0c;而软件设计是需要很深的功力&#xff0c;设计模式就要求你必须掌握。 2&#xff0c;本章特色…

[GN] 设计模式——面向对象设计原则概述

文章目录 面向对象设计原则概述单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特法则 总结 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 面向对象设计原则概述 单一职责原则 一个类只负责一个功能领域中的相应职责 类…

C#,数据检索算法之三元搜索(Ternary Search)的源代码

数据检索算法是指从数据集合&#xff08;数组、表、哈希表等&#xff09;中检索指定的数据项。 数据检索算法是所有算法的基础算法之一。 本文发布 三元搜索&#xff08;Ternary Search&#xff09;的源代码。 1 文本格式 using System; namespace Legalsoft.Truffer.Algo…

【Java异常处理与try-catch-finally】

Java异常处理与try-catch-finally try块是被监视的代码块&#xff0c;可能会发生异常的地方。当try块中的代码抛出了异常&#xff0c;程序会立即转入catch块&#xff0c;catch块根据捕获的异常类型进行处理。 Java异常处理是一种机制&#xff0c;用于捕获并处理在程序执行过程中…

flutter module打包成framework引入原生工程

Flutter - 将 Flutter 集成到现有项目&#xff08;iOS - Framework篇&#xff09; 本篇文章大幅参考了 caijinglong 大佬的总结文章&#xff1a; 把flutter作为framework添加到已存在的iOS中[1] 用 Flutter 来开发&#xff0c;从来都不可能是新开的一个纯 Flutter 项目&#xf…

基于JavaWeb开发的礼品商贸服务平台【附源码】

基于JavaWeb开发的礼品商贸服务平台【附源码】 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 &#…