渗透测试面试题
2026/9/14 19:39:09 网站建设 项目流程

最近在准备面试,收集到的一些面试题供大家参考。

1."`"符号(反单引号)在PHPSQL中的作用

  • PHP:反引号用于执行操作系统命令,并返回输出(等价于shell_exec())。例如:

  • $output = `ls -l`; // 执行系统命令

  • SQL中(如MySQL:反引号用于转义标识符(表名、列名等),避免与关键字冲突。例如:

  • SELECT `select` FROM `table`; -- "select"是关键字,用反引号包裹

  • 区别:PHP中用于系统调用,SQL中用于语法转义。需注意SQL注入风险(PHP反引号执行命令时若输入未过滤,可能导致漏洞)。

2.Python语句'int'.class的含义及关联漏洞

  • 含义:在Python中,此语句非法(Python无.class语法)。正确获取类类型的方式为type(int)int.class。该语句可能混淆Java语法(Java中int.class表示基本类型Class对象)。

  • 关联漏洞:此类语法混淆可能暴露代码注入或反序列化漏洞,攻击者利用反射机制动态执行代码(如通过subclasses()实现沙箱逃逸)。

3.Java反射的作用

Java反射允许程序在运行时动态获取类信息(方法、字段、构造器等),并操作对象行为。具体作用包括:

  • 动态加载类:通过Class.forName()加载未知类。

  • 调用私有方法/字段:使用setAccessible(true)绕过访问控制。

  • 框架开发:Spring(依赖注入)、Hibernate(ORM)等利用反射实现配置化。

  • 缺点:性能较低(JVM无法优化动态调用)、破坏封装性。

4.Java反序列化的基本原理

反序列化将字节流恢复为对象,主要通过ObjectInputStream.readObject()实现:

  • 过程

    • 读取字节流中的魔数、版本号、类描述信息。

    • 根据类描述动态加载类(需实现Serializable接口)。

    • 递归重建对象图(包括引用关系),不调用构造函数。

  • 安全风险:恶意字节流可导致远程代码执行(如Apache Commons Collections漏洞)。防御需校验serialVersionUID、使用白名单。

5.SSRF漏洞利用思路

  • 内网探测

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询