当前位置: 首页 > news >正文

安全面试5

文章目录

  • sql的二次注入
  • 在linux下,现在有一个拥有大量ip地址的txt文本文档,但是里面有很多重复的,如何快速去重?
  • 在内网渗透中,通过钓鱼邮件获取到主机权限,但是发现内网拦截了tcp的出网流量,聊一下这个时候应该怎么进行通信?
  • 二次注入要怎么修复
  • 文件下载漏洞有没有什么比较好的利用方式
    • 下载敏感配置文件
      • Linux:
      • Windows:
    • 下载Web应用程序源代码
    • 下载日志文件
  • 命令执行漏洞,http不出网有什么比较好的处理方法
  • 怎么判断一个数据库是mysql还是oracle的?

sql的二次注入

SQL 二次注入是指攻击者通过输入恶意数据,将恶意 SQL 语句存储到数据库中。当应用程序在后续操作中从数据库读取这些数据并直接拼接到 SQL 查询中时,恶意代码就会被执行,从而导致攻击成功

在linux下,现在有一个拥有大量ip地址的txt文本文档,但是里面有很多重复的,如何快速去重?

  1. sort 排序并去重:sort -u ip_addresses.txt > unique_ips.txt
  2. uniq 去重:sort ip_addresses.txt | uniq > unique_ips.txt
  3. 使用 awk 去重:awk ‘!seen[$0]++’ ip_addresses.txt > unique_ips.txt

在内网渗透中,通过钓鱼邮件获取到主机权限,但是发现内网拦截了tcp的出网流量,聊一下这个时候应该怎么进行通信?

  1. 使用DNS隧道
  2. 使用ICMP隧道
  3. 使用HTTP/HTTPS隧道
  4. 使用邮件协议
  5. 使用SMB协议
  6. 使用WebSocket
  7. 使用隐蔽通道
  8. 使用UDP协议

二次注入要怎么修复

  1. 使用参数化查询
  2. 对从数据库读取的数据进行验证
  3. 对从数据库读取的数据进行转义
  4. 使用ORM(对象关系映射)框架

文件下载漏洞有没有什么比较好的利用方式

下载敏感配置文件

Linux:

  1. /etc/passwd:用户账户信息。
  2. /etc/shadow:用户密码哈希。
  3. /etc/my.cnf:MySQL配置文件。
  4. /root/.ssh/authorized_keys:SSH公钥文件。
  5. /root/.bash_history:用户命令历史记录

Windows:

  1. C:\Windows\System32\inetsrv\MetaBase.xml:IIS配置文件。
  2. C:\Windows\php.ini:PHP配置文件。
  3. C:\Program Files\mysql\my.ini:MySQL配置文件

下载Web应用程序源代码

  1. PHP:下载index.php、config.php等文件,审计SQL注入、文件上传等漏洞110。
  2. Java:下载WEB-INF/classes/applicationContext.xml和WEB-INF/classes/xxx/xxx/ccc.class,反编译后审计代码。
  3. ASP.NET:下载web.config,获取数据库连接字符串和其他配置信息

下载日志文件

  1. Web服务器日志:如Apache的access.log、IIS的日志文件。
  2. 应用程序日志:如Tomcat的catalina.out、Spring Boot的日志文件

命令执行漏洞,http不出网有什么比较好的处理方法

  1. 利用内存马注入:在不出网场景下,攻击者可将恶意代码注入服务器内存,避免文件落地。例如,通过SnakeYaml反序列化漏洞加载本地JAR包生成冰蝎内存马,直接与攻击者建立加密通信通道
  2. 本地文件写入与结果提取:路径探测:通过系统命令(如dir /s/a-d/b web.xml或find / -name “*.jsp”)查找Web应用可写目录,写入WebShell。需注意特殊字符转义,可采用Base64编码后解码写入
  3. 数据库外连:若目标服务器可连接外部数据库,可将命令结果写入数据库字段,再通过查询导出数据。
  4. 邮件服务:通过mail或sendmail命令将结果发送至攻击者邮箱,需目标服务器启用邮件服务

怎么判断一个数据库是mysql还是oracle的?

  1. 错误页面特征:mysql:错误信息通常包含MySQL字样Oracle:错误信息通常包含ORA-前缀。
  2. 通过SQL语法差异判断:MySQL:查询information_schema.tables。Oracle:查询all_tables。
  3. 默认端口:MySQL:默认端口是3306。Oracle:默认端口是1521。
  4. 使用Nmap扫描:nmap -sV -p 3306,1521 <target_ip>
  5. 时间函数:MySQL:使用NOW()或SYSDATE()。Oracle:使用SYSDATE。

http://www.mrgr.cn/news/92168.html

相关文章:

  • 15.4 FAISS 向量数据库实战:构建毫秒级响应的智能销售问答系统
  • 谈谈 ES 6.8 到 7.10 的功能变迁(3)- 查询方法篇
  • MySQL-数据库的基本操作
  • X86_64位下的GS寄存器
  • 15.1 智能销售顾问系统架构与业务价值解析:AI 如何重塑销售流程
  • Windows 11【1001问】如何下载Windows 11系统镜像
  • 排序算法漫游:从冒泡到堆排的底层逻辑与性能厮杀
  • 系统学习算法:专题十二 记忆化搜索
  • 快速上手 Unstructured:安装、Docker部署及PDF文档解析示例
  • STM32-智能小车项目
  • 人工神经网络ANN入门学习笔记1
  • 前端防重复请求终极方案:从Loading地狱到精准拦截的架构升级
  • UE 跟着官方文档学习 容器TArray 系列三
  • C#中级教程(2)——走进 C# 面向对象编程:从基础到进阶的深度探索
  • 数据结构之二叉树的定义及实现
  • std::thread的同步机制
  • 讯飞离线唤醒+离线Vosk识别+DeepSeek大模型+讯飞离线合成持续优化,无限可能~
  • 【2025深度学习环境搭建-1】在Win11上用WSL2和Docker解锁GPU加速
  • C++初阶——简单实现list
  • C语言——深入理解指针(3)