burp靶场--业务逻辑漏洞

news2024/11/24 19:15:55

burp靶场–业务逻辑漏洞

https://portswigger.net/web-security/logic-flaws#what-are-business-logic-vulnerabilities

### 什么是业务逻辑漏洞?
业务逻辑漏洞是应用程序设计和实现中的缺陷,允许攻击者引发意外行为。这可能使攻击者能够操纵合法功能来实现恶意目标。这些缺陷通常是由于未能预见可能发生的异常应用程序状态而导致的,因此未能安全地处理它们。

实验1:过度信任客户端控制【购物车商品价格修改导致低价购买商品】

### 实验要求:
该实验室没有充分验证用户输入。您可以利用其采购工作流程中的逻辑缺陷以意想不到的价格购买商品。要解决实验室问题,请购买“轻量级l33t皮夹克”。
您可以使用以下凭据登录您自己的帐户:wiener:peter

###
运行 Burp 后,登录并尝试购买皮夹克。由于您没有足够的商店积分,订单被拒绝。
在 Burp 中,转到“代理”>“HTTP 历史记录”并研究订单流程。请注意,当您将商品添加到购物车时,相应的请求包含一个price参数。将POST /cart请求发送到 Burp Repeater。
在 Burp Repeater 中,将价格更改为任意整数并发送请求。刷新购物车并确认价格已根据您的输入进行更改。
重复此过程,将价格设置为低于您可用商店积分的任意金额。
完成解决实验室的命令。

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

实验2:高级逻辑漏洞

### 实验要求:
该实验室没有充分验证用户输入。您可以利用其采购工作流程中的逻辑缺陷以意想不到的价格购买商品。要解决实验室问题,请购买“轻量级l33t皮夹克”。
您可以使用以下凭据登录您自己的帐户:wiener:peter

### 实验操作:
运行 Burp 后,登录并将便宜的商品添加到您的购物车。
在Burp中,转到“代理”>“HTTP历史记录”并研究相应的HTTP消息。请注意,数量由POST /cart请求中的参数确定。
转到“拦截”选项卡并打开拦截。将另一个项目添加到您的购物车并转到POST /cartBurp 中拦截的请求。
将参数更改quantity为任意整数,然后转发任何剩余的请求。您会发现购物车中的数量已根据您的输入成功更新。
重复此过程,但这次请求负数。检查是否已成功从购物车数量中扣除。
请求合适的负数量以从购物车中删除比当前包含的更多的商品。确认您已成功强制购物车包含负数量的产品。转到您的购物车,请注意总价现在也是负数。
像往常一样将皮夹克添加到您的购物车。添加另一个商品的适当负数量,以将总价降低到低于您的剩余商店积分。
下订单解决实验室问题。

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
支付成功,发现实验未完成,需要购物l33t商品才行:
在这里插入图片描述
重新修改商品购物车:总价为正,指定商品l33t为正数,购买成功。
在这里插入图片描述

实验3:安全控制不一致

###【管理接口鉴定权限错误+修改账号邮箱地址未校验,导致管理接口以邮箱号为权限认定方式导致绕过】

### 实验要求:
该实验室有缺陷的逻辑允许任意用户访问仅应由公司员工使用的管理功能。要解决该实验,请访问管理面板并删除用户carlos。

### 实验操作:
打开实验室,然后转到 Burp 中的“目标”>“站点地图”选项卡。右键单击实验室域并选择“参与工具”>“发现内容”以打开内容发现工具。
单击“会话未运行”以开始内容发现。片刻之后,查看对话框中的“站点地图”选项卡。请注意,它发现了路径/admin。
尝试浏览到/admin. 尽管您无权访问,但错误消息表明DontWannaCry用户有访问权限。
进入账户注册页面。请注意通知DontWannaCry员工使用公司电子邮件地址的消息。使用任意电子邮件地址注册,格式如下:

anything@your-email-id.web-security-academy.net
您可以通过单击“电子邮件客户端”按钮找到您的电子邮件域名。

前往邮件客户端,点击确认邮件中的链接即可完成注册。
使用您的新帐户登录并转到“我的帐户”页面。请注意,您可以选择更改您的电子邮件地址。将您的电子邮件地址更改为任意@dontwannacry.com地址。
请注意,您现在可以访问管理面板,您可以在其中删除carlos以解决实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入站点进行用户注册:注册邮件账户实验实验室提供的账户:
attacker@exploit-0a3900ac03381e4f801cca3001230032.exploit-server.net
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击邮箱确认,账户注册成功:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验4:业务规则执行存在缺陷【优惠券功能逻辑错误导致低价购买商品】

### 实验要求:
该实验室的采购流程存在逻辑缺陷。要解决实验室问题,请利用此缺陷购买“轻量级 l33t 皮夹克”。
您可以使用以下凭据登录您自己的帐户:wiener:peter

### 实验操作:
登录并注意有一个优惠券代码,NEWCUST5。
在页面底部,注册新闻通讯。您会收到另一个优惠券代码,SIGNUP30。
将皮夹克添加到您的购物车。
前往结账台并应用两个优惠券代码即可获得订单折扣。
尝试多次应用这些代码。请注意,如果您连续两次输入相同的代码,则会被拒绝,因为优惠券已被应用。但是,如果您交替使用这两个代码,则可以绕过此控制。
重复使用这两个代码足够多的次数,将您的订单总额减少到少于剩余的商店积分。完成解决实验室的命令。

在这里插入图片描述
未登陆状态下访问站点获得另一个优惠券:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验5:低级逻辑缺陷

登录账号,购买商品的数量一次最多可以 +99,可以用 Burp 的 intruder 送到 Overflow

### 实验要求:
该实验室没有充分验证用户输入。您可以利用其采购工作流程中的逻辑缺陷以意想不到的价格购买商品。要解决实验室问题,请购买“轻量级l33t皮夹克”。
您可以使用以下凭据登录您自己的帐户:wiener:peter

### 实验操作:
运行 Burp 后,登录并尝试购买皮夹克。由于您没有足够的商店积分,订单被拒绝。在代理历史记录中,研究订单流程。将POST /cart请求发送到 Burp Repeater。
在 Burp Repeater 中,请注意,您只能为每个请求添加 2 位数字的数量。将请求发送给 Burp Intruder。
转到打嗝入侵者。在“位置”选项卡上,将quantity参数设置为99。
在“有效负载”选项卡上,选择有效负载类型“空有效负载”。在“有效负载设置”下,选择“无限期继续”。开始攻击。
当攻击正在进行时,转到您的购物车。经常刷新页面并监控总价。最后,请注意,价格突然切换为一个大的负整数,并开始向 0 递增。价格已超过后端编程语言允许的整数最大值 (2,147,483,647)。结果,该值已循环回最小可能值 (-2,147,483,648)。
清理你的购物车。在接下来的几个步骤中,我们将尝试添加足够的单位,以便价格循环并稳定在 0 美元到剩余商店积分的 100 美元之间。仅使用皮夹克在数学上是不可能的。请注意,夹克的价格以美分存储 (133700)。
再次创建相同的入侵者攻击,但这一次,在“有效负载”>“有效负载设置”下,选择生成准确的323有效负载。
转到“资源池”选项卡,将攻击添加到“最大并发请求数”设置为 的资源池中1。开始攻击。
当 Intruder 攻击完成后,转到POST /cartBurp Repeater 中的请求并发送单个47夹克请求。订单的总价现在应该是-$1221.96。
使用 Burp Repeater 将适量的其他商品添加到您的购物车,使总金额在 0 美元到 100 美元之间。
下订单解决实验室问题。

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

无限重放:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
总价数据有负数有正数转化,说明存在溢出,32bit的整形溢出 -2,147,483,648到2,147,483,647范围:由于上面fuzz一直在跳动,无法在总价在0-100之间停下,所以重新设置intruder:设置生成232次空复制测试:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
添加其他商品,用同样的方法在intruder操作,直到总金额为0-100
在这里插入图片描述
在这里插入图片描述

实验6:对异常输入的处理不一致

### 实验要求:
该实验室没有充分验证用户输入。您可以利用其帐户注册过程中的逻辑缺陷来访问管理功能。要解决该实验,请访问管理面板并删除用户carlos。

### 实验操作:
通过 Burp 代理流量时,打开实验室并转到“目标”>“站点地图”选项卡。右键单击实验室域并选择“参与工具”>“发现内容”以打开内容发现工具。
单击“会话未运行”以开始内容发现。片刻之后,查看对话框中的“站点地图”选项卡。请注意,它发现了路径/admin。
尝试浏览到/admin. 尽管您无权访问,但错误消息表明DontWannaCry用户有访问权限。
进入账户注册页面。请注意通知DontWannaCry员工使用公司电子邮件地址的消息。
通过实验室横幅中的按钮,打开电子邮件客户端。记下您的电子邮件服务器域名中的唯一 ID ( @YOUR-EMAIL-ID.web-security-academy.net)。
返回实验室并使用非常长的电子邮件地址进行注册,格式如下:

very-long-string@YOUR-EMAIL-ID.web-security-academy.net
长度应very-long-string至少为 200 个字符。

转到电子邮件客户端,您会发现您已收到一封确认电子邮件。单击该链接即可完成注册过程。
登录并进入“我的帐户”页面。请注意,您的电子邮件地址已被截断为 255 个字符。
注销并返回帐户注册页面。
使用另一个长电子邮件地址注册一个新帐户,但这一次将dontwannacry.com子域包含在您的电子邮件地址中,如下所示:

very-long-string@dontwannacry.com.YOUR-EMAIL-ID.web-security-academy.net
确保 的very-long-string字符数正确,以便m末尾的“ ”@dontwannacry.com恰好是字符 255。

转到电子邮件客户端,然后单击您收到的确认电子邮件中的链接。登录到您的新帐户,您会发现您现在可以访问管理面板。确认电子邮件已成功发送到您的电子邮件客户端,但应用程序服务器将与您的帐户关联的地址截断为 255 个字符。因此,您能够使用看似有效的@dontwannacry.com地址进行注册。您可以从“我的帐户”页面确认这一点。
转到管理面板并删除carlos以解决实验室问题。

在这里插入图片描述

使用实验室给定的邮箱账户注册一个站点的账户:attacker:111 注册玩登陆,看到自己的邮箱账户:
在这里插入图片描述
在这里插入图片描述
使用构造的超长字符串邮箱注册:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验7:双用端点的弱隔离【重置密码修改参数,实现重置任意账户密码】

### 实验要求:
该实验室根据用户的输入对用户的权限级别做出了有缺陷的假设。因此,您可以利用其帐户管理功能的逻辑来访问任意用户的帐户。要解决本实验,请访问administrator帐户并删除用户carlos。
您可以使用以下凭据登录您自己的帐户:wiener:peter
### 实验 操作:
运行 Burp 后,登录并访问您的帐户页面。
更改您的密码。
研究POST /my-account/change-passwordBurp Repeater 中的请求。
请注意,如果您current-password完全删除该参数,则无需提供当前密码即可成功更改密码。
观察发现修改密码的用户是由该username参数确定的。再次设置username=administrator并发送请求。
注销并注意,您现在可以administrator使用刚刚设置的密码成功登录。
转到管理面板并删除carlos以解决实验室问题。

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

实验8:工作流程验证不足

### 实验要求:
该实验室对采购工作流程中的事件顺序做出了有缺陷的假设。要解决实验室问题,请利用此缺陷购买“轻量级 l33t 皮夹克”。
您可以使用以下凭据登录您自己的帐户:wiener:peter

### 实验操作:
运行 Burp 后,登录并使用商店积分购买任何您能买得起的商品。
研究代理历史。请注意,当您下订单时,POST /cart/checkout请求会将您重定向到订单确认页面。发送GET /cart/order-confirmation?order-confirmation=true到 Burp Repeater。
将皮夹克添加到您的购物篮中。
在Burp Repeater中,重新发送订单确认请求。请注意,订单已完成,且成本未从您的商店信用中扣除,并且实验室已解决。

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

实验9:通过有缺陷的状态机绕过身份验证

### 实验要求:
该实验室对登录过程中的事件顺序做出了有缺陷的假设。要解决该实验室问题,请利用此缺陷绕过实验室的身份验证,访问管理界面并删除用户carlos。
您可以使用以下凭据登录您自己的帐户:wiener:peter

### 实验操作:
运行 Burp 后,完成登录过程,并注意您需要选择您的角色,然后才能进入主页。
使用内容发现工具来识别/admin路径。
尝试直接从角色选择页面浏览/admin并观察到这不起作用。
注销然后返回登录页面。在Burp中,打开代理拦截然后登录。
转发POST /login请求。下一个请求是GET /role-selector. 放弃此请求,然后浏览到实验室的主页。请注意,您的角色已默认为该administrator角色,并且您可以访问管理面板。
删除carlos解决实验室。

正常用户wiener登陆,无法访问控制面板:
在这里插入图片描述
丢弃角色请求:
在这里插入图片描述
在这里插入图片描述

实验10:无限金钱逻辑缺陷

### 实验要求:
该实验室的采购流程存在逻辑缺陷。要解决实验室问题,请利用此缺陷购买“轻量级 l33t 皮夹克”。
您可以使用以下凭据登录您自己的帐户:wiener:peter

### 实验操作:
该解决方案使用 Burp Intruder 来自动化购买和兑换礼品卡的过程。精通 Python 的用户可能更喜欢使用 Turbo Intruder 扩展。

运行 Burp 后,登录并注册新闻通讯以获取优惠券代码SIGNUP30。请注意,您可以购买 10 美元的礼品卡并从“我的帐户”页面兑换。
将礼品卡添加到您的购物篮中,然后前往结账。使用优惠券代码即可享受 30% 的折扣。完成订单并将礼品卡代码复制到剪贴板。
前往您的帐户页面并兑换礼品卡。请注意,整个过程已为您的商店积分增加了 3 美元。现在您需要尝试自动化此过程。
gift-card研究代理历史记录并注意您通过在请求参数 中提供代码来兑换礼品卡POST /gift-card。
转到“项目选项”>“会话”。在“会话处理规则”面板中,单击“添加”。“会话处理规则编辑器”对话框打开。
在对话框中,转到“范围”选项卡。在“URL 范围”下,选择“包括所有 URL”。
返回“详细信息”选项卡。在“规则操作”下,单击“添加”>“运行宏”。在“选择宏”下,再次单击“添加”以打开宏记录器。
选择以下请求序列:

POST /cart
POST /cart/coupon
POST /cart/checkout
GET /cart/order-confirmation?order-confirmed=true
POST /gift-card
然后,单击“确定”。宏编辑器打开。

在请求列表中,选择GET /cart/order-confirmation?order-confirmed=true。单击“配置项目”。在打开的对话框中,单击“添加”以创建自定义参数。为参数命名gift-card并突出显示响应底部的礼品卡代码。单击“确定”两次返回宏编辑器。
选择POST /gift-card请求并再次单击“配置项目”。在“参数处理”部分中,使用下拉菜单指定参数gift-card应源自先前的响应(响应 4)。单击“确定”。
在宏编辑器中,单击“测试宏”。查看响应GET /cart/order-confirmation?order-confirmation=true并记下生成的礼品卡代码。看看POST /gift-card请求。确保gift-card参数匹配并确认收到响应302。继续单击“确定”,直到返回 Burp 主窗口。
将请求发送GET /my-account给 Burp Intruder。使用“狙击手”攻击类型。
在“有效负载”选项卡上,选择有效负载类型“空有效负载”。在“有效负载设置”下,选择生成412有效负载。
转到“资源池”选项卡,将攻击添加到“最大并发请求数”设置为 的资源池中1。开始攻击。
攻击结束后,您将有足够的商店信用来购买夹克并解决实验室问题。

签到领优惠券:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Dm1MR5tYm2
兑换礼品卡:
在这里插入图片描述
在这里插入图片描述
将上述过程使用burp变成自动化:

POST /cart 将礼品卡加入购物车
POST /cart/coupon 使用优惠券
POST /cart/checkout 结账
GET /cart/order-confirmation?order-confirmed=true 确认订单
POST /gift-card 兑换礼品卡

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

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

实验11:通过加密oracle绕过身份验证

### 实验要求:
该实验室存在一个逻辑缺陷,该缺陷会向用户公开加密预言。要解决该实验室问题,请利用此缺陷来访问管理面板并删除用户carlos。
您可以使用以下凭据登录您自己的帐户:wiener:peter

### 实验操作:

启用“保持登录状态”选项登录并发表评论。使用 Burp 的手动测试工具研究相应的请求和响应。观察stay-logged-incookie 是否已加密。
请注意,当您尝试使用无效的电子邮件地址提交评论时,响应会notification在将您重定向到博客文章之前设置一个加密的 cookie。
请注意,错误消息以email明文形式反映了您从参数中输入的内容:

Invalid email address: your-invalid-email
推断这必须从notificationcookie 中解密。将当前请求POST /post/comment和后续GET /post?postId=x请求(包含通知 cookie)发送到 Burp Repeater。

在Repeater中,观察到您可以使用请求email的参数POST来加密任意数据,并在标头中反映相应的密文Set-Cookie。同样,您可以使用请求notification中的 cookieGET来解密任意密文并将输出反映在错误消息中。为简单起见,双击每个请求的选项卡并分别重命名选项卡encrypt和decrypt。
在解密请求中,复制您的stay-logged-incookie 并将其粘贴到notificationcookie 中。发送请求。响应现在包含解密的stay-logged-incookie,而不是错误消息,例如:

wiener:1598530205184
这表明 cookie 的格式应为username:timestamp. 将时间戳复制到剪贴板。

转到加密请求并将电子邮件参数更改为administrator:your-timestamp。发送请求,然后notification从响应中复制新的 cookie。
解密这个新的 cookie,并观察到 ​​23 个字符的“ Invalid email address: ”前缀会自动添加到您使用email参数传入的任何值中。将notificationcookie 发送到 Burp Decoder。
在解码器中,对 cookie 进行 URL 解码和 Base64 解码。
在 Burp Repeater 中,切换到消息编辑器的“十六进制”选项卡。选择前 23 个字节,然后右键单击并选择“删除所选字节”。
重新编码数据并将结果复制到notification解密请求的cookie中。发送请求时,观察有错误提示,说明使用的是基于块的加密算法,且输入长度必须是16的倍数,需要在“ Invalid email address: ”前缀中填充足够的字节,使得字节数您将删除 16 的倍数。
在 Burp Repeater 中,返回加密请求并在预期 cookie 值的开头添加 9 个字符,例如:

xxxxxxxxxadministrator:your-timestamp
加密该输入并使用解密请求来测试它是否可以成功解密。

将新密文发送到 Decoder,然后对其进行 URL 和 Base64 解码。这次,删除数据开头的 32 个字节。重新编码数据并将其粘贴到notification解密请求中的参数中。检查响应以确认您的输入已成功解密,并且最重要的是,不再包含“ Invalid email address: ”前缀。你应该只看到administrator:your-timestamp.
从代理历史记录中,将GET /请求发送到 Burp Repeater。完全删除该sessioncookie,并stay-logged-in用您自制的cookie的密文替换该cookie。发送请求。请注意,您现在已以管理员身份登录并有权访问管理面板。
使用 Burp Repeater,浏览/admin并注意删除用户的选项。浏览至/admin/delete?username=carlos求解实验室。

参考:

### BurpSuite靶场系列之逻辑漏洞
https://www.cnblogs.com/yii-ling/p/17152071.html#5-low-level-logic-flaw
https://mp.weixin.qq.com/s/rHFsfj8i4uXpadf9_A4IXg
### portswigger业务逻辑漏洞:
https://portswigger.net/web-security/logic-flaws#what-are-business-logic-vulnerabilities
### PayloadsAllTheThings业务逻辑错误
https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Business%20Logic%20Error
### owasp业务逻辑漏洞:
https://owasp.org/www-community/vulnerabilities/Business_logic_vulnerability
### 干货 | 业务逻辑漏洞挖掘总结
https://mp.weixin.qq.com/s/3EoBtqaS4KhZfmrLDr6hSQ
### 【Web渗透】业务逻辑漏洞
https://mp.weixin.qq.com/s/qvvlaE3inyzQzE5akOt9PA
https://mp.weixin.qq.com/s/XgXC_zGPGkO8uBahhTK5Uw

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

德思特干货|如何使用SBench 6对数字化仪采集信号进行处理?(三)——快速傅立叶变换(FFT)

来源:德思特测量测试 德思特干货|如何使用SBench 6对数字化仪采集信号进行处理?(三)——快速傅立叶变换(FFT) 原文链接:https://mp.weixin.qq.com/s/mYS1iDXFNVfReCGGtF78mw 欢迎关…

Ubuntu用gparted重新分配空间

ubuntu系统使用过程中安装系统时预先留的空间不够使用怎么办? 这么办! 首先 使用df -h 查看当前空间使用情况 已经分配的空间重新规划 ? 先将已分配的空间中的多余空间分离出来; 假设我想将挂载点/home下的一部分空间分给挂载…

用户资源(菜单)控制学习使用

效果图 第一步 需要再定义常量资源 //信访听证 资源前缀public static final String RESPREFIX_MODULE_XINFTZ_"module_xinftz_";//听证专家库public static final ConstantItem RES_MODULE_XINFTZ_TINGZZJK new ConstantItem(RESPREFIX_MODULE_XINFTZ_ "tin…

SpringCloud中服务间通信(应用间通信)-亲测有效-源码下载-连载2

1、微服务概述 本案例主要解决微服务之间的相互调用问题 如果已经理解什么是微服务,可以直接跳到实战。 本案例采用springBoot3.1.7springCloud2022.0.4版本测试 本案例使用springboot2.7.x版本测试代码相同 1、微服务是分布式架构,那么为什么要需要…

Unity中URP下的SimpleLit的 BlinnPhong高光反射计算

文章目录 前言一、回顾Blinn-Phong光照模型1、Blinn-Phong模型: 二、URP下的SimpleLit的 BlinnPhong1、输入参数2、程序体计算 前言 在上篇文章中,我们分析了 URP下的SimpleLit的 Lambert漫反射计算。 Unity中URP下的SimpleLit的 Lambert漫反射计算 我…

计算机网络自顶向下Wireshark labs1-Intro

Wireshark labs1 实验文档:http://www-net.cs.umass.edu/wireshark-labs/Wireshark_Intro_v8.0.pdf 介绍 加深对网络协议的理解通常可以通过观察协议的运行和不断调试协议来大大加深,具体而言,就是观察两个协议实体之间交换的报文序列&…

DEB方式安装elastic search7以及使用

参考:https://www.cnblogs.com/anech/p/15957607.html 1、安装elastic search7 #手动下载安装 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.1-amd64.deb wget https://artifacts.elastic.co/downloads/elasticsearch/elastics…

R语言简介

1.R语言 R语言是一种数学编程语言,主要用于统计分析、绘图和数据挖掘。 2.R语言特点 免费、开源,兼容性好(Windows、MacOS或Linux)。具有多种数据类型,如向量、矩阵、因子、数据集等常用数据结构。多用于交互式数据分析&#x…

Linux配置yum源以及基本yum指令

文章目录 一、yum介绍二、什么是软件包三、配置yum源四、一键配置yum源【三步走】五、yum指令搜索软件安装软件卸载软件 六、其他yum指令更新内核更新软件更新指定软件显示所有可更新的软件清单卸载指定包并自动移除依赖包删除软件包,以及软件包数据和配置文件 一、…

灵眸边缘计算产品学习

EASY EAI灵眸科技 | 让边缘AI落地更简单 (easy-eai.com) 产品简介 支持4路1080P30fps视频流采集,四核CPU1.5GHz与2Tops AI边缘算力能力。集成有以太网、Wi-Fi、4G等网络通信外设;RS232、RS485、UART等本地通信接口。HDMI显示屏接口、音频输入输出等交互…

打造出色的 Prometheus 监控系统,看完后薪资翻倍?

一、监控概念&误区 监控是管理基础设施和业务的核心工具,监控应该和应用程序一起构建和部署,没有监控,将无法了解你的系统运行环境,进行故障诊断,也无法阻止提供系统性的性能、成本和状态等信息。 误区&#xff1…

【江科大】STM32:(超级详细)定时器输出比较

文章目录 输出比较单元特点 高级定时器:均有4个通道 PWM简介PWM(Pulse Width Modulation)脉冲宽度调制输出比较通道PWM基本结构基本定时器 参数计算捕获/比较通道的输出部分详细介绍如下: 舵机介绍硬件电路 直流电机介绍&#xff…

C# 使用System.Threading.Timer 实现计时器

写在前面 以往一般都是用 System.Timers.Timer 来做计时器,而 System.Threading.Timer 也可以实现计时器功能,并且还可以配置首次执行间隔,在功能上比System.Timers.Timer更加丰富;根据这个特性就可以实现按指定时间间隔对委托进…

JDX图片识别工具1.0版本发布啦

软件介绍 软件核心功能软件界面软件下载软件教程 软件核心功能 工作当中经常处理大量的图片,网上搜索的工具都无法满足需求,因此自己研发批量图片识别工具。 目前还是内测版,1.0版本主要包含如下特性: 批量识别图片&#xff0c…

前端JS加密与Buspsuite的坦诚相待

前端JS加密测试场景下的困惑 在渗透测试过程中经常会遇到JS前端加密的场景,假如不借助任何工具的情况下,我们一般是把JS代码进行扣取,本地进行加解密生成Payload,然后在Burpsuite里进行Payload替换。这种方式就存在一个很明显的问…

自然语言处理--双向匹配算法

自然语言处理作业1--双向匹配算法 一、概述 双向匹配算法是一种用于自然语言处理的算法,用于确定两个文本之间的相似度或匹配程度。该算法通常使用在文本对齐、翻译、语义匹配等任务中。 在双向匹配算法中,首先将两个文本分别进行处理,然后…

使用Docker部署Apache Superset结合内网穿透实现远程访问本地服务

文章目录 前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网穿透,实现公网访问3. 设置固定连接公网地址 前言 Superset是一款由中国知名科技公司开源的“现代化的…

操作系统导论-课后作业-ch14

1. 代码如下&#xff1a; #include <stdio.h> #include <stdlib.h>int main() {int *i NULL;free(i);return 0; }执行结果如下&#xff1a; 可见&#xff0c;没有任何报错&#xff0c;执行完成。 2. 执行结果如下&#xff1a; 3. valgrind安装使用参考&a…

决策树的基本构建流程

决策树的基本构建流程 决策树的本质是挖掘有效的分类规则&#xff0c;然后以树的形式呈现。 这里有两个重点&#xff1a; 有效的分类规则&#xff1b;树的形式。 有效的分类规则&#xff1a;叶子节点纯度越高越好&#xff0c;就像我们分红豆和黄豆一样&#xff0c;我们当然…

UI设计中的插画运用优势(下)

6. 插画赋予设计以美学价值&#xff0c;更容易被接受 即使所有人都在分析和争论产品的可用性和易用性&#xff0c;大家在对美的追求上&#xff0c;始终保持着一致的态度。一个设计是否具备可取性&#xff0c;是否能够通过甲方、客户和实际用户&#xff0c;是每个设计人都需要面…