Echo战队第1次培训——Linux基本命令1

Linux基本命令1 1、mkdir 命令 mkdir ​ **作用:**命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录 ​ **语法:**mkdir [选项] 目录 ​ **命令功能:**通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写) ​ 命令参数: 选项参数 完整参数 功能描述 -m --mode=模式 设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask -p --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录; -v --verbose --help --version --verbose 每次创建新目录都显示信息–help显示此帮助信息并退出–version输出版本信息并退出 ​ 示例如下: # 创建目录 正常使用无参数 [root@localhost text.txt]# mkdir mydir [root@localhost text.txt]# ll 总用量 0 drwxr-xr-x. 2 root root 6 9月 7 13:06 mydir # 切换至mydir目录 [root@localhost text.txt]# cd mydir/ # 参数-p 进行递归创建目录 使用参数 -p [root@localhost mydir]# mkdir -p text1/text2 # 切换至text2目录 [root@localhost mydir]# cd text1/text2/ [root@localhost text2]# pwd /root/mydir/text1/text2 总结:# 使用参数 -p 可以创建多层路径文件目录 # 分别创建三个目录,并设置权限 使用参数 -m [root@localhost text2]# mkdir -m 777 exercise1 [root@localhost text2]# mkdir -m 765 exercise2 [root@localhost text2]# mkdir -m 654 exercise3 [root@localhost text2]# ll 总用量 0 drwxrwxrwx. 2 root root 6 9月 7 13:22 exercise1 drwxrw-r-x. 2 root root 6 9月 7 13:23 exercise2 drw-r-xr--. 2 root root 6 9月 7 13:23 exercise3 总结:# 使用参数 -m 可以创建文件并设置文件的权限 注意(777,765,654 其中每一个数字,分别表示User、Group、及Other的权限。r=4,w=2,x=1) # 创建一个目录,并设置权限 使用参数 -v -m [root@localhost text2]# mkdir -v -m 654 exercise4 mkdir: 已创建目录 "exercise4" 2、touch 命令 touch ...

November 23, 2022 · 8 min · Red

PortSwigger篇:Cross-site scripting 跨站脚本攻击——2

靶场简介 我们将拿ALL Lab中有关XSS的第一个靶场进行分析 作为一种和Sql注入方法类似但原理又大相径庭的攻击方式,XSS具备了比Sql注入更便捷的漏洞类型,例如储存型XSS(stored XSS) 下面我们来看一下这个靶场和拿下方法 这个靶场的solution直接告诉了我们提交的方法,我们可以在搜索框中提交<script>alert(1)</script>就能通过 但它的原理是什么呢? 首先我们可以通过审查元素,看一下我们的搜索按钮的属性和动作 你可以通过按键盘上的F12键来打开,点击左上角的,再点一下Search按钮,就能定位到Search按钮的标签 从上面的标签中我们可以知道,搜索框的input标签才是我们的注入点。这里,我们补充一下对form这个标签的介绍 form标签用于创建供用户输入的 HTML 表单,而input和button是属于form的表单元素。简单来说,form标签决定了input输入内容的提交地址是根目录/,以及提交的动作类型get。而我们输入的内容则被提交到了JS文件中。因此,我们就可以看到一个弹窗

November 23, 2022 · 1 min · Red

Echo战队第1次培训——Linux文件与路径

Linux文件与路径 1、文件结构 ​ Windows和Linux文件系统区别 ​ 在windows平台下,打开“此电脑”,我们可以看到盘符分区 ​ 每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形 ​ 但是在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录): ​ Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面 [root@localhost ~]# ls / bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var ​ 当我们输入ls / 可以查看更目录下的文件查看根目录下的系统文件 目录 说明 备注 bin 存放普通用户可执行的指令 即使在单用户模式下也能够执行处理 boot 开机引导目录 包括Linux内核文件与开机所需要的文件 dev 设备目录 所有的硬件设备及周边均放置在这个设备目录中 etc 各种配置文件目录 大部分配置属性均存放在这里 lib/lib64 开机时常用的动态链接库 bin及sbin指令也会调用对应的lib库 media 可移除设备挂载目录 类似软盘 U盘 光盘等临时挂放目录 mnt 用户临时挂载其他的文件系统 额外的设备可挂载在这里,相对临时而言 opt 第三方软件安装目录 现在习惯性的放置在/usr/local中 proc 虚拟文件系统 通常是内存中的映射,特别注意在误删除数据文件后,比如DB,只要系统不重启,还是有很大几率能将数据找回来 root 系统管理员主目录 除root之外,其他用户均放置在/home目录下 run 系统运行是所需文件 以前防止在/var/run中,后来拆分成独立的/run目录。重启后重新生成对应的目录数据 sbin 只有root才能运行的管理指令 跟bin类似,但只属于root管理员 srv 服务启动后需要访问的数据目录 sys 跟proc一样虚拟文件系统 记录核心系统硬件信息 tmp 存放临时文件目录 所有用户对该目录均可读写 usr 应用程序放置目录 var 存放系统执行过程经常改变的文件 ​ 在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。 ...

November 22, 2022 · 4 min · Red

PortSwigger篇:Cross-site scripting 跨站脚本攻击——1

前情概要 要想理解“跨站脚本攻击”(又叫XSS)的原理,就得回到其产生的根本——JS传参语句的设计缺陷 什么是JS?JS是怎么实现的?他跟网站又有什么关系?别急,让我们一步一步来 基础知识 要想理解JS的工作原理,以及其与网站的联系,就需要知道网站是怎么工作的 简而言之,我们之所以能够看到现在的网页,正是浏览器渲染的功劳 而一个完整的网页,一般都包括但不限于两种标记语言和一种编程语言,他们分别是HTML、CSS和Javascript 要想具体深入我们的XSS脚本漏洞使用,就需要先理解一下这三者之间的联系和作用分别是什么 下面我们就开始对这三者展开简单讨论 HTML HTML是一种用于创建网页的标准标记语言,可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Red的教程(redshome.top)</title> </head> <body> <h1>我的第一个标题</h1> <p>我的第一个段落。</p> </body> </html> 这是一段简单的HTML标记语句,每一个<>包括其中的内容都叫一个标签,而正常需要使用一对标签进行配对,将需要进行的动作放置在这对标签的中间,中间的这些动作就能具备这对标签的属性 如果我们将其使用.html或.htm后缀文件的形式用浏览器打开后,会发现他们二者都是可以正常打开的 所以这里我们便得到了第一个结论,html和htm是同一种格式的文件 下面我们来对各个部分进行一下解释 <!DOCTYPE html> 声明为 HTML5 文档 <html> 元素是 HTML 页面的根元素 <head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8。 <title> 元素描述了文档的标题 <body> 元素包含了可见的页面内容 <h1> 元素定义一个大标题 <p> 元素定义一个段落 更多的标签使用,可以参考菜鸟教程上的HTML教程 CSS CSS又叫层叠样式表,是一种用来添加HTML文件如字体、间距等样式的标记语言。扩展名固定为.css CSS的使用与HTML紧密联系。让我们先来看一段HTML标记 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Red的教程(redshome.top)</title> <style> body { background-color:#d0e4fe; } h1 { color:orange; text-align:center; } p { font-family:"Times New Roman"; font-size:20px; } </style> </head> <body> <h1>CSS 实例!</h1> <p>这是一个段落。</p> </body> </html> 我们可以看到他的效果如下图所示 首先我们先来介绍一下CSS的常见使用方法以及CSS的基础知识。 先来看一下CSS的语句结构 ...

November 21, 2022 · 2 min · Red

XUJCOJ:caiming:2022级C++第23次作业 第1题

第1题 描述 输入一个正整数n,然后输入n个字符串,最后输入一个正整数m(m<=n),要求输出第m个字符串 输入 一个正整数n,然后是n个字符串,最后是一个正整数m(m<=n) 输出 一个字符串,是输入的n个字符串中第m个字符串。不要换行。 样例输入 3 abc cd efg 2 样例输出 cd 思路 怎么说也是道签到题,但这道题有趣的并不是他的难易度,而是有关malloc和new两种不同动态分配方式的讨论 代码[C] [Forlogin] #include <stdio.h> #include <string.h> int main(){ int m,n; scanf("%d",&m); char *p[m]; for(int i=0;i<m;i++){ p[i]=(char*)malloc(100*sizeof(char)); scanf("%s",p[i]); }scanf("%d",&n); printf("%s",p[n-1]); }[/Forlogin] 代码[C++] [Forlogin] #include <iostream> #include <string.h> using namespace std; int main(){ int m,n; cin>>m; char *p[m]; for(int i=0;i<m;i++){ p[i]=new char [10]; cin>>p[i]; }cin>>n; cout<<p[n-1]; }[/Forlogin] 有关malloc和new的区别 对于一个长期使用C语言的老鸟而言,malloc的熟练程度一定要比new要来的高 但是他们俩有什么区别呢? 首先来说一下他们的定义分别是什么 malloc malloc的作用是分配所需的内存空间,并返回一个指向它的指针,是C语言stdlib.h库的一个库函数,下面是malloc的声明 void *malloc(size_t size) malloc的返回值是指向已分配大小的内存的指针或null,且在未作特别规定的情况下指针类型位void 下面是malloc的用法实例(源自菜鸟教程) #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { char *str; /* 最初的内存分配 */ str = (char *) malloc(15); strcpy(str, "runoob"); printf("String = %s, Address = %u\n", str, str); /* 重新分配内存 */ str = (char *) realloc(str, 25); strcat(str, ".com"); printf("String = %s, Address = %u\n", str, str); free(str); return(0); } 以上运行结果的返回值是 ...

November 16, 2022 · 1 min · Red