hvv常见面试题1

1.正向代理和反向代理的区别

正向代理


正向代理类似跳板,通过正向代理机器访问外部互联网,如果正向代理机器在海外,可以连接 GFW 外部互联网

正向代理可以收集用户上网信息,进行权限认证等

反向代理

反向代理类似镜像,实现对服务的转发,实际上对外相当于一台服务器

反向代理能有效分隔内网机器,防止攻击或者进行负载均衡

2.蚁剑 / 菜刀 / 冰蝎异同

相同:都是用来连接 Web Shell 的工具 不同:冰蝎有流量动态加密

菜刀
菜刀 webshell 只使用了 url 编码 + base64 编码 shell 特征就是传输参数名为 z0,还存在 int_set (“display_erros”,”0″) 字符串特征

蚁剑
默认的蚁剑 shell,连接时会请求两次,其请求体只是经过 url 编码,其流量中也存在和蚁剑一样的代码 第一次请求,关闭报错和 magic_quotes,接下来去获取主机的信息 第二次请求,会把主机目录列出来

冰蝎 2.0
使用 aes 加密发起三次请求 第一次请求服务端产生密钥写入 session,session 和当前会话绑定,不同的客户端的密钥也是不同的 第二次请求是为了获取 key,第三次使用 key 的 aes 加密进行通信

冰蝎 3.0
使用 aes 加密发起两次请求 3.0 分析流量发现相比 2.0 少了动态密钥的获取的请求,不再使用随机生成 key,改为取连接密码的 md5 加密值的前 16 位作为密钥 一次请求为判断是否可以建立连接,少了俩次 get 获取冰蝎动态密钥的行为,第二次发送 phpinfo 等代码执行,获取网站的信息

哥斯拉
支持 n 种加密 采用了和冰蝎 3.0 一样的密钥交换方式,哥斯拉建立连接时会发起三次请求,第一次请求数据超级长,建立 session,第二三次请求确认连接

3.Windows 提权类型与方法

类型

纵向提权:低权限角色获得高权限角色的权限

横向提权:获取同级别角色的权

方法

系统内核溢出漏洞提权
数据库提权
错误的系统配置提权
组策略首选项提权
WEB 中间件漏洞提权
DLL 劫持提权
滥用高危权限令牌提权
第三方软件 / 服务提权等
Linux 提权
Linux 内核漏洞提权

SUID 提权(普通用户执行指令的标记)

find / -perm -u=s -type f 2>/dev/null
查找 SUID 为 root 的指令

环境变量劫持高权限程序

sudoer(用户组)配置文件错误提权

pkexec 本地权限提升漏洞 (CVE-2021-4034)

4.XSS

反射型(非持久化):反射型 XSS 只是简单地把用户输入的数据 “反射” 给浏览器。也就是说,黑客往往需要诱使用户点击一个恶意链接,才能攻击成功


存储型(持久化):用户提交的数据会被存储在后端(不管是数据库、内存还是文件系统等),当攻击者提交的包含有 XSS 攻击的代码被存储在后端中,其他用户访问该页面的时候,后端会将数据取出来显示在页面上,这时候用户就会受到 XSS 攻击


Dom-based 型:客户端的脚本程序可以动态地检查和修改页面内容,而不依赖于服务器端的数据。例如客户端如从 URL 中提取数据并在本地执行,如果用户在客户端输入的数据包含了恶意的 JavaScript 脚本,而这些脚本没有经过适当的过滤和消毒,那么应用程序就可能受到 DOM-based XSS 攻击。需要特别注意以下的用户输入源 document.URL、location.hash、location.search、document.referrer 等。


XSS 的防御


对输入过滤:

将半角符号替换为全角符号
利用白名单对输入进行过滤,比如输入 id 只能输入数字
对输出编码:

对容易引起 xss 的符号(例如引号,<,>)进行 HTML 编码
设置 HttpOnly,让 js 脚本无法获取 cookies 内容

5.CSRF 攻击

CSRF 是跨站请求伪造攻击 一般来说,攻击者通过伪造用户的浏览器的请求,向访问一个用户自己曾经认证访问过的网站发送出去,使目标网站接收并误以为是用户的真实操作而去执行命令。常用于盗取账号、转账、发送虚假消息等。攻击者利用网站对请求的验证漏洞而实现这样的攻击行为,网站能够确认请求来源于用户的浏览器,却不能验证请求是否源于用户的真实意愿下的操作行为。

CSRF 攻击原理:
用户 C 打开浏览器,访问受信任网站 A,输入用户名和密码请求登录网站 A
在用户信息通过验证后,网站 A 产生 Cookie 信息并返回给浏览器,此时用户登录网站 A 成功,可以正常发送请求到网站 A
用户未退出网站 A 之前,在同一浏览器中,打开一个 TAB 页访问网站 B
网站 B 接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点 A
浏览器在接收到这些攻击性代码后,根据网站 B 的请求,在用户不知情的情况下携带 Cookie 信息,向网站 A 发出请求。网站 A 并不知道该请求其实是由 B 发起的,所以会根据用户 C 的 Cookie 信息以 C 的权限处理该请求,导致来自网站 B 的恶意代码被执行。

CSRF 防御

尽量使用 POST
设置 HttpOnly
增加 Token
自定义 http 请求头

6.OWASP TOP10

OWASP 是开放式 Web 安全项目组织 2021 安全漏洞 Top10:

SQL 注入
失效的身份认证和会话管理
跨站脚本攻击 XSS
直接引用不安全的对象
安全配置错误
敏感信息泄露
缺少功能级的访问控制
跨站请求伪造 CSRF
使用含有已知漏洞的组件
未验证的重定向和转发

7.数据库及类型

关系型

MySQL:3306
SQL Server:1433
Oracle:1521
DB2:5000
MongoDB:27017 基于关系型与非关系型之间,支持复杂查询语句,数据结构非常松散

非关系型

Redis:6379
Memcached:11211

8.常见的中间件漏洞

IIS,Apache,Nginx 是目前应用最广的三大 Web 服务器

IIS


IIS 是 Internet Information Services 的缩写,意为互联网信息服务,是由微软公司提供的基于运行 Microsoft Windows 的互联网基本服务

IIS 6 解析漏洞
基于文件名,该版本默认会将 *.asp;.jpg 此种格式的文件名,当成 Asp 解析,原理是服务器默认不解析;号及其后面的内容,相当于截断。

IIS 6 解析漏洞防护
限制上传目录执行权限,不允许执行脚本。
不允许新建目录。
上传的文件需经过重命名时间戳 + 随机数 +.jpg 等
Apache
AddHandler 导致的解析漏洞
如果运维人员给.php 后缀增加了处理器

AddHandler application/x-httpd-php.php 

 
 
 
那么,在有多个后缀的情况下,只要一个文件名中含有.php 后缀,即被识别成 PHP 文件,没必要是最后一个后缀。 防护同上 IIS 6

Nginx
配置文件错误导致的解析漏洞

可以直接获取诸如 index.php~,index.php.bak 等文件

对于任意文件名,在后面添加 /xxx.php(xxx 为任意字符)后,即可将文件作为 php 解析。

https://api.hz2016.com/a.png/a.php

 
 
 
防护


匹配对应文件,rewrite 返回 404
配置 cgi.fix_pathinfo (php.ini 中) 为 0 并重启 php-cgi 程序
Tomcat
Tomcat 任意文件写入(CVE-2017-12615)
indows+Tomcat 7.0.x + 配置文件 readonly=false 导致我们可以往服务器写文件

Weblogic


任意文件上传漏洞(CVE-2018-2894)
通过截获上传的时间戳找出真正的文件名达到

9.内网渗透思路

代理穿透
权限维持
内网信息收集
口令爆破
凭据窃取
社工
横行和纵向渗透
拿下域控

10.正向 SHELL 和反向 SHELL 的区别

正向 Shell:

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

反向 Shell:

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

你可能感兴趣的:(经验分享)