首页 前端知识 2024年网络安全最全Web安全-CTF中的常见命令总结_webctf 修改css(2),2024年最新诚意分享

2024年网络安全最全Web安全-CTF中的常见命令总结_webctf 修改css(2),2024年最新诚意分享

2024-06-22 01:06:20 前端知识 前端哥 113 425 我要收藏

本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。

最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。

学习路线图

其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。

相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。

网络安全工具箱

当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。

项目实战

最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

r123@localhost:~$ sed -n 2,4p content.txt
只因你实在是太美 baby
只因你太美 baby
迎面走来的你让我如此蠢蠢欲动
r123@DESKTOP-TIAOGA4:~$ sed -n /只因/p content.txt
只因你太美 baby
只因你实在是太美 baby
只因你太美 baby

输出全部内容

r123@localhost:~$ sed -n p content.txt
只因你太美 baby
只因你实在是太美 baby
只因你太美 baby
迎面走来的你让我如此蠢蠢欲动

你是小黑子 我是真ikun

  • s :替换, c 的后面可以接字串,这些字串可以替换目标行范围的内容,不过它支持正则表达式

如下匹配1-3行的,并将你替换为

r123@localhost:~$ sed -e 1,3s/你/坤/g content.txt
只因坤太美 baby
只因坤实在是太美 baby
只因坤太美 baby
迎面走来的你让我如此蠢蠢欲动

你是小黑子 我是真ikun

strings命令的常用选项

strings 命令用于从二进制文件中提取可打印的字符序列。这通常用于查看二进制文件中的文本信息,例如查看可执行文件或库文件中的字符串。

  • -a:显示所有字符串,而不仅仅是具有可打印字符的字符串(无法显示中文)。
r123@localhost:~$ strings -a MyMainClass.java
public class MyMainClass{
    public static void main(String[] args){
        System.out.println("Hello World!!!");
    }

  • -n <min-len>:指定要显示的最小字符串长度。
  • -t <radix>:指定在输出中打印字符串当前分段位置时使用的进制(例如,-t d 表示十进制)。

如下的第一行 public class MyMainClass{终止于第26位,则第二行开头为27

r123@localhost:~$ strings -t d  MyMainClass.java
      0 public class MyMainClass{
     27     public static void main(String[] args){
     72         System.out.println("Hello World!!!");
    119     }

  • -e <encoding>:指定输入文件的字符编码。
  • S--encoding=S:表示将输出解释为单字节字符。
  • L--encoding=L:表示将输出解释为双字节字符。
  • B--encoding=B:表示将输出解释为四字节字符。
r123@localhost:~$ strings -e L MyMainClass.java
r123@localhost:~$ strings -e S MyMainClass.java
public class MyMainClass{
    public static void main(String[] args){
        System.out.println("Hello World!!!");
    }

curl命令的常用选项

通常来讲,curl命令与下面的的wget命令都可以用来外带数据到其他地方供我们查看,是主要的利用点

curl是一个命令行工具和库,用于在终端中进行数据传输。它支持多种协议,包括 HTTP、HTTPS、FTP、FTPS、SCP、SFTP 等,可以用来发送和接收数据,执行各种网络操作。

  • -X, --request : 指定 HTTP 请求方法,如 GET、POST、PUT 等。
r123@localhost:~$ curl -X GET https://www.baidu.com
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> 
...

也可以直接发起请求:

r123@localhost:~$ curl https://www.baidu.com
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head>
...

  • -H, --header
    : 添加自定义的 HTTP 头信息。
curl -H "Content-Type: application/json" http://example.com

  • -d, --data : 发送 POST 请求时,用于传递数据。
curl -d "param1=value1&param2=value2" http://example.com/resource

  • -i, --include: 在输出中包含 HTTP 头信息。
r123@localhost:~$ curl -i https://www.baidu.com
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 2443
Content-Type: text/html
...

  • -o, --output : 将输出保存到文件。
curl -o output.txt http://example.com/file.txt

  • -L, --location: 自动跟随重定向。
curl -L http://example.com

  • -c, --cookie : 发送请求时携带 cookie。
curl -b "cookie1=value1;cookie2=value2" http://example.com

  • -u, --user user:password: 提供用户名和密码进行身份验证。
curl -u username:password http://example.com

  • –insecure: 忽略 SSL 证书验证。
curl --insecure https://example.com

wget命令的常用选项

wget 是一个在命令行下使用的网络下载工具,用于从 Web 或 FTP 服务器下载文件。它支持 HTTP、HTTPS 和 FTP 协议,可以在终端中执行,也可以作为后台任务运行

  • 下载文件
wget http://example.com/file.txt

  • 下载并保存为指定文件名
wget -O output.txt http://example.com

  • 后台下载
wget -b http://example.com/file.txt

  • 断点续传
wget -c http://example.com/largefile.zip

  • 限速下载
wget --limit-rate=200k http://example.com/file.zip

  • 递归下载
wget -r http://example.com/directory/

  • 下载整个网站,并转换链接为本地链接
wget --convert-links -r http://example.com

  • 下载并跟随重定向(指定了重定向的最大次数)
wget --max-redirect=5 http://example.com

  • 只下载特定文件类型
wget -r --accept=pdf,doc http://example.com/documents/

  • 使用代理
wget --proxy=http://proxy.example.com:8080 http://example.com/file.txt

  • 禁用目录递归
wget --no-parent http://example.com/directory/

sh命令与常用选项

sh 是一个 Unix 操作系统中的命令行 shell,用于执行命令和脚本:

命令/选项描述
shUnix shell 命令行解释器
-c command在 shell 中执行指定的命令
-s使 sh 成为非交互式 shell
-n检查语法错误,不执行实际命令
-r启动受限制的 shell 模式
-e一旦命令返回非零退出状态,立即退出
-x打印每个要执行的命令和参数,用于调试
-v启用详细输出,显示每个命令的执行过程

除了上述的常用选项,我们也可以借助调试shell脚本那样来查看文件:

r123@localhost:~$ sh content.txt
content.txt: 1: 只因你太美: not found
content.txt: 2: 只因你实在是太美: not found
content.txt: 3: 只因你太美: not found
: not found: 4: 迎面走来的你让我如此蠢蠢欲动
: not found: 5:
content.txt: 6: 你是小黑子: not found

dd命令与常用选项

dd 命令是一个用于复制和转换文件的命令行工具。它通常用于对设备和文件进行底层操作,例如创建镜像、备份和复制数据。dd 的名称来源于 “数据定义”(data definition),并且功能非常强大,需要小心使用,因为它可以直接操作设备,而不提供太多安全性保护

选项描述
if=input_file指定输入文件的路径,即数据的来源。例如,if=/dev/sdb 表示从设备 /dev/sdb 读取数据。
of=output_file指定输出文件的路径,即数据的目标。例如,of=image.img 表示将数据写入名为 image.img 的文件。
bs=block_size指定块大小,即每次读取和写入的数据块大小。例如,bs=4K 表示使用 4KB 的块大小。
count=num_blocks指定要复制的块数。用于限制复制的数据量。例如,count=100 表示只复制 100 个块。
seek=skip_blocks在输出中跳过指定数量的块。用于在写入时跳过一些数据。例如,seek=10 表示在输出文件中跳过前 10 个块。
skip=skip_blocks在输入中跳过指定数量的块。用于在读取时跳过一些数据。例如,skip=5 表示在输入文件中跳过前 5 个块。
status=progress在复制过程中显示进度信息,包括已复制的字节数和速度。
  • 复制整个硬盘数据到镜像文件:dd if=/dev/sda of=image.img bs=4M
  • 创建随机数据文件:dd if=/dev/urandom of=random_data bs=1M count=10
  • 将镜像文件写入设备:dd if=image.img of=/dev/sdb bs=4M

如果运行 dd if=content.txt 命令而没有指定输出文件路径(of=output_file),dd 命令将默认将输入文件 content.txt 的内容写入标准输出(通常是终端或控制台),即获得如下结果:

r123@localhost:~$ dd if=content.txt
只因你太美 baby
只因你实在是太美 baby
只因你太美 baby
迎面走来的你让我如此蠢蠢欲动

你是小黑子 我是真ikun
0+1 records in
0+1 records out
152 bytes copied, 4.73e-05 s, 3.2 MB/s

rev命令的简单使用

rev 是一个 Linux 命令,用于反转文本中的字符顺序。它会将每一行的字符逆序排列,即将每个字符从最后一个字符到第一个字符的顺序进行反转,它不会更改原始文件的内容,而是在输出时显示反转后的结果。

r123@localhost:~$ rev content.txt
ybab 美太你因只
ybab 美太是在实你因只
ybab 美太你因只
动欲蠢蠢此如我让你的来走面迎

nuki真是我 子黑小是你

tac命令的简单使用

tac 命令用于反向显示文本文件的内容,即从最后一行到第一行。

r123@localhost:~$ tac content.txt
你是小黑子 我是真ikun

迎面走来的你让我如此蠢蠢欲动
只因你太美 baby
只因你实在是太美 baby
只因你太美 baby

lzop命令与常用选项

老生常谈的tar命令不再赘述,lzop命令,gzip命令,bzip2命令与tar通常情况下用于在特殊情况下将flag目录打包,方便进行转移

lzop 是一个用于压缩和解压缩文件的命令行工具,它采用 Lempel-Ziv-Oberhumer 压缩算法。该工具主要用于在 Linux 系统中进行数据压缩,以减小文件大小并提高存储效率。

选项描述
-d解压缩文件。
-f强制执行,即使文件已存在也进行压缩。
-k保留原始文件。
-t测试压缩文件的完整性。
-q静默模式,减少输出信息。
r123@localhost:~/test$ lzop MyMainClass.java
r123@localhost:~/test$ ll
total 16
drwxr-xr-x 2 r123 r123 4096 Jan 20 23:52 ./
drwxr-x--- 3 r123 r123 4096 Jan 20 23:52 ../
-rw-r-Sr-- 1 r123 r123  127 Jan 17 22:52 MyMainClass.java
-rw-r-Sr-- 1 r123 r123  193 Jan 17 22:52 MyMainClass.java.lzo
r123@localhost:~/test$ lzop -df MyMainClass.java.lzo
r123@localhost:~/test$ ll
total 16
drwxr-xr-x 2 r123 r123 4096 Jan 20 23:52 ./
drwxr-x--- 3 r123 r123 4096 Jan 20 23:52 ../
-rw-r-Sr-- 1 r123 r123  127 Jan 17 22:52 MyMainClass.java
-rw-r-Sr-- 1 r123 r123  193 Jan 17 22:52 MyMainClass.java.lzo

gzip命令与常见选项

gzip 命令是用于对文件进行压缩的常见命令。它使用 Lempel-Ziv (LZ77) 压缩算法进行压缩,并且通常以 .gz 扩展名来标识压缩文件。

指令说明
gzip [文件]将文件压缩到当前目录(不会保留源文件)
-c将数据输出到标准输出中,并保留源文件
-d对压缩文件进行解压缩
-r递归压缩指定目录下以及子目录下的所有文件
-v显示每个压缩和解压缩文件的文件名和压缩比
r123@localhost:~$ gzip content.txt
r123@localhost:~$ ls
MyMainClass.java  content.txt.gz
r123@localhost:~$ gzip -dc content.txt.gz
只因你太美 baby
只因你实在是太美 baby
只因你太美 baby
迎面走来的你让我如此蠢蠢欲动

你是小黑子 我是真ikun

bzip2命令与常用选项

bzip2 是一个用于数据压缩的命令行工具,它使用 Burrows-Wheeler 转换和 Huffman 编码进行压缩。它默认不保留源文件

指令说明
bzip2 [文件名]直接将文件压缩至当前目录
-k保留源文件
-d解压文件指令
-t检验文件完整性
-c将数据输出到标准输出中,并保留源文件
r123@localhost:~$ bzip2 content.txt
r123@localhost:~$ ls
MyMainClass.java  content.txt.bz2
r123@localhost:~$ bzip2 -d content.txt.bz2
r123@localhost:~$ ls
MyMainClass.java  content.txt
r123@localhost:~$ bzip2 -dc content.txt.bz2
只因你太美 baby
只因你实在是太美 baby
只因你太美 baby
迎面走来的你让我如此蠢蠢欲动

你是小黑子 我是真ikun
r123@localhost:~$ ls
MyMainClass.java  content.txt.bz2

zcat命令的简单使用

zcat 命令是用于查看压缩文件内容的命令。它实际上是 zcat 程序的软链接,用于显示 gzip 或 bzip2 压缩文件的内容,而无需先解压缩文件。

r123@localhost:~$ zcat content.txt.gz
只因你太美 baby
只因你实在是太美 baby
只因你太美 baby
迎面走来的你让我如此蠢蠢欲动

你是小黑子 我是真ikun

r123@localhost:~$ bzcat content.txt.bz2
只因你太美 baby
只因你实在是太美 baby
只因你太美 baby
迎面走来的你让我如此蠢蠢欲动

你是小黑子 我是真ikun

od命令与常用选项

od 命令用于以各种不同的格式(八进制、十进制、十六进制等)显示文件的内容。它通常用于查看二进制文件或文本文件的非文本部分。

选项描述
不携带参数默认以八进制格式显示文件内容,每组显示 16 个字节。
-x以十六进制格式显示文件内容。
-d以十进制格式显示文件内容。
-N N指定要显示的字节数。
-c以字符形式显示文件内容。
-A x显示文件偏移地址。
-t c以可读的 ASCII 码形式显示字符。
r123@localhost:~$ od MyMainClass.java
0000000 072560 066142 061551 061440 060554 071563 046440 046571
0000020 064541 041556 060554 071563 006573 020012 020040 070040
0000040 061165 064554 020143 072163 072141 061551 073040 064557
0000060 020144 060555 067151 051450 071164 067151 055547 020135
0000100 071141 071547 075451 005015 020040 020040 020040 020040
0000120 074523 072163 066545 067456 072165 070056 064562 072156
0000140 067154 021050 062510 066154 020157 067527 066162 020544
0000160 020441 024442 006473 020012 020040 076440 005015 000175
0000177
r123@localhost:~$ od -c MyMainClass.java
0000000   p   u   b   l   i   c       c   l   a   s   s       M   y   M
0000020   a   i   n   C   l   a   s   s   {  \r  \n                   p
0000040   u   b   l   i   c       s   t   a   t   i   c       v   o   i
0000060   d       m   a   i   n   (   S   t   r   i   n   g   [   ]
0000100   a   r   g   s   )   {  \r  \n
0000120   S   y   s   t   e   m   .   o   u   t   .   p   r   i   n   t
0000140   l   n   (   " H e l l o W o r l d !
0000160 ! ! "   )   ;  \r  \n                   }  \r  \n   }


**先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7**

**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/c35028ca414d9be586e44d21ff3e7578.png)
![img](https://img-blog.csdnimg.cn/img_convert/e0dc8afb8bda81afeaabc20703d01156.png)
![img](https://img-blog.csdnimg.cn/img_convert/dd9a7342c372a86716d252e8e2412c07.png)
![img](https://img-blog.csdnimg.cn/img_convert/f625637ee055e3a7d96bbfae3be4b0fc.png)
![img](https://img-blog.csdnimg.cn/img_convert/59f0675e80d001c43b3242bb79001652.png)
![img](https://img-blog.csdnimg.cn/img_convert/b7317f9481febfc6655e539539b3d2b3.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

            }  \r  \n   }


**先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7**

**深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。**
[外链图片转存中...(img-QIESBZqb-1715432471583)]
[外链图片转存中...(img-bYgbpfVc-1715432471584)]
[外链图片转存中...(img-vMdZaYbB-1715432471585)]
[外链图片转存中...(img-LgJXXUDP-1715432471585)]
[外链图片转存中...(img-5CJlAzvB-1715432471586)]
[外链图片转存中...(img-1q6ULSop-1715432471586)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

转载请注明出处或者链接地址:https://www.qianduange.cn//article/13244.html
标签
网络安全
评论
发布的文章

Java操作读取JSON文件

2024-07-21 00:07:04

Vue3.0环境搭建之npm的安装

2024-07-21 00:07:09

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!