安全面试3

ops/2025/2/24 18:54:12/

文章目录

  • 一个单位的一级域名可能不止一个,怎么收集某个单位的所有域名,注意不是子域名
  • 用转义字符防御时,如果遇到数据库的列名或是表名本身就带着特殊字符,应该怎么做
  • 宽字节注入
    • 原理
    • 防御宽字节注入的方法
  • 基于黑白名单的修复,现在的生产基本都是用的docker,ip是随时变的,而且docker重启后可能什么都不一样了,怎么做一个修复
  • SSRF漏洞出现点
  • 木马查杀流程
  • sqlserver提权方式
  • mysql的提权
  • redis的漏洞
  • php原生的敏感函数
    • 代码执行类函数
    • 系统命令执行类函数
    • 文件操作类函数
    • 数据库操作类函数
    • 其他敏感函数

一个单位的一级域名可能不止一个,怎么收集某个单位的所有域名,注意不是子域名

  1. 通过公开信息手动收集:访问该单位的官方网站,通常在页面底部会列出其相关的其他域名。
  2. 通过域名注册信息查询:WHOIS查询:通过WHOIS工具(如 Whois Lookup)查询单位拥有的域名。输入已知的域名,查看注册信息中的“Registrant Name”或“Organization”字段,可能会发现其他域名。
  3. 通过SSL证书信息
  4. 通过搜索引擎:site:example.com “单位名称”:查找与单位名称相关的域名。
    intext:“单位名称” inurl:about:查找单位介绍页面中提到的域名。
  5. 域名监控工具:使用工具如 DomainTools 或 Farsight DNSDB,监控单位名称或关键词相关的域名注册情况。

用转义字符防御时,如果遇到数据库的列名或是表名本身就带着特殊字符,应该怎么做

  1. 大多数数据库系统提供了标识符引用符,用于处理包含特殊字符的列名或表名。(mysql使用反引号)
  2. 使用ORM框架:原理:ORM(对象关系映射)框架会自动处理列名和表名的引用问题,避免手动拼接SQL语句。

宽字节注入

原理

某些字符集(如GBK、BIG5)使用多字节编码,即一个字符可能由多个字节组成。例如,在GBK编码中,’ 的单字节编码是 0x27,而 0xbf27 是一个合法的宽字符。
当应用程序对用户输入进行转义时(如将 ’ 转义为 '),如果数据库使用宽字符集,攻击者可以构造特殊输入,使转义字符 \ 被“吃掉”。

防御宽字节注入的方法

  1. 统一字符集
  2. 禁用宽字符集
  3. 正确使用转义函数:使用数据库驱动的参数化查询或预处理语句,而不是手动转义。
  4. 编码转换:在接收到用户输入后,将其转换为统一的字符集(如UTF-8)。

基于黑白名单的修复,现在的生产基本都是用的docker,ip是随时变的,而且docker重启后可能什么都不一样了,怎么做一个修复

  1. 使用服务标识代替 IP 地址:在容器化环境中,IP 地址是动态分配的,但服务名称(Service Name)或容器名称是相对稳定的。可以通过服务标识(如服务名、标签、元数据)来替代 IP 地址。
  2. 动态更新黑白名单:结合容器编排平台(如 Kubernetes、Docker Swarm)的 API,获取容器的实时 IP 并更新到黑白名单中。
  3. 基于标签或元数据的黑白名单:为容器打上标签(Labels)或元数据(Metadata),并根据这些标签动态生成黑白名单。

SSRF漏洞出现点

  1. 分享:通过URL地址分享网页内容
  2. 转码服务(通过URL地址把原地址的网页内容调优,使其适合手机屏幕的浏览)
  3. 在线翻译
  4. 图片加载与下载:通过URL地址加载或下载图片
  5. 图片、文章收藏功能
  6. 未公开的api实现及调用URL的功能
  7. 从URL关键字中寻找

木马查杀流程

  1. 查看异常连接
  2. 查看进程名字及服务
  3. 删除进程并查看系统配置
  4. 查找病毒注册表开机启动项
  5. 删除病毒源文件
  6. 删除一些后门程序之类的

sqlserver提权方式

  1. xp_cmdshell扩展存储过程提权
  2. xp_dirtree写入文件提权
  3. sp_oacreate提权
  4. xp_regwrite映像
  5. 沙盒提权
  6. CLR提权
  7. Agent Job提权
  8. R和python脚本执行提权
  9. 差异备份写入webshell

mysql的提权

  1. 利用 UDF(用户定义函数)提权:MySQL 支持用户定义函数(UDF),攻击者可以通过加载恶意的共享库(如 .so 或 .dll 文件)来执行系统命令。上传恶意共享库到服务器。
    使用 CREATE FUNCTION 加载共享库。
    调用 UDF 执行系统命令。
  2. 利用 MySQL 日志文件提权:MySQL 的日志文件(如慢查询日志、通用日志)可以被用来写入恶意代码,从而执行系统命令。启用日志功能并设置日志文件路径。
    写入恶意代码到日志文件。
    通过日志文件执行系统命令。
  3. 利用 MySQL 配置文件提权:MySQL 配置文件(如 my.cnf)可能被攻击者修改,从而加载恶意插件或修改权限。
  4. 利用 MySQL 弱口令提权:如果 MySQL 用户使用弱口令,攻击者可以通过暴力破解获取管理员权限。
  5. 利用 MySQL 漏洞提权
  6. 利用操作系统提权:如果 MySQL 以 root 权限运行,攻击者可以通过 MySQL 提权到操作系统 root 权限。
  7. 利用 SQL 注入提权:通过 SQL 注入漏洞,攻击者可以执行管理员操作(如创建用户、修改权限)。

redis的漏洞

  1. 未授权访问漏洞:Redis 默认监听在所有网络接口(0.0.0.0)且无需密码认证,攻击者可以直接访问 Redis 服务并执行任意操作。
  2. SSH 密钥写入漏洞:攻击者可以通过 Redis 的未授权访问漏洞,将公钥写入目标服务器的 ~/.ssh/authorized_keys 文件,从而获取 SSH 访问权限。
  3. 主从复制漏洞:攻击者可以通过 Redis 的主从复制功能,将恶意数据同步到从节点,从而实现数据篡改或 RCE。
  4. Lua 沙盒逃逸漏洞:Redis 的 Lua 脚本执行环境可能存在沙盒逃逸漏洞,攻击者可以执行任意系统命令。
  5. 持久化文件漏洞:Redis 的持久化文件(如 RDB 或 AOF)可能被篡改,导致数据损坏或恶意代码执行。
  6. 信息泄露漏洞:Redis 的 INFO 命令可能泄露敏感信息(如服务器配置、内存使用情况等)。
  7. Redis 6.0 的 ACL 功能:Redis 6.0 引入了访问控制列表(ACL)功能,但配置不当可能导致权限绕过。
  8. Redis 暴露在公网:Redis 服务暴露在公网,可能被攻击者扫描并利用。

php原生的敏感函数

代码执行类函数

  1. eval()
  2. assert()
  3. create_function()
  4. preg_replace():创建一个匿名函数。create_function(‘’, $_GET[‘code’]); 可能导致代码执行。

系统命令执行类函数

  1. exec()
  2. system()
  3. passthru()
  4. shell_exec()
  5. popen()

文件操作类函数

  1. include()
  2. include_once()
  3. require()
  4. require_once()
  5. file_get_contents()
  6. fopen()
  7. unlink()
  8. move_uploaded_file()

数据库操作类函数

  1. mysql_query()
  2. mysqli_query()
  3. pg_query()

其他敏感函数

  1. extract():变量覆盖
  2. parse_str():变量覆盖
  3. unserialize()

http://www.ppmy.cn/ops/161033.html

相关文章

C++ 设计模式-访问者模式

C++访问者模式 一、模式痛点:当if-else成为维护噩梦 开发动物园管理系统,最初的需求很简单: class Animal {}; class Cat : public Animal {}; class Dog : public Animal {};// 处理动物叫声 void makeSound(Animal* a) {if (auto c = dynamic_cast<Cat*>(a)) {st…

火语言RPA--Excel插入空列

【组件功能】&#xff1a;在Excel内指定的位置插入空列 配置预览 配置说明 在第n列之前 支持T或# 填写插入添加插入第n列之前列名&#xff0c;列名从A开始&#xff0c;依次递增。 插入n列 支持T或# 插入多少列。 Sheet页名称 支持T或# Excel表格工作簿名称。 示例 Exc…

现场可以通过手机或者pad实时拍照上传到大屏幕的照片墙现场大屏电子照片墙功能

现场可以通过手机或者pad实时拍照上传到大屏幕的照片墙现场大屏电子照片墙功能&#xff0c;每个人都可以通过手机实时拍照上传到大屏幕上,同时还可以发布留言内容&#xff0c;屏幕上会同步滚动播放展示所有人的照片和留言。相比校传统的照片直播功能更加灵活方便&#xff0c;而…

javascript闭包在实际项目中有哪些应用场景?请举例说明。

javascript闭包在实际项目中有哪些应用场景&#xff1f;请举例说明。 闭包在 JavaScript 里就像是一个神奇的“小口袋”&#xff0c;它能让函数记住并访问其外部函数的变量&#xff0c;哪怕外部函数已经执行完了。下面用大白话详细介绍闭包在实际项目中的应用场景&#xff0c;…

【拥抱AI】GPT Researcher 源码试跑成功的心得与总结

一、引言 在人工智能领域&#xff0c;自然语言处理&#xff08;NLP&#xff09;技术的发展日新月异。GPT Researcher 是一个基于大型语言模型&#xff08;LLM&#xff09;的开源研究工具&#xff0c;旨在帮助用户快速生成高质量的研究报告。通过自动化的方式&#xff0c;它能够…

车载DoIP协议 --- TCP详细解析

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

鸿蒙-阻塞式文件锁

一、背景 最近在做鸿蒙版本的埋点SDK&#xff0c; 涉及到多线程同步问题。我们都知道多线程存在并发问题&#xff08;多线程同步和互斥的问题&#xff09;。今天我介绍一下我在鸿蒙项目中&#xff0c;使用ArkTS的API实现阻塞式的同步锁&#xff0c;来确保线程安全。 1.1 鸿蒙…

Htop 进程监控,显示线程名称,查看指定线程

ps -aux|grep xxx 查看指定线程pid htop -p <pid> 查看指定进程 1. 在 htop 中显示线程名称 在 htop 界面中&#xff1a; 按 F2&#xff08;Setup&#xff09; 进入设置菜单选择 Display Options启用 Show custom thread names&#xff08;显示自定义线程名称&…