2023 蓝队初级面试题总结

2023 蓝队初级面试题总结

(最细)蓝队初级护网面试题总结

目录

引言… 3

基础篇… 3

自我介绍… 3

平时的话有挖过一些漏洞嘛… 3

谈谈挖洞和渗透印象较深的,过程、方法,获取了什么权限… 3

使用过哪些溯源平台… 3

了解哪些常见的洞?. 4

HW 经历(取得的成果)、主要负责什么… 4

讲一下 TOP10 都有哪些… 4

常见的端口和相关的服务?… 4

如何判断目标操作系统?… 6

正向代理和反向代理的区别?. 6

正向 shell 和反向 shell 的区别?… 6

序列化与反序列化的区别?… 6

信息收集具体收集什么信息… 6

怎么验证是否存在 CDN?… 7

怎么绕过 CDN 找到真实 IP?… 7

怎么验证找到的 IP 是否为真实 IP. 8

如何建立隐藏用户?… 8

判断出网站的 CMS 对渗透有什么意义?… 8

请求方式几种… 9

有什么证书… 9

应急响应与溯源篇… 9

研判的思路?(安全事件的研究判断)… 9

应急响应的思路?… 10

溯源反制思路?… 10

Windows 系统应急响应中常用的指令?… 12

Linux 系统应急响应中常用的指令?… 12

无法连接服务器 3389 端口的几种情况?… 14

Windows 入侵排查思路… 14

如何查看系统内存 shell 15

Linux 的登录日志查看文件… 16

蓝队常用的反制手段有哪些?… 17

如何发现钓鱼邮件… 17

如何查看区分是扫描流量和手动流量… 17

遇到.exe 文件如何处理?… 18

普通的加固手段?… 18

被攻击后,日志文件以及木马文件被删除怎样排查… 19

webshell 如何响应… 19

安全设备报警… 20日志与流量分析… 21

工具篇… 21

你在渗透测试中常用的工具?… 21

使用过哪些安全设备?… 22

了解过 WAF 吗?… 23

绕过 WAF 的姿势?… 24

WAF 产品有哪些分类,是如何拦截攻击的… 25

nmap 和 sqlmap 的命令… 25

cs 流量特征… 26

webshell 流量特征… 26

蚁剑/菜刀/C 刀/冰蝎的相同与不相同之处… 27

常用的 Webshell 检测工具有哪些?… 27

你有用过态势感知的产品吗?… 27

你能大概说一下,比如数据包或者日志,你的分析思路是什么,以及你会用到哪些工具… 28

漏洞篇… 28

SQL 注入的原理和漏洞产生的原因?… 28

SQL 注入的类型… 28

简单讲一下防范 SQL 注入的方法和原理… 29

SQL 注入有哪些绕过姿势?… 29

sql 注入攻击有哪些危害?… 29

XSS(跨站脚本攻击)的原理和类型?… 30

XSS 的绕过方法?… 30

XSS 的利用方式(危害)?… 30

XSS 的防范措施?… 31

CSRF(跨站请求伪造)漏洞原理?… 32

CSRF(跨站请求伪造)漏洞的类型?… 32

CSRF(跨站请求伪造)漏洞的危害?… 32

CSRF(跨站请求伪造)攻击的防范措施?… 33

SSRF(服务器端请求伪造)漏洞原理?… 34

SSRF(服务器端请求伪造)漏洞经常存在的位置?… 34

SSRF(服务器端请求伪造)漏洞绕过手法?… 34

SSRF(服务器端请求伪造)漏洞的危害?… 35

SSRF(服务器端请求伪造)漏洞的防范手段?… 35

XXE(XML 外部实体注入)漏洞的原理?… 36

怎样构建 XXE(XML 外部实体注入)攻击?… 36

XXE(XML 外部实体注入)漏洞的危害?… 36

XXE(XML 外部实体注入)漏洞的防范?… 36

文件上传漏洞的原理?… 37

文件上传漏洞绕过手法?… 37

文件上传漏洞的危害?… 39

文件上传功能的检测点有哪些?… 39

文件上传漏洞的防范措施?… 39

常见的未授权访问漏洞有哪些?… 40

能简单的讲一下反序列化漏洞吗?. 40

代码执行、文件读取、命令执行的函数有哪些?… 41

你说说你对于越权的内容,还有越权的话,一般是怎么判断出来的… 41

那你说说几种常见的逻辑漏洞吧… 41

常见的中间件有哪些?它们有哪些漏洞?… 41

fastjson 漏洞利用原理… 41平常怎么去发现 shiro 漏洞的… 41

一般情况下,哪些漏洞会高频被用于打点?… 42

引言

护网行动是提高国家网络安全防御能力的一种有效手段,而蓝队作为攻防演习中的防守方,也是护网行动的重要一份子。

在这篇文章中,我将汇总多篇有关护网行动蓝队初级人员面试题的资料,对这些资料进行整合和分析,为准备参加面试的

蓝队初级人员提供参考,为读者提供一些实用的技巧和建议,帮助大家更好地应对蓝队初级人员面试。

注:内容来源我们团队内部和网络上的资源如有侵权请联系我们,题目答案部分仅供参考。

基础篇

自我介绍

答:略(展示)

平时的话有挖过一些漏洞嘛

有,我比较擅长于逻辑漏洞的挖掘,在 edusrc,补天,盒子都有过提交

谈谈挖洞和渗透印象较深的,过程、方法,获取了什么权限

使用过哪些溯源平台

微步情报中心等

了解哪些常见的洞?

答:注入、xss、xxe、敏感信息泄露、SSRF、身份验证失效等等。

HW 经历(取得的成果)、主要负责什么

实话实说:不然就编讲一下 TOP10 都有哪些

答:

1.失效的访问控制

2.加密机制失效

3.注入(包括跨站脚本攻击 XSS 和 SQL 注入等)

4.不安全设计

5.安全配置错误

6.自带缺陷和过时的组件

7.身份识别和身份验证错误

8.软件和数据完整性故障

9.安全日志和监控故障

10.服务端请求伪造 SSRF

常见的端口和相关的服务?

服务

端口号

说明

FTP

20

FTP 服务器真正传输所用的端口,

用于上传、下载

FTP

21

用于 FTP 的登陆认证

SSH、SFTP 、

22

加密的远程登录,文件传输

Telnet

23

远程登录(在本地主机上使用此端

口与远程服务器的 22/3389 端口连

接)

SMTP

25

用于发送邮件

DNS

53

域名解析

HTTP

80

用于网页浏览

POP3

110

SUN 公司的 RPC 服务所有端口

Network News Transfer Protocol 119

NEWS 新闻组传输协议,承载

USENET 通信

SMTP

161

Simple Network Management

Protocol,简单网络管理协议

SNMP Trap

160、162

SNMP 陷阱

HTTPS

443

加密的网页浏览端口

CIFS

445

公共 Internet 文件系统sql server

1433

Microsoft 的 SQL 服务开放的端

口 数据库

Oracle

1521

数据库

NFS

2049

通过网络,让不同的机器、不同的

操作系统实现文件共享

MySQL

3306

数据库

WIN2003 远程登录

3389

Windows 2000(2003) Server 远程桌

面的服务端口,本地服务器开放

此端口,去连接到远程的服务器

QQ·

4000

腾讯 QQ 客户端开放此端口

redis·

6379

数据库

WebLogic

7001

一个基于 JAVAEE 架构的中间件,

WebLogic 是用于开发、集成、部

署和管理大型分布式 Web 应用、

网络应用和数据库应用的 Java 应用

服务器

Wingate

8010

Wingate 代理开放此端口

TOMCAT

8080

WWW 代理开放此端口

如何判断目标操作系统?

答:

• 大小写检测:windows 大小写不敏感,而 linux 大小写敏感。

• PING 指令:根据 TTL 值,winodws 一般情况下>100,linux<100

正向代理和反向代理的区别?

答:

• 正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端

• 反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端

________________________________________

正向 shell 和反向 shell 的区别?

答:

• 正向 Shell:攻击者连接被攻击者机器,可用于攻击者处于内网,被攻击者处于公网的情况。

• 反向 Shell:被攻击者主动连接攻击者,可用于攻击者处于外网,被攻击者处于内网的情况。

________________________________________序列化与反序列化的区别?

答:

• 序列化:把对象转化为可传输的字节序列过程称为序列化。

• 反序列化:把字节序列还原为对象的过程称为反序列化。

信息收集具体收集什么信息

答:

1.服务器的相关信息

真实 IP,服务器操作系统及其版本,数据库类型及其版本,开放端口及其对应服务(常用端口扫描工具

Nmap,Zenmap,Masscan 等),WAF 探测

2.网站相关信息

CMS(内容管理系统),web 容器,web 框架,CDN,web 指纹识别(常用指纹识别工具潮汐指纹,云悉

指纹,WhatWeb 等),旁站和 C 段信息

3.域名相关信息

子域名,whois 信息(查询域名的 IP 以及所有者等信息的传输协议),公司名称,注册人或者机构信息、公

司或个人联系方式(邮箱,手机号码等信息),备案号

4.具体站点信息

漏洞扫描(常用漏扫工具 Nessus,AppScan,AWVS,X-ray 等),目录爆破(常用目录爆破工具

dirsearch,dirb,dirbuster,ffuf 等),robots.txt,

怎么验证是否存在 CDN?

答:

1.使用多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一大概率就是存在 CDN

2.使用 nslookup 命令检测,查看返回域名解析对应 IP 地址是否唯一,如果不唯一很可能存在 CDN

怎么绕过 CDN 找到真实 IP?

答:

1.查询历史 DNS 记录

查看 IP 和域名绑定的历史记录,利用站长工具,微步在线等网站说不定就能找到使用 CDN 之前的真实

IP。

2.查询子域名

收集子域名信息,如果子域名对应的 IP 不存在 CDN,就可以利用这些 IP 来辅助查找目标网站的真实 IP

3.查询主域名

有些网站为了方便维护只让 WWW 域名使用 CDN,把目标域名前面的 WWW 去掉 ping 一下说不定就是真

实 IP。

4.通过邮件服务器查找一般邮件系统都在内部,没有经过 CDN 的解析,通过用户注册、找回密码以及 RSS 邮件订阅等功能接收

目标网站发送的邮件,查看源码(或者信息头)就有可能得到目标网站真实 IP。

5.使用国外主机解析域名

国内很多 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国

外的主机直接访问可能就能获取到真实 IP

6.网站漏洞查找

利用网站自身存在的漏洞,很多情况下会泄露服务器的真实 IP 地址

7.利用 SSL 证书寻找真实原始 IP

证书颁发机构(CA)必须将他们发布的每个 SSL/TLS 证书发布到公共日志中,SSL/TLS 证书通常包含

域名、子域名和电子邮件地址。使用 Censys 等工具搜索目标网站信息。

8. F5 LTM 解码法

当服务器使用 F5 LTM 做负载均衡时,通过对 set-cookie 关键字的解码真实 ip 也可被获取,例

如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即

487098378 取出来,然后将其转为十六进制数 1d08880a,接着从后至前,以此取四位数出来,也就是

0a.88.08.1d,最后依次把他们转为十进制数 10.136.8.29,也就是最后的 ip。

9.网络空间搜索引擎

根据网站特征或者响应内容特征等查找目标网站信息,当然也可以直接通过域名查找。

常用搜索引擎:

Shodan https://www.shodan.io

Fofa https://fofa.so

00SEC-ASM 攻击面管理系统 https://0.zone

10.其他

这一点属于补充内容,比如

Zmap 工具扫描全网很费时间,意义不大

DDOS 攻击目标网站 耗尽 CDN 流量回源得到真实 IP。国内一般不能用,意义不大

社工 CDN 账号 联系客服小姐姐,想办法拿到目标网站管理员在 CDN 的账号,除非被你骗到,

不然人家怎么会出卖客户,意义不大

怎么验证找到的 IP 是否为真实 IP

使用端口扫描工具扫描开了哪些端口,然后结合开放的端口直接访问找到的 IP,看看响应的页面是不是和

访问域名返回的一样。

如何建立隐藏用户?

a.net user test$ 123456 /add[建立隐藏用户]

b.net localgroup administrators test$ /add[将隐藏用户加入管理组]

判断出网站的 CMS 对渗透有什么意义?

答:

• 查找已曝光的漏洞。

• 如果开源,还能下载相应的源码进行代码审计。• 根据 CMS 特征关联同 CMS 框架站点,进行敏感备份文件扫描,有可能获得站点备份文件。

请求方式几种

目前常用八种请求方式,分别是 GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、 CONNECT,

get 和 post 最常用

有什么证书

xxxxxxxxx(按自己情况来)

应急响应与溯源篇

研判的思路?(安全事件的研究判断)

答:

1.首先对攻击的来源进行判断,是内对内,外对内还是内对外的情况。

2.依据设备的告警信息结合具体情况来分析攻击行为的类型,比如说告警 SQL 注入攻击,那我们

就去查看一下请求数据包里面是否有单引号,SELECT 等敏感字符,返回数据包里面是否有 SQL 语法报错

等信息,有的话就可以初步判断该攻击行为是 SQL 注入攻击。

3.然后就是根据攻击特征来分析攻击行为使用了什么技术或者说工具,比如说攻击的频率,数据

包的信息等等。比如说在使用 AWVS 或者 APPSCAN 等工具在扫描的时候,很有可能在请求数据包的 user

agent 里面就有相关的信息。同样结合告警信息和具体情况来判断攻击行为的危害程度,比如说检测到多

条攻击成功告警和内对内及内对外攻击告警,这个时候就需要尽快的交给应急组了。

4.结合设备告警信息及具体情况分析攻击意图,比如说攻击者的目标是主站还是旁站,是主机还

是域控,不同的攻击意图对于后续的处理也不同。

5.最后根据我们掌握的信息采取相应的处置方式,比如说告警信息是误报,说明设备需要策略优

化,不需要处置。告警信息是尝试攻击,暂时对资产没有影响,就需要后续持续关注,攻击成功时能够做

到及时上报。如果告警确认不是误报,并且攻击成功时,我们就需要迅速上报及时采取应急响应。

应急响应的思路?

答:

1、首先应该是信息收集,比如说影响范围有多大,事件类型是什么,源头主机和攻击意图,是否

需要保障业务等等信息,这一步可以帮助我们更有效的进行下一步的阻断攻击行为。

2.接下来就是结合已知的信息阻断攻击行为,保护资产。比如说攻击行为局限于某个站点,且未

造成较大损失,那我们可以直接封掉攻击者的 IP 来确保业务的正常进行,当然之后也要对这个站点有一个持续的关注。如果是某台主机沦陷或者说域控服务器沦陷,那么这就算比较重大的损失,为了避免损失扩

大,应该及时将感染设备断网处理。如果有备份服务器,可以切换备用设备来保障业务正常。

3.对攻击行为阻断后需要对数据进行保护,比如说保存好流量、可疑进程的内存、失陷系统镜

像、恶意样本、设备的日志,这一步可以有效帮助我们后续的溯源工作。

4、安全事件影响根除,工具结合手工从系统用户是否有新增用户,进程信息,计划任务,自启动

项,注册表,端口状态(是否有对外连接)等方面来检查是否有可疑行为,比如说火绒剑,ProcessHacker 等

专门用于分析这些方面的工具。如果有就直接关闭或者删除,有一些顽固进程或者顽固文件无法关闭或者

删除可以结合专杀工具处理,比如说 Rkhunter,火绒等工具。

5、恢复业务,加强安全措施,加固系统等,比如说更新软件版本,安装已知漏洞的补丁,关闭某

些端口等等,暂时没有解决办法的可以根据业务需求关闭某些服务。

6、最后就是输出报告,总结反思。

溯源反制思路?

答:

1.攻击源捕获

● 安全设备报警,如扫描 IP、威胁阻断、病毒木马、入侵事件等

● 日志与流量分析,异常的通讯流量、攻击源与攻击目标等

● 服务器资源异常,异常的文件、账号、进程、端口,启动项、计划任务和服务等

● 邮件钓鱼,获取恶意文件样本、钓鱼网站 URL 等

● 蜜罐系统,获取攻击者 ID、电脑信息、浏览器指纹、行为、意图的相关信息

2.溯源反制

● IP 定位技术

根据 IP 定位物理地址–代理 IP

溯源案例:通过 IP 端口扫描,反向渗透服务器进行分析,最终定位到攻击者相关信息

● ID 追踪术

ID 追踪术,搜索引擎、社交平台、技术论坛、社工库匹配

溯源案例:利用 ID 从技术论坛追溯邮箱,继续通过邮箱反追踪真实姓名,通过姓名找到相关简历信息

● 网站 url

域名 Whois 查询–注册人姓名、地址、电话和邮箱 –域名隐私保护

溯源案例:通过攻击 IP 历史解析记录/域名,对域名注册信息进行溯源分析

● 恶意样本分析

提取样本特征、用户名、ID、邮箱、C2 服务器等信息–同源分析

溯源案例:样本分析过程中,发现攻击者的个人 ID 和 QQ,成功定位到攻击者

● 社交账号

基于 JSONP 跨域,获取攻击者的主机信息、浏览器信息、真实 IP 及社交信息等

利用条件:可以找到相关社交网站的 jsonp 接口泄露敏感信息,相关网站登录未注销

3.攻击者画像

● 攻击路径

攻击目的:拿到权限、窃取数据、获取利益、DDOS 等

网络代理:代理 IP、跳板机、C2 服务器等

攻击手法:鱼叉式邮件钓鱼、Web 渗透、水坑攻击、近源渗透、社会工程等

● 攻击者身份画像虚拟身份:ID、昵称、网名

真实身份:姓名、物理位置

联系方式:手机号、qq/微信、邮箱

组织情况:单位名称、职位信息

Windows 系统应急响应中常用的指令?

答:

查看用户账号和组 lusrmgr

打开 lusrmgr.msc,查看是否有新增/可疑的账号

敏感事件 id:

4624 登录成功

4625 登录失败

4634 注销成功

4647 用户启动的注销

4672 使用超级用户/管理员用户进行登录

4720 创建用户

4697 7045 PsExec

查看自启动项 msconfig

查看进程服务 taskmgr

wmic process where name=’进程名’ list full 4 查看进程详细信息

taskkill /T /F /PID 强制关闭进程

wmic process | finderstr “xxxx.exe” 获取进程的全路径

查看计划任务 schtasks

查看用户会话 query user

查看端口和网络连接 netstat -ano

查看本地共享 net share

查看注册表 regedit

查看日志 eventvwr

Linux 系统应急响应中常用的指令?

答:

查看进程

top 根据 CPU 占用率枚举进程

ps aux

ps aux | grep pid 根据进程号查看详细信息

ps elf | grep pid 根据进程号查看进程链

kill -9 pid 杀死进程

lsof -p pid 查询守护进程

pstree -aphn 树状显示进程

-a 显示该进程命令行参数 -p 显示 pid

-n 按照 pid 排序

-h 高亮当前进程以及父进程

查看网络连接

netstat -antlp

-a 显示所有连接和端口

-n 以数字形式显示 ip 和 port

-t 显示 tcp

-l 显示监听的服务

-p 显示建立连接的进程名以及 pid

ss –antpr

-a 显示所有连接和端口

-n 不解析服务的名称

-t 显示 tcp sockets

-l 显示监听的端口

-p 显示监听端口的进程

-r 把 ip 解析为域名

查看异常文件

ls -alth

-a 显示所有文件

-l 显示文件权限,属组属主,大小,日期

– t 按照时间顺序排序

-h 高亮

find / -ctime -2 查找 72 小时内新增的文件

查看用户

last 查询最近登录的用户记录

lastlog 查询所有用户最后一次登录的时间

last lastb 登陆失败的用户记录

usermod -L 用户名 禁用用户

userdel -r 用户名 删除用户

查看启动项

systemctl list-unit-files | grep enable 查看启动项

查看计划任务

crontab -l 查看计划任务

crontab -e 编辑计划任务

crontab -r 删除计划任务

crontab -u 查看某用户计划任务

cat /etc/anacrontab 查看 anacron 异步定时任务

查看历史命令

history 查询主机历史命令无法连接服务器 3389 端口的几种情况?

a.3389 端口处于关闭状态

b.远程桌面默认端口号已被修改

c.防火墙拦截

d.处于内网环境

e.超过了服务器最大连接数

f.管理员设置了权限,指定用户才能通过 3389 端口进行远程桌面访问

Windows 入侵排查思路

检查系统账号安全

● 查看服务器是否有弱口令,远程管理端口是否对公网开放(使用 netstat -ano 命令、或者问服务器管

理员)

● 命令查看服务器是否存在可疑账号、新增账号,如有管理员群组的(Administrators)里的新增账户,

如有,请立即禁用或删除掉

● D 盾或者注册表中查看服务器是否存在隐藏账号、克隆账号

● 结合日志,查看管理员登录时间、用户名是否存在异常

检查方法:Win+R 打开运行,输入 “eventvwr.msc”,回车运行,打开 “事件查看器”,导出 Windows 日

志–安全,利用 Log Parser 进行分析

如何查看系统内存 shell

先判断是通过什么方法注入的内存马,可以先查看 web 日志是否有可疑的 web 访问日志,如

果是 filter 或者 listener 类型就会有大量 url 请求路径相同参数不同的,或者页面不存在

但是返回 200 的,查看是否有类似哥斯拉、冰蝎相同的 url 请求,哥斯拉和冰蝎的内存马注

入流量特征与普通 webshell 的流量特征基本吻合。通过查找返回 200 的 url 路径对比 web

目录下是否真实存在文件,如不存在大概率为内存马。如在 web 日志中并未发现异常,可以

排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的 error.log 日志查看是否有

可疑的报错,根据注入时间和方法根据业务使用的组件排查是否可能存在 java 代码执行漏

洞以及是否存在过 webshell,排查框架漏洞,反序列化漏洞。

详细:https://www.cnblogs.com/lcxblogs/articles/15238924.html

Linux 的登录日志查看文件

linux 日志文件说明

/var/log/message 系统启动后的信息和错误日志,是 Red Hat Linux 中最常用的日志之一

/var/log/secure 与安全相关的日志信息

/var/log/maillog 与邮件相关的日志信息

/var/log/cron 与定时任务相关的日志信息

/var/log/spooler 与 UUCP 和 news 设备相关的日志信息/var/log/boot.log 守护进程启动和停止相关的日志消息

/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

蓝队常用的反制手段有哪些?

a.蜜罐

b.对攻击目标进行反渗透(IP 定位、IP 端口扫描、Web 站点渗透)

c.应用漏洞挖掘&利用(菜刀、Goby、Xray、蚁剑)

d.id->社交特征关联

e.钓鱼网站->后台扫描、XSS 盲打

f.木马文件->同源样本关联->敏感字符串特征检测

如何发现钓鱼邮件

钓鱼邮件是一种常见的网络针对性攻击手段,通常通过电子邮件发送虚假信息诱骗受害者提供个

人敏感信息或进行非法行为。以下是几种发现钓鱼邮件的方法:

● 查看发件人地址:钓鱼邮件的发件人地址通常会伪装成合法、可信的机构或公司,但是如果您仔细

查看发件人地址,就可能发现其不是该机构或公司真正的域名。

● 检查链接地址:钓鱼邮件中通常会包含可疑的链接,如果您将鼠标悬停在链接上,就可以看到链接

的真实地址。如果该地址与邮件内容不符,就可能是钓鱼邮件。

● 注意邮件内容:钓鱼邮件通常会给人留下一种紧急、必须立即采取行动的感觉,从而诱骗用户点击

链接或执行某些操作。因此,如果您收到这样的邮件,请仔细阅读邮件内容,并多加思考和确认。

● 尽量避免下载附件:钓鱼邮件通常会携带恶意附件,如果您无法确认邮件的真实性,最好不要下载

或打开这些附件,以免被感染。

● 安装反钓鱼软件:有一些反钓鱼软件可以帮助用户检测和拦截钓鱼邮件,例如 Google 的

Password Alert 等。

总之,发现钓鱼邮件需要多加警惕和注意,在收到可疑邮件时,应该仔细查看邮件内容和相关信

息,并尽可能采取措施避免被钓鱼攻击。

如何查看区分是扫描流量和手动流量

扫描流量和手动流量的区别在于其产生的方式和行为特征,因此可以通过以下几种方法来查看区

分它们:

● 查看流量来源:扫描流量通常是由自动化工具或蠕虫病毒等程序生成的,因此其源 IP 或者发起请

求的主机通常不固定,而手动流量则来自人工操作的设备,其请求的 IP 地址和用户代理信息都会

有所不同。

● 检测流量频率和规律:扫描流量通常会呈现出周期性、规律性的访问行为,例如连续大量的 TCP

SYN 请求等。而手动流量则通常难以呈现出明显的规律和周期性。

● 观察流量的请求路径和参数:扫描流量通常是为了探测系统漏洞和弱点而产生的,它们通常会对一

些已知的 URL 和参数进行大量的尝试,并使用一些特殊的 HTTP 头部信息。而手动流量则更加

多样化,可能会包含更丰富的请求路径和参数。● 分析流量的响应状态码和长度:扫描流量通常会通过检测返回的状态码和页面长度等信息来判断目

标是否存在漏洞或弱点。手动流量则通常会具有更加正常的响应状态码和页面长度。

总之,通过综合分析流量来源、访问规律、请求路径和参数以及响应状态码等特征,我们可以比

较准确地区分扫描流量和手动流量,并采取相应的防御措施。

遇到.exe 文件如何处理?

.exe 文件是 Windows 上的可执行文件,通常包含应用程序或者安装程序等内容。如果您在电子

邮件或者网络上收到了 .exe 文件,需要格外小心,因为它们可能包含病毒、恶意软件或者其他

危险物品。以下是几种处理方法:

● 不要直接运行:不要轻易双击或者打开未知来源的 .exe 文件,因为它们可能会启动恶意软件,并

对您的系统造成损害。如果您必须要运行这些 .exe 文件,请先进行杀毒软件扫描和检测操作。

● 使用虚拟机:如果您需要测试某个 .exe 文件的行为和效果,可以考虑使用虚拟机。虚拟机可以将

一个完整的操作系统运行在一个软件容器中,使得用户可以在其中安全地运行可疑的 .exe 文件,

并且不会影响主机系统的安全性。

● 上传到在线扫描服务平台:一些在线杀毒软件平台,例如 VirusTotal 等,提供了在线扫描可疑文

件的服务。如果您不确定一个 .exe 文件是否安全,可以上传到这些平台进行扫描,以获取更多的

信息和建议。

● 将文件发送给安全专家:如果您无法确定 .exe 文件的安全性,可以将其发送给安全专家进行分

析。安全专家可以根据其行为特征和结构等信息,对该文件进行深度分析,以确定是否存在潜在的

安全威胁。

总之,在处理未知来源的 .exe 文件时,需要注意谨慎并采取必要的安全措施,以确保您的系统

不会被攻击或感染。如果您遇到可疑的 .exe 文件,请务必进行杀毒软件扫描,并尽可能获取更

多的信息和建议。

普通的加固手段?

普通的加固手段包括以下几种:

● 更新补丁:定期更新操作系统、应用程序的补丁,修复已知的漏洞和安全问题。

● 强化口令策略:采用复杂、难以猜测的密码,并进行定期更换。同时可以启用账户锁定、多次失败

尝试限制等功能,提高口令安全性。

● 加强身份验证:采用多因素身份验证技术,例如使用硬件令牌、生物特征等方式,确保只有授权用

户才能访问系统。

● 安装防病毒软件:安装并及时更新防病毒软件,定期进行全盘扫描和实时监控,以便及时发现和处

置潜在的恶意软件。

● 关闭不必要服务:关闭系统中不必要的服务和端口,降低攻击面,避免被利用。

● 限制访问权限:根据业务需要,设置合理的访问权限,对于未授权的用户或者设备进行限制,提高

系统的安全性。

● 数据备份与恢复:定期备份重要数据,并将其存储在安全可靠的位置。在出现故障或事件时,能够

快速恢复数据,避免数据丢失和系统停机。总之,以上这些普通的加固手段可以帮助提高系统的安全性和稳定性,并且也是网络安全基础建

设的关键步骤。在实际操作中,需要根据具体情况和需求,结合其他安全措施来进行综合加固。

同时需要注意及时更新和检查,以确保系统始终处于安全状态。

被攻击后,日志文件以及木马文件被删除怎样排查

被攻击后,日志文件和木马文件被删除会给排查工作带来很大的困难,但还是有一些方法可以尝

试:

● 查看系统备份:如果您的系统进行了定期备份,那么可以尝试从备份中恢复丢失的日志文件和木马

文件。如果备份没有受到攻击,那么这种方式可能会非常有效。

● 恢复已删除文件:一些数据恢复软件,例如 Recuva、EaseUS Data Recovery 等,可以恢复

已删除的文件。您可以尝试使用这些软件来恢复被删除的文件。

● 检查其他主机:如果您的系统被集成到网络中,可以检查其他主机是否有相同的攻击迹象和后门程

序。对于攻击者来说,攻击多台主机通常需要更多的时间和资源,因此在其他主机上发现类似的攻

击行为也许能够提供有用的信息。

● 分析系统快照:如果您的系统支持系统快照功能,例如 Windows 系统还原点,可以尝试回滚系统

至之前的快照状态,并分析该状态下的日志信息和系统状态,以寻找攻击行为的证据。

● 日志审计:如果日志文件被删除,可以尝试通过其他渠道收集日志信息,并进行审计分析。例如,

可以检查网络流量、系统性能、系统进程等信息,以确定是否存在异常行为。

总之,在日志文件和木马文件被删除的情况下,需要采用其他方法来寻找攻击迹象和证据。同

时,为了避免这种情况的发生,我们应该在系统中设置必要的日志轮转和备份策略,并加强安全

防御工作,避免被攻击者入侵。

webshell 如何响应

PDCERF 模型

Prepare(准备):准备用来检测的工具和人

Detection(检测):紧急事件监测:包括防火墙、系统、web 服务器、IDS/WAF/SIEM 中的日

志,不正常或者是执行了越权操作的用户,甚至还有管理员的报告

Containment(抑制):首先先控制受害范围,不要让攻击的影响继续蔓延到其他的 IT 资产和

业务环境,切记不要直接一股脑的投入全部精力到封堵后门。紧接着要做的是去寻找根源原因,

彻底解决,封堵攻击源,把业务恢复到更张水平

Eradication(根除)

Recover(恢复)

Follow-Up(跟踪):根据各种监控去确定没有其他的攻击行为和攻击向量,紧接着就是开会反

省此次事件,写报告,持续改进工作流程和工作缓解安全设备报警

安全设备报警是指安全设备(例如入侵检测系统、防火墙、安全加固等)监测到的与安全相关的

事件或活动达到了预先设定的规则和阈值,触发了警报通知。以下是一些处理安全设备报警的方

法:

● 确认警告的真实性:首先需要确认收到的警报信息是否为真实的安全事件,需要对日志和其他相关

信息进行分析和验证。如果发现确实存在安全问题,则需要立即采取适当措施。

● 优先级分类:不同类型的安全事件具有不同的严重程度和威胁级别,需要根据事件的类型、来源等

因素进行分类和优先级排序,并采取相应的措施进行处理。

● 制定处理计划:根据事件情况和优先级,制定相应的处理计划和操作流程。这些计划可以包括隔离

受感染主机、采取补救措施、收集证据等方面。

● 跟踪事件进展:在处理安全事件时,需要跟踪事件的进展和结果,并及时更新相关记录和文档。同

时要保持与相关人员的沟通和协调,以便及时解决问题。

● 定期复查:定期审查和分析系统和设备的报警记录和日志,以及采取的应对措施和效果。这可以帮

助发现系统中存在的风险和漏洞,并及时加以修复和优化。

总之,在处理安全设备报警时,需要快速响应、分类优先、制定计划等步骤,以保障系统的安全

性,并且需要持续地监测和优化安全防御策略。

日志与流量分析

日志和流量分析是网络安全领域中常用的两种技术。它们都可以帮助安全人员更好地了解系统的

状态,检测和预防威胁。

日志分析是指对服务器、应用程序等产生的日志进行收集、存储、分析和处理,以便了解系统的

运行状况和发现异常事件。通过对日志数据的统计和分析,可以追踪用户活动、系统错误、安全

事件等,以及发现潜在的风险和漏洞。比如,通过分析登录日志可以检测到恶意登录尝试;通过

分析访问日志可以了解网站的被攻击情况。

流量分析是指对网络流量进行收集、存储、分析和处理,以便了解网络连接的状态,检测和预防

网络攻击。通过对流量数据的统计和分析,可以追踪网络通信、检测威胁和漏洞,比如检测恶意

流量、DDoS 攻击等。流量分析通常需要使用专业的工具和技术,包括网络协议分析、流量捕获

和分析软件等。

综上所述,日志和流量分析是网络安全中非常重要的技术,它们可以帮助安全人员发现和解决潜

在的安全问题,并维护系统和网络的正常运行。

工具篇

你在渗透测试中常用的工具?

答:

信息收集Nmap,Fofa,Shodan,zoomeye,站长工具,Bugscaner,潮汐指纹,云悉指纹,Censys,whatweb,

WTFScan,子域名挖掘机,dnsdist6,WAFw00f,Fping,arping,nping,nbtscan,whois,Layer 子域

名收集工具,JSFinder,wwwscan 等

抓包分析

Burp Suite,Wireshark, TrafficTools,fiddler,hack firefox,proxifier,shadowsocks 等

端口扫描

Nmap,Zenmap,Masscan,御剑端口扫描工具,Hping3,Advanced_Port_Scanner,PortScan ,netscan

tools,blackwater,Unicornscan,nast,Knocker,IPscan 等

漏洞扫描

Nessus,AWVS,X-ray,Appscan,W3af,OpenVAS,Skipfish,lynis,WPscan,Comodo

HackerProof,Nexpose community,Vulnerability Manager Plus,Nikto 等

目录扫描或爆破

Dirbuster,御剑目录爆破工具,dirsearch,dirb,ffuf,Dirmap,cansin,Wscan,

webdirscan,SourceLeakHacker,fuff 等

暴力破解

Burp Suite,Hydra,cupp,crunch,Aircrack-NG(无线密码破解),John the Ripper,Rainbow Crack,

Cain & Able,L0phtcrack, Ophcrack,Crack,Hashcat,SAMInside,DaveGrohl(Mac os x) ,

Ncrack,Brutus,Wfuzz,Medusa 等

SQL 注入漏洞扫描或利用

Sqlmap,SQLiScanner,DSSS,Jsql-injection,nosqlattack,Safe3 SQL Injector,

啊 D 注入,BSQL Hacker,The Mole,Pangolin,Havij,Enema SQLi,sqlsus,SQL Poizon,Netsparker,

Leviathan,NoSQLMap,Tyrant SQL,Whitewidow 等

XSS 漏洞利用

Cobalt Strike,Beef,XSSer,XSpear,TamperIE,BlueLotus_XSSReceiver(XSS 利用平台),XSSYA,

xssfork,xssScanner,XSSCon,BruteXSS,XDT 等

WebShell 利用

冰蝎,哥斯拉,蚁剑,中国菜刀,天蝎(skyscorpion), pyshell,w8ay,WebKnife,XISE,K8 飞刀,

Altman,Hatchet,AspxClient(仅支持 ASPX 脚本),C 刀(Cknife),QuasiBot,Weevely,

WeBaCoo, Webhandler,Webshell-Sniper,PhpSploit,SharPyShell 等

免杀

Shellter,FourEye,crazyKiller,DKMC,avevasion,charlotte,cool,crossnet,darkarmour,

shellcodeloader,vmprotect,vprotect,ZheTian,peidtool,Mimikatz,PrintSpoofer,metasploit,

Veil,avet ,Green hat pro,Venom ,TheFatRat,Insanity 等

综合

Metasploit,GUI_Tools,Hijacker(针对 Android),AttackSurfaceMapper,Burp Suite,watchdog,

Empire 等

使用过哪些安全设备?

答:

webshell 查杀D 盾_Web 查杀,百度 WEBDIR+(在线),河马(全平台,CloudWalker(牧云)(全平台),Web Shell

Detector(在线),Sangfor WebShellKill(深信服),深度学习模型检测 PHP Webshell(在线),PHP Malware

Finder webshell(全平台),findWebshell,Webshell.pub 专注查杀(在线)等

病毒查杀

火绒,腾讯安全管家,360 杀毒,Rkhunter,卡巴斯基,金山毒霸,瑞星杀毒软件,大蜘蛛,深信服

EDR,Rootkit,NOD32,Clamav,virustotal 等

安全防护

网站安全狗,创宇盾,云锁,阿里云 WAF,HiHTTPS,ModSecurity,Naxsi,OpenWAF,FreeWAF,ESAPI

WAF,unixhot,Java WAF,X-WAF,VeryNginx,COMODO Firewall 等

应急响应

火绒剑,微步云沙箱,Goby,PowerTool,Tcpview,PCHunter,ProcessHacker,Everything,

ProcessExplorer,ProcessMonitor,XueTr,PCHunter,ProcessDump,AutoRuns,ntfsdir,FastIR,

BrowsingHistoryView,sysinspector,sysinternals Suite,Index.dat Analyzer,winhex,

RegistryWorkshop,DiskGenius,passrecenc,Fulleventlogview,Wsyscheck,IPOP4.1,Process

monitor,Netcat,Malware Defender,MyMonitor,DllInjector,RegShot,gscan,Fodler Monitor,

ResHacker,Kaspersky Virus Removal Tool ,DWirelessNetWatcher,ipradar,Fidder,ApateDNS,

MiniSniffer,SysTracer 等

了解过 WAF 吗?

答:

概念:

Web 应用防火墙,简称 WAF,是通过执行一系列针对 HTTP/HTTPS 的安全策略来专门为 Web 应用提供保

护的一种产品,一般部署在 Web 服务器之前,用来保护 Web 应用。

主要功能:

WAF 主要是通过内置的很多安全规则 来进行防御。

可防护常见的 SQL 注入、XSS、网页篡改、中间件漏洞等 OWASP TOP10 攻击行。

具有威胁感知能力,当发现攻击后,可将 IP 进行锁定,IP 锁定之后将无法访问网站业务。

也支持防止 CC 攻击,采用集中度和速率双重检测算法。

不具备的功能:(给你加深一下影响,防止你想不起来就乱猜)

● WAF 不能过滤其他协议流量,如 FTP、PoP3 协议

● WAF 不能实现传统防护墙功能,如地址映射

● WAF 不能防止网络层的 DDoS 攻击

● WAF 不能防病毒

绕过 WAF 的姿势?

答:

通配符?,*

在 bash shell 中,问号(?)表示通配符,可以替换任意的单个字符(非空),*表示通配符,可以匹配任意长

度(包括空)。例如下面的命令与/usr/sbin/cat /etc/passwd 是等价的

/usr/s?in/?at /et?/pass?d

大小写变种特征库在编写正则表达式时,可能忽略了对大写的校验。例如 select.*from,从而让 Select from 轻松绕

过,正确的写法时,在任何防护的正则表达式前都加上(?i),表示后面的正则表达式匹配均忽略大小写。

内联注释/**/

在 SQL 查询语句中加入注释,例如 select/**/from,当 WAF 不摘除注释而去匹配正则表达式时,可能会匹

配不上,从而绕过。

干扰字符污染法

使用空字符、空格、TAB 换行、注释、特殊的函数等等都可以。比如在 SQL 注入时

select/*!*/`version`(); 利用网站使用的语言函数特性来绕过 WAF 的规则或者使用会无视的字符。

字符编码法

就是对一些字符进行编码,常见的 SQL 编码有 unicode、HEX、URL、ascll、base64 等,XSS 编码有:

HTML、URL、ASCII、JS 编码、base64 等等,利用浏览器上的进制转换或者语言编码规则来绕过 WAF,比

如 XSS 攻击

双写,嵌套,拼凑法

如果过滤了某些字符串,我们可以在他们两边加上“原有字符串”的一部分。利用 WAF 的不完整性,只验证

一次字符串或者过滤的字符串并不完整。比如这样

SQL: selselectect verversionsion();

XSS: <scrrip>alalertert</scrrip>

多请求拆分绕过

对于多个参数的语句,可以将注入语句分割插入。

如这样的请求:?a=[inputa]&b=[inputb] 可将参数 a 和 b 拼接如:

and a=[inputa] and b=[inputb]

利用 cookie 绕过

对于用了$_REQUEST 来获取参数的网站可以尝试将 payload 放在 cookie 中进行绕过 REQUEST 会依次从

GET POST cookie 中获取参数,如果 WAF 只检测了 GET/POST 而没有检测 cookie,可以将语句放在 cookie

中进行绕过。

利用溢量数据绕过 WAF

这种绕过方法利用的是通过提交非常大的数据,由于数据量过大,超过了 WAF 的正则匹配字符,我们的恶

意代码就不经过 WAF 的正则匹配了,因此我们的恶意代码就可以绕过了。

WAF 绕过之寻找网站源 ip

采用云 WAF 的网站可以寻找网站真实 ip 来绕过云 WAF 的检测。

其他

还有吗,多的是,不过我看不明白了,不写了,我是初级我骄傲

WAF 产品有哪些分类,是如何拦截攻击的

WAF(Web 应用程序防火墙)产品通常可以分为以下几种分类:

● 基于签名的 WAF:基于签名的 WAF 通过检测请求中是否包含已知漏洞的特征,来拦截攻

击。这种类型的 WAF 可以快速识别和阻止已知的攻击方式。

● 基于行为的 WAF:基于行为的 WAF 使用机器学习、人工智能等技术来分析请求的行为模

式,并判断其是否具有攻击性。这种类型的 WAF 能够较好地识别未知攻击。

● 综合型 WAF:综合型 WAF 结合了基于签名和基于行为两种技术,能够同时检测已知攻击

和未知攻击,提供更加全面的保护。

WAF 产品一般通过拦截攻击请求来保护 Web 应用程序。具体的拦截方式包括:● 黑名单过滤:根据已知的攻击方式,设置黑名单规则,对符合规则的请求进行拦截。

● 白名单过滤:对请求进行白名单过滤,只允许符合规则的请求通过。

● 存储过程注入防护:对 SQL 注入进行防护。WAF 可以检测并拦截具有攻击意图的 SQL 语

句,并对其进行相应的修复和防护。

● 跨站脚本(XSS)防护:WAF 可以检测并过滤包含恶意 JavaScript 代码的请求,并防止

XSS 攻击。

● 防止文件上传漏洞:WAF 可以检测并拦截包含恶意文件的请求,从而避免文件上传漏洞导致的攻

击。

总之,WAF 产品可以有效地保护 Web 应用程序免受各种类型的攻击。但是需要注意的是,

WAF 并不是万能的,仍然需要结合其他安全措施来保障 Web 应用程序的安全。

nmap 和 sqlmap 的命令

答:xxxx 命令

cs 流量特征

对比正常的 http 流量,CS 的 http 通信流量具有以下几个特征: A. 心跳包特征 a) 间隔一定时间,均有通信,且流级上

的上下行数据长度固定;

B. 域名/IP 特征

a) 未走 CDN、域前置的,域名及 IP 暴露

b) 走 CDN、域前置的,真实 IP 会被隐藏;

C. 指令特征

a) 下发指令时,通过心跳包接收指令,这时,server 端返回的包更长,甚至包含要加载的 dll 模块数据。

b) 指令执行完后,client 端通过 POST 请求发送执行的结果数据,body 部分通过加密和 base64 编码。

c) 不同指令,执行的时间间隔不一样,可以通过 POST 请求和 GET 请求的间隔进行判断。

D. 数据特征

a) 在请求的返回包中,通信数据均隐藏在 jqeury*.js 中。

webshell 流量特征

菜刀:

0. 伪造 X-Forwarded-For 头,每次利用 X-Forwarded-For 头都会不同

0. 执行了 base64_decode 函数对 z0 进行 base64 后,经过 eval 函数执行命令

0. QGluaV9

0. @ini_set(“display_errors”

c 刀: c 刀是由 java 写的客户端,所以它的适用性比较强,linux、windows 平台都可以用,cknife 首先会

查询服务器版本信息,接下来才是查询当前目录。由于 cknife 是基于菜刀改的,在流量上与菜刀是十分相

似的

蚁剑:0. 如果用默认的蚁剑测试,连接时会请求两次

0. 其请求体只是经过 url 编码

0. @ini_set(“display_errors”

0. 在执行命令,文件操作等地方会有 0x 开头的参数

冰蝎:

0. 消息体内容采用 AES 加密

0. 流量会以时间的方式生成长度 16 的随机 key

0. 中间结果字符串 assert|eval(“phpinfo();”) 此数据由冰蝎加载器发出的,已经定义好的

蚁剑/菜刀/C 刀/冰蝎的相同与不相同之处

相同都是用来连接 WebShell 的工具。

不相同相比于其他三款,冰蝎有流量动态加密。

常用的 Webshell 检测工具有哪些?

a.D 盾

b.河马 WEBSHELL

c.百度 WEBDIR+

d.WebShellDetector

e.SangforWebShellKill[深信服]

f.PHPMalwareFinder[支持 Linux]

你有用过态势感知的产品吗?

● 360 态势感知:由中国著名安全厂商 360 推出的产品,主要提供网络威胁查询、漏洞扫描、流量分析等功

能,同时集成了各种安全情报和指标,可以为用户提供全面的安全态势分析和预警服务。

● 腾讯云安全大脑:由腾讯云推出的产品,利用 AI、机器学习等技术对攻击进行实时监测和分析,

提供包括漏洞扫描、风险评估、异常检测等一系列安全服务。

● 云锁事件响应中心:由阿里云推出的产品,提供网络空间威胁和安全事件的监测、预警、应急响应

等服务。该产品采用 AI 算法进行态势感知,并可以自动化响应安全事故。

● 北京赛迪态势感知系统:由北京赛迪安全科技股份有限公司开发的产品,支持网络威胁情报搜集、

风险事件自动识别、威胁行为关联分析等功能,可为企业提供全生命周期的网络安全保护。

● 启明星辰安全态势感知:由启明星辰推出的产品,提供整体安全态势感知、针对性攻击检测、应急

响应等功能,可帮助用户实现从被动防御到主动防御的转变。

这些产品都采用了先进的机器学习和人工智能技术,可以自动化地分析和识别网络威胁,并及时

发出预警或者采取应急措施。同时,这些产品还具备可视化的操作界面,用户可以通过简单的操

作就可以了解整个系统的安全情况,并做出相应的决策。你能大概说一下,比如数据包或者日志,你的分析思路是什么,以及你会用到

哪些工具或者那些网站进行查询

用流量监测的安全设备,比如天眼,查看报文,分析报文里和 host 和网站目录路径,查看

是否可疑,使用微步查询 host 是否为恶意,使用 wireshark 对数据包深度分析看一下请求

的网站路径,源 IP 与目的 ip 地址,host 字段的值以及发包内容等。工具有 wearshark,网

站的话微步在线

漏洞篇

SQL 注入的原理和漏洞产生的原因?

答:

SQL 注入原理:

通过某种方式将恶意的 sql 代码添加到输入参数中,然后传递到 sql 服务器使其解析并执行的一种攻击手

漏洞产生原因(实现条件):

用户对 sql 查询语句参数可控

原本程序要执行的 SQL 语句,拼接了用户输入的恶意数据

SQL 注入的类型

答:

1.联合注入

2.堆叠注入

3.宽字节注入

4.cookie 注入

5.XFF 头注入

6.UA 注入(user-agent 注入)

7.Referer 注入

8.二次注入

9.base64 注入

11.万能密码

12.文件读写

盲注类型:

1.基于时间的盲注 sleep() benchmark()

2.基于布尔的注入

3.基于报错的注入 updatexml() extractvalue() floor() exp()简单讲一下防范 SQL 注入的方法和原理

答:

1.预编译 (数据库不会将参数的内容视为 SQL 命令执行,而是作为一个字段的属性值来处理)

2.PDO 预处理 (本地和 Mysql 服务端使用字符集对输入进行转义)

3.正则表达式过滤 (如果用户输入了非法信息则利用正则表达式过滤)

SQL 注入有哪些绕过姿势?

答:

1.大小写绕过注入

2.双写绕过注入

3.编码绕过注入

4.内联注释绕过注入

sql 注入攻击有哪些危害?

答:

获取数据库数据

数据库中存放的用户的隐私信息的泄露,脱取数据库中的数据内容(脱库),可获取网站管理员帐号、密码

悄无声息的进行对网站后台操作等。

网页篡改

通过操作数据库对特定网页进行篡改,严重影响正常业务进行与受害者信誉。

网页挂马

将恶意文件或者木马下载链接写入数据库,修改数据库字段值,进行挂马攻击。

篡改数据库数据

攻击数据库服务器,篡改或者添加普通用户或者管理员帐号。

获取服务器权限

列取目录、读取、写入 shell 文件获取 webshell,远程控制服务器,安装后门,经由数据库服务器提供的操

作系统支持,让攻击者得以修改或控制操作系统。

XSS(跨站脚本攻击)的原理和类型?

答:

原理:

攻击者在 Web 页面中注入恶意的 Script 代码,当用户浏览该网页时,嵌入的 Script 代码会被执行,从而

达到攻击的目的。

XSS 类型:

反射型 XSS

存储型 XSSDOM 型 XSS

XSS 的绕过方法?

答:

1. 大小写转换;

2. 引号的使用;

3. 使用 / 代替空格;

4. 编码绕过(将字符进行十进制或者十六进制转码);

5.双写绕过;

6.使用制表符 换行符和回车符

7.使用 IMG 源

XSS 的利用方式(危害)?

答:

窃取 cookie

抓取屏幕截图

获取键盘记录

重定向

植入广告,恶意链接

网页钓鱼

网页挂马

结合网页挂马或者其他工具(Metasploit)获取服务器或者操作系统权限

XSS 的防范措施?

答:

对用户的输入进行过滤

比如说添加黑名单或者白名单规则,比如说对& ” ‘ / expression javascript import 等敏感字符进

行转义

使用 HttpOnly Cookie

如果 cookie 中设置了 HttpOnly 属性,那么通过 js 脚本将无法读取到 cookie 信息,这样能有效的防止 XSS

攻击,窃取 cookie 内容,这样可以有效的防止 XSS 攻击窃取 cookie。

response.addHeader(“Set-Cookie”, “uid=112; Path=/; HttpOnly”);

设置 X-XSS-Protection 属性

该属性被所有的主流浏览器默认开启。X-XSS-Protection,即 XSS 保护属性,是设置在响应头中目的是用

来防范 XSS 攻击的。在检查到 XSS 攻击时,停止渲染页面。

header(“X-XSS-Protection: 1”);

开启 CSP 网页安全策略

CSP 是网页安全策略(Content Security Policy)的缩写。开启策略后 可以起到以下作用禁止加载外域代码,防止复杂的攻击逻辑。

禁止外域提交,网站被攻击后,用户的数据不会泄露到外域。

禁止内联脚本执行(规则较严格,目前发现 GitHub 使用)。

禁止未授权的脚本执行(新特性,Google Map 移动版在使用)。

合理使用上报可以及时发现 XSS,利于尽快修复问题。

避免内联事件

尽量不要使用 onLoad=“onload(’{{data}}’)”、onClick=“go(’{{action}}’)” 这种拼接内联事件的写法。在

JavaScript 中通过 .addEventlistener() 事件绑定会更安全。

使用模板引擎

开启模板引擎自带的 HTML 转义功能。例如: 在 ejs 中,尽量使用 而不是 ; 在 doT.js 中,尽量使用

{{! data } 而不是 {{= data }; 在 FreeMarker 中,确保引擎版本高于 2.3.24。

CSRF(跨站请求伪造)漏洞原理?

答:

web 应用程序在用户进行敏感操作时,如修改账号密码、添加账号、转账等,没有校验表单

token 或者 http 请求头中的 referer 值,从而导致恶意攻击者利用普通用户的身份(cookie)完成攻击行

为。

受害者 A 登录网站,攻击者 B 构造有效链接诱导受害者 A 访问,网站在线期间会将该请求当做正常业务执

行。(比如修改密码,向某用户转账等业务,当然现在这种简单的 EXP 基本上见不到,拿靶场验证一下用于

理解原理就行了)

CSRF(跨站请求伪造)漏洞的类型?

答:

GET 类型

POST 类型

比如在一个页面中构造好一个表单表单,将这个页面隐藏在一个不可见的 iframe 窗口中,然后使用

JavaScript 自动提交这个表单,在整个过程中,对于用户来说是不可见的。当用户访问该页面后,表单会自

动提交,相当于模拟用户完成了一次 POST 操作

CSRF(跨站请求伪造)漏洞的危害?

● 盗用其他用户或者管理员的账号

● 获取个人隐私或者机密资料

● 联合其他漏洞组合拳

比如说拿到管理员账号之后,我们在某个页面利用 XSS 漏洞进行网页挂马,普通用户访问后就会下载木马

程序,进而联合 MSF 或者 CS 等工具 getshell。再比如说你把管理员密码还原一下,真正管理员登录的时

候也会受到网页挂马的影响,结合工具可以进一步拿下管理员主机权限。CSRF(跨站请求伪造)攻击的防范措施?

答:

验证码验证

验证码被认为是对抗 CSRF 攻击最简洁而有效的防御方法。

CSRF 攻击的过程,往往是在用户不知情的情况下构造了网络请求。而验证码,则强制用户必须与应用进行

交互,才能完成最终请求。因此在通常情况下,对用户执行敏感操作时进行验证,就能够很好地遏制 CSRF

攻击。

但是验证码并非万能。很多时候,出于用户体验考虑,网站不能给所有的操作都加上验证码。因此,验证

码只能作为防御 CSRF 的一种辅助手段,而不能作为最主要的解决方案。

在请求地址中添加 token 并验证

CSRF 攻击之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存

在于 cookie 中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的 cookie 来通过安全

验证。

要抵御 CSRF 关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。

可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这

token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。

验证 HTTP 头的 Referer 字段

HTTP Referer 是 header 的一部分,当浏览器向 web 服务器发送请求的时候,头信息里会包含 Referer。

比如我在 www.google.com 里有一个 www.baidu.com 链接,那么点击这个链接,它的头信息里就会有:

Referer=http://www.google.com

通过验证 Referer,可以判断请求的合法性,如果 Referer 是其他网站的话,就有可能是 CSRF 攻击,则拒

绝该请求。

HTTP 头中自定义属性并验证

这种方法也是使用 token 并进行验证,和上一种方法不同的是,这里并不是把 token 以参数的形式置于

HTTP 请求之中,而是把它放到 HTTP 头中自定义的属性里。通过 XMLHttpRequest 这个类,可以一次性

给所有该类请求加上 csrftoken 这个 HTTP 头属性,并把 token 值放入其中。这样解决了上种方法在请

求中加入 token 的不便,同时,通过 XMLHttpRequest 请求的地址不会被记录到浏览器的地址栏,也不

用担心 token 会透过 Referer 泄露到其他网站中去。

缺陷是要采用这种方法来进行防护,要把所有请求都改为 XMLHttpRequest 请求,就意味着可能要重写整

个网站,这代价无疑是不能接受的。

SSRF(服务器端请求伪造)漏洞原理?

答:

当攻击者想要访问服务器 B 上的服务,但是由于存在防火墙或者服务器 B 是属于内网主机等原因

导致攻击者无法直接访问。如果服务器 A 存在 SSRF 漏洞,这时攻击者可以借助服务器 A 来发起 SSRF 攻

击,通过服务器 A 向主机 B 发起请求,达到攻击内网的目的。SSRF(服务器端请求伪造)漏洞经常存在的位置?

答:

分享:通过 URL 地址分享网页内容

转码服务

在线翻译

图片加载与下载:通过 URL 地址加载或下载图片

图片、文章收藏功能

未公开的 api 实现以及其他调用 URL 的功能

SSRF(服务器端请求伪造)漏洞绕过手法?

答:

利用@绕过限制白名单域名

利用@,当网站限制只能访问 http://www.xxx.com 类型的域名时,可以采用 http 基本身份认证的方式绕

过,如:http://www.xxx.com@www.xxc.com

绕过限制白名单内网 IP

● 采用短网址绕过

● 利用特殊域名,xip.io 可以指向任意域名(原理是 DNS 解析),即 127.0.0.1.xip.io,可以解析为 127.0.0.1

● 采用进制转换,127.0.0.1 八进制:0177.0.0.1;十六进制:0x7f.0.0.1;十进制:2130706433

● 利用[::]http://[::]:80/ 会解析为 http://127.0.0.1

● 添加端口号,http://127.0.0.1:8080

● 利用句号,如 127。0。0。1 会解析为 127.0.0.1

● 采用 302 跳转

绕过限制请求 http 协议

● 采用 302 跳转

● 采用短地址

SSRF(服务器端请求伪造)漏洞的危害?

答:

1. 对外网、服务器所在内网、本地进行端口扫描

2. 向内部任意主机的任意端口发送 payload 来攻击内网服务

3. DOS 攻击(请求大文件,始终保持连接 Keep-Alive Always)

4. 攻击内网的 web 应用,如直接 SQL 注入、XSS 攻击等

5. 利用 file、gopher、dict 协议读取本地文件、执行命令等

6. 可以无视网站 CDN

SSRF(服务器端请求伪造)漏洞的防范手段?

答:禁止跳转

过滤返回的信息

如果 web 应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合

标准。

统一错误信息

避免用户可以根据错误信息来判断远程服务器的端口状态。

限制请求的端口

比如 80,443,8080,8090。

禁止除 HTTP 和 HTTPS 外的协议

比如说仅仅允许 http 和 https 请求。可以防止类似于 file:///,gopher://,ftp://请求等引起的问题。

对请求地址设置白名单或者限制内网 IP

XXE(XML 外部实体注入)漏洞的原理?

答:

XML 文件在引用外部实体时候,可以沟通构造恶意内容,可以导致读取任意文件,命令执行和对

内网的攻击

怎样构建 XXE(XML 外部实体注入)攻击?

答:

1.直接通过 DTD 外部实体声明

2.通过 DTD 文档引入外部 DTD 文档,再引入外部实体声明

3.通过 DTD 外部实体声明引入外部实体声明

XXE(XML 外部实体注入)漏洞的危害?

答:

任意文件读取

系统命令执行

执行远程代码

DOS 拒绝服务攻击

内网端口探测

攻击内网网站

钓鱼

XXE(XML 外部实体注入)漏洞的防范?

答:

●禁用外部实体的引入比如 PHP 语言中使用 libxml_disable_entity_loader(true);等方式。

Python 语言中使用

from lxml import etree

xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

●过滤如 SYSTEM 等敏感关键字,防止非正常、攻击性的外部实体引入操作。

文件上传漏洞的原理?

答:

Web 页面中文件上传功能没有对上传的文件做合理严谨的过滤,导致用户可以利用此功能,上传

能被服务端解析执行的文件,并通过此文件获得执行服务端命令的能力。

文件上传漏洞绕过手法?

答:

前端 JS 禁用绕过

在前端页面禁用 JS,当然也有可能影响正常页面显示却没用

简单修改后缀名绕过

如果只是前端页面限制上传的文件后缀名,那么我们就可以利用 burp suite 等工具修改文件后缀名绕过。

抓包修改 MIME 类型

常见图片 MIME 类型: image/gif, image/png, image/jpeg, image/bmp, image/webp, image/x

icon, image/vnd.microsoft.icon

服务端代码是通过 Content-Type 的值来判断文件的类型,这样我们可以直接对文件的 Content-Type 值进

行修改来绕过。

后缀名大小写绕过

如果源代码没有对文件后缀名进行大小写转换,那么只要更改文件名后缀大小写即可绕过黑名单

图片马绕过

使用 edjpgcom 等工具或者命令将图片和 WebShell 制作成一个图片马

GIF89a 图片头文件欺骗

比如 GIF89a,在 webshell 前面加上 GIF89a,后台认为是图片,上传后再执行木马,更有效的做法是结合其

他绕过方法更有针对性的绕过。

%00,0x00 截断

比如修改文件名为 1.php%00.jpg,如果 php 版本<5.3.4 在 url 中%00 表示 ascll 码的 0 ,而 ascii 码的

0,表示字符串结束,所以当 url 中出现%00 时就会认为读取已结束,最后会被解析为 1.php,从而实现绕

● .htaccess 文件绕过

.htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。通过.htaccess 文件,

可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许/阻止特定的用户或者目

录的访问、禁止目录列表、配置默认文档等功能。

比如说在 htaccess 文件中有如下内容

AddType application/x-httpd-php .png 那我们随后上传 png 后缀图片马即可绕过

.user.ini.绕过.user.ini 文件里的意思是:所有的 php 文件都自动包含指定的文件,比如说某网站限制不允许上传.php 文

件,你便可以上传一个.user.ini,再上传一个图片马,包含起来进行 getshell。不过前提是含有.user.ini 的文

件夹下需要有正常的 php 文件,否则也不能包含了。 再比如,你只是想隐藏个后门,这个方式是最方便

的。

条件竞争绕过

一些网站上传文件的逻辑是先允许上传任意文件,然后检查上传的文件是否包含 webshell 脚本,如果包含

则删除该文件。这里存在的问题是文件上传成功后和删除文件之间存在一个短的时间差(因为要执行检查文

件和删除文件的操作),攻击者可以利用这个短的时间差完成条件竞争的上传漏洞攻击。比如上传一个 php

文件里面这样写

<?php

fputs(fopen(‘../shell.php’,’w’),”);

?>

::$DATA 绕过

在 php 代码中没有对::$DATA 进行过滤,在 windows 中会将文件名::$DATA 之后的数据当成文件流处理,

保持::$DATA 之前的文件名

假设上传的文件为 test9.php::$DATA.jpg,如果成功上传到服务器就会去掉::$DATA.jpg 变成 test9.php 进行

保存

但是 php 代码中还通过 strrchr 函数获取文件后缀.jpg,并以该后缀作为上传之后的文件后缀

所以 test9.php::$DATA.jpg 上传到服务器后缀仍然是.jpg

+空格+点绕过

某些情况下,源代码先是去除文件名前后的空格,再去除文件名最后所有的.,再通过 strrchar 函数来寻找.

来确认文件名的后缀,但是最后保存文件的时候没有重命名而使用的原始的文件名,导致可以利用 1.php. .

(点+空格+点)来绕过

后缀名双写绕过

黑名单过滤,将黑名单里的后缀名替换为空且只替换一次,因此可以用双写绕过,比如 1.pphphp,后端源

代码过滤掉红色标注部分,剩余 1.php。

特殊可解析后缀绕过

源代码有黑名单限制,那么我们就可以修改文件后缀名为根据后端的脚本语言能够解析的文件后缀,比如

源代码是用 php 语言写的话,1.php1 会被解析为 1.php

PhP 除了可以解析 php 后缀 还可以解析 php1,php2,php3,php4 ,phtml 等

Asp 可解析 asa,cer,cdx

Aspx 可解析 ashx,asmx,ascx

Jsp 可解析 jspx、jspf

然而这种绕过方法可能会让我们绕过成功,但服务器默认配置却可能不允许这些后缀的文件执行

二次渲染绕过

说不清楚,放链接

文件上传漏洞的危害?

答:

上传 webshell,控制服务器、远程命令执行

上传系统病毒、木马文件进行挖矿、僵尸网络

进行提权操作修改 web 页面,实现钓鱼、挂马等操作。

进行内网渗透。

文件上传功能的检测点有哪些?

● 客户端的 JS 检测(主要检测文件名后缀)

● 服务端检测(MINE 类型检测、文件后缀名、文件格式头)

文件上传漏洞的防范措施?

答:

文件上传的目录设置为不可执行

只要 web 容器无法解析该目录下面的文件,即使攻击者上传了脚本文件,服务器本身也不会受到影响,因

此这一点至关重要。

严格判断文件类型

在判断文件类型时,可以结合使用 MIME Type、后缀检查等方式。在文件类型检查中,强烈推荐白名单方

式,黑名单的方式已经无数次被证明是不可靠的。此外,对于图片的处理,可以使用压缩函数或者 resize

函数,在处理图片的同时破坏图片中可能包含的 HTML 代码。

使用随机数修改文件名和文件路径

文件上传如果要执行代码,则需要用户能够访问到这个文件。在某些环境中,用户能上传,但不能访问。

如果应用了随机数改写了文件名和路径,将极大地增加攻击的成本。再来就是像 shell.php.rar.rar 和

crossdomain.xml 这种文件,都将因为重命名而无法攻击。

单独设置文件服务器的域名

由于浏览器同源策略的关系,一系列客户端攻击将失效,比如上传 crossdomain.xml、上传包含 Javascript

的 XSS 利用等问题将得到解决。

内容检测

有效防范图片马和文件二次渲染

安全加固中间件

及时更新并加固中间件,可以有效避免因为中间件的漏洞而导致的文件上传漏洞,比如某些中间件以前的

版本很多都具有文件解析漏洞

采用 WAF 等安全防护设备

采用 WAF 等安全防护设备可以有效的防御常见漏洞

常见的未授权访问漏洞有哪些?

a.MongoDB 未授权访问漏洞

b.Redis 未授权访问漏洞

c.Memcached 未授权访问漏洞

d.JBOSS 未授权访问漏洞

e.VNC 未授权访问漏洞

f.Docker 未授权访问漏洞

g.ZooKeeper 未授权访问漏洞

h.Rsync 未授权访问漏洞能简单的讲一下反序列化漏洞吗?

序列化是指程序将对象转化为字节序列从而便于存储运输的一种方式,反序列化则与其相反,即将字节序列转化为对象供

程序使用。程序在进行反序列化时会调用一些函数,比如常见的 PHP 反序列化函数 unserialize()以及一些常见的魔术方

法,比如构造函数_construct(),析构函数 destruct() ,_wakeup(),toString(0) ,sleep0 等等。如果这些函数在传递参数时

没有进行严格的过滤措施,那么攻击者就可以构造恶意代码并将其序列化后传入函数中,从而导致反序列化漏洞。

代码执行、文件读取、命令执行的函数有哪些?

文件执行 eval、call_user_func、call_user_func_array 等

文件读取 fopen()、readfile()、fread()、file()、show_source()等

命令执行 system()、exec()、shell_exec()、passthru()、pcntl_exec()等

你说说你对于越权的内容,还有越权的话,一般是怎么判断出来的

越权分为水平越权和垂直越权,一般越权的判断的话,例如修改一些参数值,id 为 0 还是 1、admin 为 true 还是 false 等

那你说说几种常见的逻辑漏洞吧

验证码相关的,例如重复利用,验证码无效等,越权漏洞等等

常见的中间件有哪些?它们有哪些漏洞?

•IIS:PUT 漏洞、短文件名猜解、远程代码执行、解析漏洞

•Apache:解析漏洞、目录遍历

•Nginx:文件解析、目录遍历、CRLF 注入、目录穿越

•Tomcat:远程代码执行、war 后门文件部署

•JBoss:反序列化漏洞、war 后门文件部署

•WebLogic:反序列化漏洞、SSRF 任意文件上传、war 后门文件部署

•ApacheShiro 反序列化漏洞:ShirorememberMe(Shiro-550)、ShiroPaddingOracleAttack(Shiro-721)

fastjson 漏洞利用原理

答:在请求包里面中发送恶意的 json 格式 payload,漏洞在处理 json 对象的时候, 没有对@type 字段进行过滤,从

而导致攻击者可以传入恶意的 TemplatesImpl 类,而 这个类有一个字段就是_bytecodes,有部分函数会根据这个

_bytecodes 生成 java 实例,这就达到 fastjson 通过字段传入一个类,再通过这个类被生成时执行构造函数。

平常怎么去发现 shiro 漏洞的

答:登陆失败时候会返回 rememberMe=deleteMe 字段或者使用 shiroScan 被动扫描去 发现

一般情况下,哪些漏洞会高频被用于打点?

a.ApacheShiro 相关漏洞

b.Fastjson 漏洞

c.Log4j

d.上传漏洞e.边界网络设备资产+弱口令

结尾

虽然已经很多了,但肯定还是有不全的,不过我感觉这些全部掌握去当个看监控的肯定是杠杠的,当个初级界的扛把子肯

定没问题,最后的最后也是感谢能看到这里的师傅,最后也是预祝师傅们护网顺利。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注