Interview Q&A

暂时不重要了,但反正当时都写了一点了就放上来,后面有空再搞吧

Q:信息收集如何处理子域名爆破的泛解析问题

A:黑名单 ip / TTL(Time To Live) / 回显(响应内容)

Q:如何绕过CDN查找真实ip

A:

  1. 验证CDN:超级ping / nslookup
  2. 绕过CDN:DNS / 微步 / tools.ipip.net / fofa / 根据回显人工判断(e.g. icon有唯一hash值)/ 境外主机访问解析 / 邮件订阅sendmail / F5 LTM负载均衡(CTF遇到过,通过对set-cookie关键字的解码真实ip也可被获取)

Q:phpinfo关注哪些信息

A:

  1. php版本

  2. 系统版本信息

  3. 配置文件 php.ini 位置

  4. Command(扩展功能)

    Streams & Filters(文件包含、反序列化、bypass)

  5. Core:allow_url_fopen / allow_url_include / disable_functions / 调试的错误提示 / enable_dl(Apache 动态加载) / extension_dir(和enable_dl配合)/ include_path / open_basedir(文件读取)/ short_open_tag(写shell用,判断服务器是不是支持短标签)

1
2
3
4
5
enable_dl:

该指令仅对 Apache 模块版本的 PHP 有效。 你可以针对每个虚拟机或每个目录开启或关闭 dl() 动态加载 PHP 模块。

关闭动态加载的主要原因是为了安全。通过动态加载,有可能忽略所有 open_basedir 限制。 默认允许动态加载,除了使用 安全模式。在安全模式,总是无法使用 dl()。
  1. phar

  2. session:session.save_path / session.save_handler(用户自定义存储函数,如数据库)/ session.serialize_handler=php

    (文件包含,CTF常见)

  3. 变量:_SERVER[‘PATH’](windows特有,能显示出系统的所有环境变量)/ _SERVER[“SCRIPT_FILENAME”](绝对路径,写shell用)/ _SERVER[“SERVER_ADDR”](真实ip,直接绕过CDN)/ _FILES[“filename”](文件包含getshell)