当前位置: 首页 > 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。

相关文章:

  • 常见高低压开关柜
  • 「软件设计模式」责任链模式(Chain of Responsibility)
  • Python Seaborn库使用指南:从入门到精通
  • RPA自动化测试流程构建体系搭建 实例
  • 分库分表中间件开源
  • matlab ylabel怎么让y轴显示的标签是正的
  • JavaWeb-Servlet对象生命周期
  • 比特信噪比与信噪比SNR的换算公式
  • 【练习】【排列No.1】力扣46. 全排列
  • 第十七:嵌套路由
  • 【AutoSar】DeepSeek回答什么是IO抽象
  • 协方差(Covariance)与得分函数:从Fisher信息矩阵看统计关联
  • 在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南
  • C#中提供的多种集合类以及适用场景
  • 危化品经营单位安全管理人员的职责及注意事项
  • 数字IC后端设计实现OCC(On-chip Clock Controller)电路介绍及时钟树综合案例
  • 无人机实战系列(三)本地摄像头+远程GPU转换深度图
  • 4 算法1-3 三连击(升级版)
  • 《机器学习数学基础》补充资料:欧几里得空间的推广
  • 模电学习资料汇总
  • 浙江演艺集团7部作品组团来沪,今夏开启首届上海演出季
  • A股三大股指低收:汽车股领涨,大金融走弱,两市成交近1.1万亿元
  • 商务部召开全国离境退税工作推进会:提高退税商店覆盖面,扩大入境消费
  • 中国进出口银行:1-4月投放制造业中长期贷款超1800亿元
  • 四个“从未如此”使巴以加沙战火绵延时间创下历史之最
  • 日本航空自卫队一架练习机在爱知县坠毁