HVV面试

服务商面试总结

初级:
今年中级需求比较多,初级相对往年问的比较难,主要集中在owasp-top10(问的最多),框架漏洞,应急响应流程,渗透流程,提权等。

中级:
面试主要问往年项目(在往年hvv中,你印象比较深的事件有哪些),反序列化、内网、安全设备,溯源,渗透流程,应急响应。

1、了解那些漏洞

SQL注入,XSS、SSRF、CSRF、一些基础的框架漏洞等等

2、如何查看告警是误报还是真实攻击

可以根据请求头有没有恶意的拼接字段,请求包是否有恶意字段;攻击者 IP、目标 IP、使用的攻击方法、攻击时间,查看网络流量;查看历史告警数据,了解此类告警是否曾经出现过误报。

3、SQL注入常问

sql注入的分类:
报错注入,堆叠注入,宽字节注入,联合查询注入,二次注入,盲注(时间盲注,bool盲注)

SQL注入的防御:
对输入进行严格的转义和过滤;数据类型进行严格定义,数据长度进行严格规定。

SQL注入报错注入函数:
exp();floor();extractvalue();updatexml()

宽字节注入:
mysql主要使用GBK编码认为两个字符为一个汉字,转义时会把'转义\, \在url是%5c
ID=%df%5c%27 and ---> ID=運’ and
%df:自己加入的;%5c:\;%27:'

sql注入写shell
条件:
1、知道web绝对路径
2、有文件写入权限(一般情况只有ROOT用户有)
3、数据库开启了secure_file_priv设置
     然后就能用select into outfile写入webshell
文件写入使用into outfile或dumpfile函数,例如:
union select 1,"",3 into outfile 'C:/Inetpub/wwwroot/shelll.php'

Sqlmap os-shell:
--os-shell本质上写入了两个PHP文件,其中tmpugvzq.php可以让我们上传文件到网站路径下。相关pyload如:127.0.0.1/sqli-masrer/less-1/tmpugvzq.php?cmd=whoami。从pyload可以看出可以进行命令执行。

4、XSS

原理:
在渲染过程中发生了不在预期过程中的JavaScript代码执行。XSS通常被用于获取Cookie、以受攻击者的身份进行操作等行为。

分类:反射型,储存型,DOM。

区别:
反射型XSS攻击攻,击者将恶意脚本作为参数发送到受影响的页面,当用户访问该页面时,恶意脚本会从参数中提取并运行。经过后端,不经过数据库

存储型XSS攻击,攻击者将恶意脚本存储在网站数据库中,当用户访问受影响的页面时,恶意脚本会从数据库中加载并运行。经过后端,经过数据库

DOM型XSS攻击,攻击者通过修改网站的DOM元素来注入恶意脚本,当用户浏览网站时,恶意脚本会从DOM元素中提取并运行。不经过后端,也不经过数据库,dom - xss是通过url传入参数去控制触发的

防御:
转义字符实体,使用HTTP Only禁止JavaScript读取cookie值,对输入进行校验,以及在浏览器和Web应用端使用相同的字符编码。

5、CSRF

原理:
当黑客发现某网站存在CSRF漏洞,并且构造攻击参数将payload制作成网页,用户访问存在CSRF漏洞的网站,并且登录到后台,获取cookie,此时黑客发送带有payload的网址给用户,用户同时打开黑客所发来的网址,执行了payload,则造成了一次CSRF攻击。

形成原因:
主要是漏洞网站没有经过二次验证,和用户在浏览漏洞网站的时候,同时点击了hack制造的payload。

防御:过滤掉需要防止CSRF的页面,然后嵌入Token,重新输入密码,检查Referer。

csrf成功利用的条件:用户在统一浏览器下;没有关闭浏览器的情况下;访问了攻击者精心伪装好的恶意链接。

6、SSRF

原理:
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF 攻击的目标是从外网无法访问的内部系统。
1、服务器允许向其他服务器获取资源
2、但是并没有对该地址做严格的过滤和限制
3、所以导致了攻击者可以向受害者服务器,传入任意的URL 地址,并将数据返回

防御:
1、限制请求的端口为 HTTP 常用的端口,比如 80,443,8080,8088 等
2、黑名单内网 IP。
3、禁用不需要的协议,仅仅允许 HTTP 和 HTTPS

SSRF 禁用 127.0.0.1 后如何绕过,支持哪些协议:
1、利用进制转换
2、利用DNS解析
3、利用句号(127。0。0。1)
4、利用[::](http://[::]:80/);
5、利用@(http://example.com@127.0.0.1);
6、利用短地址(http://dwz.cn/11SMa);
7、协议(Dict://、SFTP://、TFTP://、LDAP://、Gopher://)

漏洞存在的地方:
能够对外发起网络请求的地方;请求远程服务器资源的地方;数据库内置功能;邮件系统;文件处理;在线处理工具

最主要的是可以搞内网

7、XSS、CSRF和SSRF区别(很常问)

XSS:跨站脚本攻击;
CSRF:跨站请求伪造脚本攻击;
SSRF:服务器请求伪造攻击。

区别:
XSS是服务器对用户输入的数据没有进行足够的过滤,导致客户端浏览器在渲染服务器返回的html页面时,出现了预期值之外的 脚本语句被执行。

CSRF是服务器端没有对用户提交的数据进行随机值校验,且对http请求包内的refer字段校验不严,导致攻击者可以 利用用户的Cookie信息伪造用户请求发送至服务器。

SSRF是服务器对 用户提供的可控URL过于信任,没有对攻击者提供的RUL进行地址限制和足够的检测,导致攻击者可以以此为跳板攻击内网或其他
服务器。

8、XXE

XXE的原理:
XXE(XML External Entity,XML 外部实体注入)正是当允许引用外部实体时,通过构造恶意内容,导致读取任意文件、执行系统命令、内网探测与攻击等危害的一类漏洞。

验证:
构造一个包含外部实体引用的XML请求。发送XML请求到目标服务器并观察响应。如果响应中包含外部实体引用所引用的文件内容,则说明目标服务器存在XXE漏洞。如果没有响应,可以尝试修改外部实体引用中的URL,以访问其他文件或执行其他命令。

常用协议:
http:        https:        gopher:        dict:        mailto:

防御:关闭外部实体引用即可;XML解析库在调用时严格禁止解析外部实体。

XXE漏洞的危害:
通常和危害一起回答出来会感觉更加流畅和自然;通常发生在应用程序解析XML输入时;没有禁止外部实体的加载;导致可加载恶意外部文件;造成文件读取;命令执行;内网端口扫描;攻击内网网站;发起dos攻击等危害。

9、文件上传

原理:
由于程序员在对用户文件上传功能实现代码没有严格限制用户上传文件后缀。以及文件类型或者处理缺陷,而导致用户可以越过本身权限向服务器上传木马去控制服务器。

文件上传分类:黑白名单

危害:操作木马文件提权 获取网站权限

绕过方法
黑名单:
后缀名不完整 .php5 .phtml等        
上传.htacess
大小写        
在数据包中后文件缀名前加空格
后缀名前加
f加上::$DATA
未循环验证,可以使用x.php..类似的方法

白名单(一般需要配合其他漏洞一起利用):
%00截断:在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束。
图片马
条件竞争:(先进行上传,后进行判断。利用时间差进行webshell上传)
在服务器删除我们上传的非法文件之前,访问这个文件,从而生成另一个木马文件,用这个木马文件getshell

<?phpfputs(fopen('shell.php','w'),'<?php eval(@_pOST["a"]); ?>')  #注意单双引号的闭合
?>
#只要执行,就是生成一个shell.php文件,shell.php的内容为 <?php eval(@_pOST["a"]); ?>

修复:
1.后端验证:采用服务端验证模式
2.后缀验证:基于白名单,黑名单过滤
3.MIME验证:基于上传自带类型艰检测
4.内容检测:文件头,完整性检测
5.自带函数过滤

10、文件包含

类型:
1.本地文件包含
2.远程文件包含 :即加载远程文件,在`php.ini`中开allow_url_include 、allow_url_fopen选项。开启后可以直接执行任意代码。

PHP文件包含函数:
include();inclue_once();require();require_once()

利用:
读取敏感文件;远程包含shell;图片上传并包含图片shenll;使用伪协议;包含日志文件GetShell;截断包含。

修复方案:
禁止远程文件包含allow_url_include=off
配置open_basedir=指定目录,限制访问区域。
过滤../等特殊符号
修改Apache日志文件的存放地址
开启魔术引号magic_quotes_qpc=on
尽量不要使用动态变量调用文件,直接写要包含的文件

文件包含的伪协议:
file:// 访问本地文件系统
http:// 访问 HTTPs 网址
ftp:// 访问 ftp URL
Php:// 访问输入输出流
Zlib:// 压缩流
Data:// 数据
Ssh2:// security shell2
Expect:// 处理交互式的流

11、代码执行

原理:
没有对接口输入的内容进行严格的判断 造成攻击者精心构造的代码非法执行当应用在调用一些能将字符转化为代码的函数(如PHP中的eval)时,没有考虑用户是否能控制这个字符串,这就会造成代码执行漏洞。

相关函数:
PHP:eval assert
Python:exec
asp:<%=CreateObject(“wscript.shell”).exec(“cmd.exe /cipconfig”).StdOut.ReadAll()%>

危害:
执行代码、让网站写shell、甚至控制服务器

漏洞利用:
执行代码的函数:eval、assert
callback函数:preg_replace + /e模式
反序列化:unserialize()(反序列化函数)

修复:
1.使用json保存数组,当读取时就不需要使用eval了
2.对于必须使用eval的地方,一定严格处理用户数据
3.字符串使用单引号包括可控代码,插入前使用addslashes转义
4.放弃使用preg_replace的e修饰符,使用preg_replace_callback()替换
5.若必须使用preg_replace的e修饰符,则必用单引号包裹正则匹配出的对象

12、命令执行

管道符号绕过

空格绕过:${IFS} 、%0a、%09

重定向绕过:< <>

变量拼接绕过:@kali:$ a=c;b=at;c=fl;d=ag;$a$b $c$d

单引号、双引号绕过:ca''t flag        cat"" flag

编码绕过:
$(printf "\x63\x61\x74\x20\x2f\x66\x6c\x61\x67") ==>cat /flag
{printf,"\x63\x61\x74\x20\x2f\x66\x6c\x61\x67"}|\$0 ==>cat /flag
$(printf "\154\163") ==>ls
(printf "\154\163")

查看等价替换:
(1)more:一页一页的显示档案内容
(2)less:与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页
(3)head:查看头几行
(4)tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
(5)tail:查看尾几行
(6)nl:显示的时候,顺便输出行号
(7)od:以二进制的方式读取档案内容
(8)vi:一种编辑器,这个也可以查看
(9)vim:一种编辑器,这个也可以查看
(10)sort:可以查看
(11)uniq:可以查看
(12)file -f:报错出具体内容

13、WAF原理以及绕过

WAF工作原理
WAF工作方式是对接收到的数据包进行正则匹配过滤,如果正则匹配到与现有漏洞知识库的攻击代码相同,则认为这个恶意代码,从而对于进行阻断。所以,对于基于规则匹配的WAF,需要每天都及时更新最新的漏洞库。

WAF绕过-文件上传
通过替换大小写来进行绕过;通过删减空格来进行绕过;通过字符串拼接绕过;双文件上传绕过;
黑白名单后缀绕过

WAF绕过-SQL注入
各种编码绕过;字母大小写转换绕过;空格过滤绕过;双关键字绕过;宽字节绕过;%00截断;Cookie/X-Forwarded-For注入绕过

WAF绕过-RCE
通配符;连接符;未初始化的bash变量

14、反序列化漏洞

原理
序列化:就是将对象转化成字节序列的过程。
反序列化:就是讲字节序列转化成对象的过程。

php反序列化
serialize函数进行序列化,使用unserialize函数进行反序列化。

python反序列化
使用执行whoami命令的Payload替换序列化后的Cookie的值模拟RCE漏洞利用,当正常程序反序列化Cookie值时生成包含__reduce__函数的exec类。

Java反序列化
Java.io.ObjectOutputStream类中的writeObject方法进行序列化,java.io.ObjectInputStream类中的readObject方法进行反序列化。

注意:Python和PHP中,一般通过构造一个包含魔术方法。在Java中没有魔术方法,但是有反射(reflection)机制​。

15、正向代理和反向代理的区别

正向代理:客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端。科学上网
反向代理:服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端。CDN负载均衡

16、正向shell和反向shell的区别

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

17、redis

原理:
Redis 未授权访问漏洞,未开启认证,导致可以直接连接到数据库,然后在攻击机中生成ssh公钥和私钥,密码设置为空,然后将生成的公钥写入,再利用私钥连接。

防御:
1.添加登录密码2.修改默认端口3.关闭端口4.禁止以root用户权限启动,以低权限启动redis服务

18、log4j

原理:
Log4j 是Apache 的一个开源项目,是一款基于Java 的开源日志记录工具。该漏洞主要是由于日志在打印时当遇到`${`后,以:号作为分割,将表达式内容分割成两部分,前面一部分prefix,后面部分作为key,然后通过prefix去找对应的lookup,通过对应的lookup实例调用lookup方法,最后将key作为参数带入执行,引发远程代码执行漏洞。

判断:${jndi:字段

19、shior

原理:
Shiro是Apache下的一个开源Java安全框架,执行身份认证,授权,密码和会话管理。shiro在用户登录时除了账号密码外还提供了可传递选项remember me。用户在登录时如果勾选了remember me选项,那么在下一次登录时浏览器会携带cookie中的remember me字段发起请求,就不需要重新输入用户名和密码。

判断:
请求包里面有RememberMe=DeleteMe字段

shior-550:
不需要提供秘钥,使用默认秘钥就可以利用
shior-721反序列化漏洞
先爆破秘钥,成功后可以进一步利用

20、weblogic

weblogic就好多了,基于T3协议的反序列化;基于xml解析时候造成的反序列化,还有ssrf,权限绕过等等

21、fastjion

原理:
fastjson是阿里巴巴开发的一款将json字符串和java对象进行序列化和反序列化的开源json解析库。fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执行等这类问题。

判断:
正常请求是get请求并且没有请求体,可以通过构造错误的POST请求,即可查看在返回包中是否有fastjson这个字符串来判断。

22、web服务器

Ils                  (PUT、短文件名猜解、远程代码执行、解析漏洞)
Apache         (解析漏洞、目录遍历)
Nginx            (文件解析、目录遍历、CRLF注入、目录穿越)
Tomcat          (远程代码执行、war后门部署)
Jboss            (反序列化、任意文件上传、war后门)

23、菜刀、冰蝎、蚁剑、哥斯拉

菜刀
base64编码;有一段以QG开头,7J结尾的固定代码

蚁剑
base64编码;eval关键字;@ini_set("display","0")

哥斯拉
getclass,getclassLoader关键字;payload使用base64编码等特征。

冰蝎
php:eval,assert关键词;jsp:getclass(),getclassLoader()关键词

冰蝎2.0
返回包的状态码是200,返回内容是16位的密钥。建立连接后的cookie格式都是Cookie:PHPSessid=xxxx ;path=/;特征。

冰蝎3.0
conten-length字段是5740或者\5720

24、内网黄金票据、白银票据的区别和利用方式 

白银票据:
抓取到了域控服务hash的情况下,在客户端以一个普通域用户的身份生成TGS票据,并且是针对于某个机器上的某个服务的,生成的白银票据,只能访问指定的target机器中指定的服务,永久的。

黄金票据:
直接抓取域控中账号的hash,来在client端生成一个TGT票据,那么该票据是针对所有机器的所有服务,30分钟左右。

25、权限提升

Windows
1. 土豆全家桶、systeminfo提权辅助页面、注册表提权
2. 系统漏洞提权
3. sc 命令提权(administrator–>system)
4. 不带引号的服务路径
5. 不安全的服务权限提升
6. 绕过系统 UAC 提升

Linux
1. uid提权 (find / -perm -u=s -type f 2>/dev/null)
2. (sudo git help config !/bin/bash或者!'sh'完成提权)
3. 脏牛提权
4. 内核提权
5. 环境劫持
6. suid提权
7. cve-2021-4034
8. docker提权

第三方服务
1. UDF提权,UDF(User Defined Funtion)用户自定义函数,通过添加新的函数,对mysql服务器进行功能扩充。
2. MOF加载提权,利用了C:\Windows\System32\wbem\MOF目录下的nullevt.mof文件每分钟会去执行一次的特性,向该文件中写入cmd命令,就会被执行
3. 启动项重启提权
4. 反弹shell

26、CDN

什么是CDN:CDN的全称是Content Delivery Network,即内容分发网络,主要目的是负载均衡。

判断网站有没有CDN:多节点ping

绕CDN找出真实IP:子域名查询,邮件服务查询;国外地址请求

27、Linux命令常问

计划任务:crontab
启动项:chkconfig
系统版本:uname;cat /prov/version
日志文件存在的目录:/var/log
历史计划:history

28、溯源思路

攻击源捕获:
​ 1. 安全设备报警,如扫描IP、威胁阻断、病毒木马、入侵事件;
​ 2. 日志与流量分析,异常的通讯流量、攻击源与攻击目标;
​ 3. 服务器资源异常,异常的文件、账号、进程、端口,启动项、计划任务和服务;
​ 4. 邮件钓鱼,获取恶意文件样本、钓鱼网站URL;
​ 5. 蜜罐系统,获取攻击者行为、意图的相关信息。

溯源反制手段:IP定位技术、​ ID追踪术、​ 网站url​ 恶意样本

攻击者画像
攻击路径:攻击目的、网络代理、攻击手法
攻击者身份画像:虚拟身份、真实身份、联系方式、组织情况

常见溯源方式:邮件钓鱼攻击溯源、web入侵溯源、蜜罐溯源

29、应急响应流程

1.文件备份,保留证据;
2.准备相关的工具,查后门等工具;
3.初步判断事件类型,事件等级;
4.抑制范围,隔离使爱害面不继续扩大;
5.查找原因,封堵攻击源;
6.业务恢复正常水平;
7.总结,报告,并修复、监控。

30、内网渗透流程

攻击思路:
(1)攻击外网服务器,用外网服务器当作跳板机,从而实现内网渗透
(2)社工,发钓鱼邮件、木马等,获得高管/系统管理员/财务/人事/业务人员的个人电脑

攻击过程:
信息收集
漏洞验证/漏洞攻击
后渗透
日志清理

31、安全设备

入侵防御系统IPS
是计算机网络安全设施,是对防病毒软件和防火墙的补充。入侵预防系统是一部能够监视网络或网络设备的网络数据传输行为的计算机网络安全设备,能够即时的中断、调整或隔离一些不正常或是具有伤害性的网络数据传输行为。

入侵检测系统IDS
积极主动的防护措施,按照一定的安全策略,通过软件,硬件对网络,系统的运行进行实时的监控,尽可能地发现网络攻击行为,积极主动的处理攻击,保证网络资源的机密性,完整性和可用性。

防火墙
防火墙是位于两个(或多个)网络间,实行网络间访问或控制的一组组件集合之硬件或软件。隔离网络,制定出不同区域之间的访问控制策略来控制不同信任程度区域间传送的数据流。

数据库审计系统
是对数据库访问行为进行监管的系统,通过镜像或者探针的方式采集所有数据库的访问流量,并基于SQL语法,语义的解析技术,记录下对数据库所有访问和操作行为,例如访问数据的用户IP,账号,时间等等,对数据进行操作的行为等等。

日志审计系统
日志审计系统能够通过主被动结合的手段,实时且不间断的采集用户网络中不同厂商的安全设备,网络设备,主机,操作系统以及各种应用系统产生的海量日志信息,并将这些信息汇集到审计中心,进行集中化存储,备份,查询,审计,告警,响应,并出具丰富的报表报告,获悉全网的整体安全运行态势,同时满足等保关于安全管理中心的日志保存时间大于6个月的要求。

堡垒机
是针对内部运维人员的运维安全审计系统。主要功能是对运维人员的运维操作进行审计和权限控制(比如要登录某些平台或者系统只能通过堡垒机才可以,不用堡垒机是无法访问的)。同时堡垒机还有账号集中管理,单点登录(在堡垒机上登录即可实现对多个其他平台的无密登录)等功能。

漏洞扫描系统
漏洞扫描工具或者设备是基于漏洞数据库,通过扫描等手段对指定的远程或本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测系统(我们常用的针对WEB站点进行扫描的工具和此处漏洞扫描系统不是一个概念)。

数据安全态势感知平台
以大数据平台为基础,通过收集多元,异构的海量日志,利用关联分析,机器学习,威胁情报,可视化等技术,帮助用户持续监测网络安全态势,实现从被动防御向积极防御的进阶。

终端安全管理系统
是集防病毒,终端安全管控,终端准入,终端审计,外设管控,EDR等功能于一体,兼容不同操作系统和计算机平台,帮助客户实现平台一体化,功能一体化,数据一体化的终端安全立体防护。

WAF
WAF是以网站或应用系统为核心的安全产品,通过对HTTP或HTTPS的Web攻击行为进行分析并拦截,有效的降低网站安全风险。产品主要部署在网站服务器的前方。通过特征提取和分块检索技术进行模式匹配来达到过滤,分析,校验网络请求包的目的,在保证正常网络应用功能的同时,隔绝或者阻断无效或者非法的攻击请求。

蜜罐
蜜罐是一种安全威胁的主动防御技术,它通过模拟一个或多个易受攻击的主机或服务来吸引攻击者,捕获攻击流量与样本,发现网络威胁,提取威胁特征,蜜罐的价值在于被探测,攻陷。

32、常见端口

21:ftp
22:ssh
23:telnet
24:smtp
80:web
443:https
445:smb(文件共享)永恒之蓝
1433:mssql
1521:oracle
3306:mysql
3389:远程桌面
6379:redis未授权
7001,7002: WebLogic默认弱口令,反序列

8080:Tomcat

  • 12
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值