[太原理工大学] 2023 年底 信息安全技术考试复习

[太原理工大学] 2023 年底 信息安全技术复习

今年的考试复习,希望考研班和就业班的同学们都能获得好成绩,就业班的找到好工作,考研班的全部上岸!

题型
单选,多选,填空,判断,简答(没说分值)

linux

函数 rm -rf /* 删除全部文件
关键文件路径的意义
/var (含系统一般运行时要改变的数据)

/tmp(缓存文件路径	放木马的)

/etc(存放系统管理时要用到的各种配置文件和子目录)**

/bin(主要放置系统的必备执行文件)**
uid 代表什么意思?
用户 ID(User ID,简称 UID)

0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。

在这里插入图片描述

命令
groupadd groupname	新建系统用户组。
useradd -u 510 -g 500 -d /dict -s /sbin/nologin username	创建username用户名,其uid=510(必须是系统中不存在的),gid=500(必须是系统中已经存在的),-d /dict表示自定义的用户家目录为dict,-s 表示自定义shell为/sbin/nologin。
chgrp  bin log2012.log		将log2012.log的所属组更改为 bin(-r是递归修改)
ssh?
SSH默认情况下通过端口22运行
SSH是一种非常安全的协议,因为它共享并发送经过加密的信息,从而为通过互联网等不安全的网络访问的数据提供了机密性和安全性。
telnet ?
Telnet使用端口23,它是专门为局域网设计的。
Telnet不是一种安全通信协议,因为它并不使用任何安全机制,通过网络/互联网传输明文格式的数据,包括密码,所以谁都能嗅探数据包。(无加密)
在渗透测试中,常用Telnet快速探测端口
权限rwx?
-rwxrwxrwx (-)开头是一个文件
drwxrwxrwx (d) 可能是一个目录

 r=read(读取)
 w=write(写入)
 x(exe)(执行)
  
第一组代表文件主的权限
第二组代表同组用户权限
第三组代表其他用户的权限
-/rwx(第一组)/rwx(第二组)/rwx(第三组)

数字模式
例如:rwx r-x r-- ==> 754
r=4 w=2 x=1 就是相加
模式 数字 
rwx 7 
rw- 6 
r-x 5 
r-- 4
-wx 3 
-w- 2 
--x 1 
--- 0
密码文件路径
Windows:	c:\windows\system32\config\SAM
Linux:	/etc/shadow
查看用户?

​ net user

其他用法(可作为补充)
net user [<UserName> {<Password> | *} [<Options>]] [/domain]
net user [<UserName> {<Password> | *} /add [<Options>] [/domain]]
net user [<UserName> [/delete] [/domain]]
查看共享?

​ net share

net share列出了Windows的默认共享文件夹(关了这个防止空连接漏洞)

其他用法(可作为补充)
net share 博客=F:\娱乐\种子 我设置了一个名为“博客”的共享,路径为:“F:\娱乐\种子”。
net share c$ /del 停止共享C:

密码

Hash算法: MD5、SHA-1、SHA-256(选择题)
非hash算法
PKI(公开密钥基础设施) === CA(证书颁发机构)+ 数字证书+公钥加密技术+RA(注册机构)等
数字证书遵循国际(X.509)标准。
数据库的默认端口
mysql 3306
oracle 1521
mssql(sqlserver) 1433
redis 6379

数通(重点看)

路由 跳转 有优先级(与管理距离成反比?)
C>S>O>R>S*

C代表直连路由,S代表静态路由,O代表从ospf协议学习到的路由,R代表rip协议学习到的路由条目,S*.代表静态默认路由
静态路由的默认管理距离值为 ? (1)
192.168.0.0到192.168.255.255是一个私有IP地址范围
私有地址
A类 10.0.0.0 --10.255.255.255
B类 172.16.0.0–172.31.255.255
C类 192.168.0.0–192.168.255.255
dhcp四个阶段:发现阶段(广播),提供阶段(单播/广播),选择阶段(广播),确认阶段(单播)
在TCP首部中有6个标志位 每个标志位的作用? (可能考syn,是个简答)
URG:此标志表示TCP包的紧急指针域(后面马上就要说到)有效,用来保证TCP连接不被中断,并且督促中间层设备要尽快处理这些数据;
ACK:此标志表示应答域有效,就是说前面所说的TCP应答号将会包含在TCP数据包中;有两个取值:0和1,为1的时候表示应答域有效,反之为0;
PSH:这个标志位表示Push操作。所谓Push操作就是指在数据包到达接收端以后,立即传送给应用程序,而不是在缓冲区中排队;
RST:这个标志表示连接复位请求。用来复位那些产生错误的连接,也被用来拒绝错误和非法的数据包;

SYN:表示同步序号,用来建立连接。SYN标志位和ACK标志位搭配使用,当连接请求的时候,SYN=1,ACK=0;连接被相应的时候,SYN=1,ACK=1;这个标志的数据包经常被用来进行端口扫描。扫描者发送一个只有SYN的数据包,如果对方主机响应了一个数据包回来 ,就表明这台主机存在这个端口;但是由于这种扫描方式只是进行TCP三次握手的第一次握手,因此这种扫描的成功表示被扫描的机器不很安全,一台安全的主机将会强制要求一个连接严格的进行TCP的三次握手;

FIN:表示发送端已经达到数据末尾,也就是说双方的数据传送完成,没有数据可以传送了,发送FIN标志位的TCP数据包后,连接将被断开。这个标志的数据包也经常被用于进行端口扫描。当一个FIN标志的TCP数据包发送到一台计算机的特定端口,如果这台计算机响应了这个数据,并且反馈回来一个RST标志的TCP包,就表明这台计算机上没有打开这个端口,但是这台计算机是存在的;如果这台计算机没有反馈回来任何数据包,这就表明,这台被扫描的计算机存在这个端口。
IP协议报文头部字段含义(肯定是个大题,老师说全背)

请添加图片描述

	IP协议版本:0100-ipv4 0110-ipv6
	首部长度字段:占4比特。因为头部长度不固定(Option可选部分不固定),所以需要标识该分组的头部长度多少,用4bit表示,以4byte为单位,取值范围:5-15,即20-40byte(其他字段也是类似的计算方式,因为bit位是不够表示该字段的值)。普通IP数据报(没有任何选项),该字段的值是5,即160比特=20字节。此字段最大值为60字节
	总长度字段:占16比特,表示整个IP 数据报长度,包括数据部分。指明整个数据报的长度(以字节为单位)。最大长度为65535字节。链路只允许1500byte,所以一般都需要MTU分片。
    标识符字段:占16比特。每个IP包的唯一值,相同的分片标识相同,用来唯一地标识主机发送的每一份数据报。通常每发一份报文,它的值会加1。Fragment ID,通常与标记字段和分片偏移字段一起用于IP报文的分片。当原始报文大小超过MTU,那么就必须将原始数据进行分片。每个被分片的报文大小不得超过MTU,而这个字段还将在同一原始文件被分片的报文上打上相同的标记,一般接收设备可以识别出属于同一个报文的分片。由源主机随机产生的一个号码,用于帮助重新组合一个被分段的数据包,当一个IP数据包从一个主机传输到另外一个主机时,它一般都需要通过另外一个网络,每一个物理网络都有一个最大帧的大小,也就是我们常说的最大传输单元(MTU),它限制了一个物理帧中数据的大小,当主机发送的数据超过了某一设备的MTU时,这时IP就会用一进程来对超过MTU的数据包进行分段,这个进程建立了一个小于MTU的数据报的集合,因此最终IP数据包以合适的大小发送到目标主机,由于数据包分过段,所以目标主机在接收数据包时会新建立一个缓存区来接收分段的数据包,目标主机判断某一数据包是否和其它数据包一样也是经过分段的就是通过判断标识符是否一样。在分段时只有数据会被分段,报头是复制而作为分段数据的头部。
    标志位字段(Flags):占3比特,但目前只有两位有意义,用来标志数据包是否分段。标志字段中间的一位为DF(Don't Fragment),意思是不能分片,只有当DF=0时才允许分片。标志字段中最低位记为包含DF(MF(more fragment),MF=1表示后面还有分片的数据包,MF=0表示这已是若干数据包片中的最后一片。当DF的值为1时,则MF的值必为0,DF为1,则说明数据包不能分段。同样可以知道当MF为1时,则DF为0,这表示的是数据包有分段。
    段偏移量字段(Fragmentation offset):占13比特,片偏移以8个字节为偏移单位,每个分片的长度一定是8字节的整数倍。如果一份数据报要求分段的话,此字段指明该段偏移距原始数据报开始的位置。标识某个分片在分组中的位置,也就是标识本包在整个包中的位置,任何一片数据的丢失需要上层重传整个报文。接收主机可以使用该字段的值来计算当前分段数据在原始数据报中的原始位置,由于该字段占用13个比特位,所以其最大值为8192,由于该字段的值是以8个字节为一个单位表示的,因此该字段可以表示在原始的数据报中的最远位置可以是65528个字节。举个例子来说吧,当某个数据包的大小为640个字节,现在分成8个大小为80个字节的数据包,这样第一个数据包的偏移量为0,则第二个数据包的偏移量就为10,后面的数据包依此计算可得到最后一个数据包的片偏移量是70。当然有些时候片偏移量就是0,这表示些数据包没有分段。
    TTL值字段:占8比特,限制IP数据包在计算机网络中的存在的时间,即数据包可以经过的路由器数,每经过一个路由器,TTL减去1,当它为0时,则该数据报被丢弃。TTL值的查看可以通过ping命令查看,根据操作系统的不同TTL默认最大取值也会有所不同, linxu为TTL=255,win98为TTL=128,win7为TTL=64这都是由应用程序自由决定的。TTL的最大值是255,TTL的一个推荐值是64。
    MTU:max transfer unit,最大传输单元。一般是1500个字节。一个ip数据报分片的单位。它是包括ip首部在内的。由于一般的ip首部是20个字节,因此一般的ip数据是1480个字节。
    协议号字段:占8比特。确定在数据包内传送的上层协议,和端口号类似,IP 协议用协议号区分上层协议,指明IP层所封装的上层协议类型,以便目的主机的网络层知道将数据部分上交给哪个处理过程。ICMP协议的协议号为1,IGMP协议的协议号为2,TCP 协议的协议号为6,UDP 协议的协议号为17。
    源IP、目标IP:各占32比特。用来标明发送IP数据报文的源主机地址和接收IP报文的目标主机地址。
ARP —> 网络层
IP数据包 --> 每发一次路由器 TTL发生变化
DNS查询工具 ? 有哪些 (whois, dig,nslookup 等等)
TCP/IP五层协议模型 IP、ICMP、ARP、TCP、UDP 属于网络层?传输层?

img

物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。
数据链路层:接收来自物理层的位流形式的数据,并封装成帧,传送到上一层。
*网络层:将网络地址翻译成对应的物理地址,并通过路由选择算法为分组通过通信子网选择最适当的路径。(网络层的协议多看,有选择)
*传输层:在源端与目的端之间提供可靠的透明数据传输。
会话层:负责在网络中的两节点之间建立、维持和终止通信。
表示层:处理用户信息的表示问题,数据的编码,压缩和解压缩,数据的加密和解密。
*应用层:为用户的应用进程提供网络通信服务。

请添加图片描述

网络安全

php://filter伪协议

​ 干什么的:获取源码

文件包含关键函数: require、include、include_once、Require_once
SESSION会话的值存储在 (服务器端)

cookie和session的区别

Cookie和Session都是客户端与服务器之间保持状态的解决方案
1.存储的位置不同:cookie:存放在客户端,session:存放在服务端。Session存储的数据比较安全。
2.存储的数据类型不同:
两者都是key-value的结构,但针对value的类型是有差异的
cookie:value只能是字符串类型,session:value是Object类型
3.存储的数据大小限制不同:
cookie:大小受浏览器的限制,很多是是4K的大小, session:理论上受当前内存的限制,
4.生命周期的控制,cookie的生命周期当浏览器关闭的时候,就消亡了。
(1)cookie的生命周期是累计的,从创建时,就开始计时,20分钟后,cookie生命周期结束,
(2)session的生命周期是间隔的,从创建时,开始计时如在20分钟,没有访问session,那么session生命周期被销毁。
xss分类?防御?概念?利用过程?(不考DOM型)
1、是什么:
    跨站点脚本攻击,指攻击者通过篡改网页,嵌入恶意脚本程序,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。

2、分类:
    反射型XSS,非持久型xss漏洞,一次性的,发生在客户端,将用户输⼊的内容作为代码让浏览器对其进行执行达到攻击的目的。
    存储型XSS,持久性的XSS,发生在服务端,将攻击脚本永远嵌⼊某⼀个页面中,当用户访问的时候就会触发执⾏,从而⽤户受到相关的攻击。
	DOM型XSS,非持久的,不与后台服务器产⽣数据交互,是⼀种通过DOM操作前端代码输出的时候产生的问题。
	
3、利用过程
    存储型的攻击主要步骤是:
        恶意用户把恶意代码片段提交到服务器的数据库中
        普通用户请求网站,网站把包含恶意代码的数据加载从页面中加载出来
        恶意代码开始运行
    反射型:有些页面交互中存在用户输入数据后,页面响应时会原封不动地返回这个数据到页面上。

4、如何防范:
	防 XSS 的核心是必须对输入的数据做过滤处理。
    1)前端,服务端,同时需要字符串输入的长度限制。
    2)前端,服务端,同时需要对HTML转义处理。将其中的”<”,”>”等特殊字符进行转义编码。
    3)开启浏览器的HTTPonly,使得无法通过js获取cookie。
    
5、XSS除了获取cookies还能做什么:
    获取管理员ip
    xss蠕虫
    钓鱼攻击
    前端JS挖矿
    键盘记录
    屏幕截图

sql注入? 联合查询、报错注入、布尔盲注、延时注入、宽字节注入,利用方法(简答)(布尔和延时区别)
1、什么是SQL注入攻击:
    指Web应用程序对用户输入数据的合法性没有判断,前端传入后端的参数是攻击者可控的,并且参数被
    带入数据库查询,攻击者可以通过构造不同的SQL语句来实现对数据库的任意操作。
    原理:SQL注入需要满足两个条件:
    参数用户可控:前端传给后端的参数内容是用户可以控制的。
    参数被带入数据库查询:传入的参数被拼接到SQL语句中,且被带入数据库查询。
2、分类:
    根据SQL注⼊点反馈类型分类:
    联合查询:union 联合 合并:将多条查询语句的结果合并成⼀个结果。多条查询语句的查询列数是⼀致的。(1' union select 1,2--)
    报错注⼊:利⽤数据库的某些机制,⼈为地制造错误条件,使得查询结果能够出现在错误信息中。
    updatexml(1,concat(0x7e,(select user()),1)。
    布尔盲注:根据Web⻚⾯返回的True或者False信息,对数据库中的信息进⾏猜解,并获取数据库中的相关信息。(1' and ascii((substr((select table_name from information_schema.tables where table_schema=database() limit x,1),y,1)))=z
)
    时间盲注(延时注⼊): sleep( int1 ) ⽤来捕获到执⾏迅速不易被查看到的语句,以确定我们的程序是否确实在服务器端发起了该语句.
    Cookie注入:注入点在cookie上。
    XFF注入:通过修改X-Forwarded-For的值伪造客户端的ip地址,注入点在XFF上。
    二次注⼊:构造的恶意语句存⼊数据库,找利用接⼝结合前⾯已经存⼊数据库的语句注⼊成功。
    宽字节注⼊:宽字节注⼊是利⽤mysql的⼀个特性,因为服务器会对对用户的输入的'进行\转义,我们可以对\进行绕过,我们在'前加上%df,因为\的GBK编码是%5c,他们两个会构成一个繁体字,造成'逃逸。
3、WAF如何绕过:
变换大小写
编码
利用注释符
重写
比较操作符替换
同功能函数替换
盲注的活用
二阶注入
宽字节注入
4、如何防范
使用预编译的PrepareStatement,但是一般我们会从两个方面同时入手。
Web端:
1)有效性检验。
2)限制字符串输入的长度。
服务端:
1)不用拼接SQL字符串。
2)使用预编译的PrepareStatement。
3)有效性检验。(为什么服务端还要做有效性检验?第一准则,外部都是不可信的,防止攻击者绕过
Web端请求)。
4)过滤SQL需要的参数中的特殊字符。比如单引号、双引号。

waf是什么? (web应用防火墙 ) 顾名思义防什么?
WAF 可以用来屏蔽常见的网站漏洞攻击,如SQL注入,XML注入、XSS等。一般针对的是应用层而非网络层的入侵

工具篇

爆破工具? Hydra参数?
参数:
-l login 小写,指定用户名进行破解
-L file 大写,指定用户的用户名字典
-p pass 小写,用于指定密码破解,很少使用,一般采用密码字典。
-P file 大写,用于指定密码字典。
-e ns 额外的选项,n:空密码试探,s:使用指定账户和密码试探
-M file 指定目标ip列表文件,批量破解。
-o file 指定结果输出文件
-f 找到第一对登录名或者密码的时候中止破解。
-t tasks 同时运行的线程数,默认是16
-w time 设置最大超时时间,单位
-v / -V 显示详细过程
-R 恢复爆破(如果破解中断了,下次执行 hydra -R /path/to/hydra.restore 就可以继续任务。)
-x 自定义密码。
**sqlmap参数? -r读取文件中的数据包 -u 指定url (get型注入) -h 帮助 -p指定参数
--data //通过post⽅式提交参数
 -r 指定请求数据包
 -v (显示详细信息的⼀个参数)
 	0:只显示python的回溯、错误和关键信息
    1:显示信息和警告消息
    2:显示调式信息
    3:显示注⼊使⽤的攻击载荷
    4:显示HTTP请求
    5:显示HTTP响应头
    6:显示HTTP相应⻚⾯的内容
 --level
 	level 1:对GET和POST的数据进⾏测试
    level 2:会对HTTP cookie进⾏测试
    level 3:会对HTTP User-Agent/Referer头进⾏测试
    level4-5:测试的更加全⾯,同时测试的速度会更慢
 --cookie 对cookie注⼊
 --user-agent和--random-agent 指定User-Agent
 --referer 指定Referer
 --delay 每个请求之间的延迟
  ⽤“*”指定注⼊位置
 
nmap 扫描调口主机探活 -sP
-sT	 TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。
-sS	 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。
-sF  -sN	 秘密FIN数据包扫描、Xmas Tree、Null扫描模式
-sP	 ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。
-sU	 UDP扫描,但UDP扫描是不可靠的
-sA	 这项高级的扫描方法通常用来穿过防火墙的规则集
-sV	 探测端口服务版本
-Pn	 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
-v	 显示扫描过程,推荐使用
-h	 帮助选项,是最清楚的帮助文档
-p	 指定端口,如“1-65535、1433、135、22、80”等
-O	 启用远程操作系统检测,存在误报
-A	 全面系统检测、启用脚本检测、扫描等
-oN/-oX/-oG	 将报告写入文件,分别是正常、XML、grepable 三种格式
-T4	 针对TCP端口禁止动态扫描延迟超过10ms
-iL	 读取主机列表,例如,“-iL C:\ip.txt”
appscan 大型扫描器
bp 代理抓包 爆破?
漏扫有哪些? neeus awvs appscan Goby

如有遗漏或错误,请在评论区更正,我会第一时间修改,谢谢!

  • 13
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值