贴一下我自己找的一些安全面经:https://github.com/h4m5t/Sec-Interview
目录:
- 个人介绍
- 面试问题
- 各大公司必问的问题
- 自己要问的问题
- 感谢名单
- 简历模板
- 总结以及招聘
- 笔者微信
- 参考文章
个人介绍:
- 自我介绍要点:不要用长逻辑句,短小精悍 控制在3-4分钟
-
1、自我介绍 姓名 年龄 哪里人 学校情况 不是重点,作为顺滑开场
-
2、经历与技能 啥时候开始学web攻防,实习经历(神舟,做了什么;尚然,做了什么),让人家清楚历史引入技术主题,挑重点
-
3、业绩/成绩: 研究类:freebuff SRC I春秋 博客 版主,自运营安全微信公众号,年度风云榜
-
技术类:0day 漏洞 比赛名次啊等
-
突出重点与精华展现实力
-
结束,谢谢
-
接下来靠自己
面试问题
- csp是什么?如何绕过csp?
- 介绍:
- Content Security Policy (CSP)内容安全策略,是一个附加的安全层,有助于检测并缓解某些类型的攻击,包括跨站脚本(XSS)和数据注入攻击。
- CSP的特点就是他是在浏览器层面做的防护,是和同源策略同一级别,除非浏览器本身出现漏洞,否则不可能从机制上绕过。
- CSP只允许被认可的JS块、JS文件、CSS等解析,只允许向指定的域发起请求。
- 绕过方法
- location.href+cookie
- 子提交
- iframr绕过csp+ dns通道传送cookie
- #原理是什么?
- 当一个 同源 站点,同时存在两个页面,其中一个有CSP保护的A页面,另一个没有CSP保护B页面,那么如果B页面存在XSS漏洞,我们可以直接在B页面新建iframe用javascript直接操作A页面的dom,可以说A页面的CSP防护完全失效
- 黄金票据和白金票据的区别
- mysql root 权限有哪些提权方式
- 看系统,分别说
- window
- Linux
- CVE-2016-6663
- CVE-2016-6664 #Mysql<5.5.51或<5.6.32或<5.7.14
- mysql 5.0 以上Linux 下提权,通过system 系统函数
- 常规写webshell
- dump file
- outfile
- 日志写shell
- ....
- 内网提权
- window
- 导出hash
- 导出各种存储凭证
- window-exploit-suggester systeminfor 进行对比
- ms11080
- pr提权 补丁号为 KB952004
- 巴西烤肉提权
- ...(这个不太擅长)
- 某特特定的软件,带有系统功能的软件,我们加个dll 注入器
-
- linux
- web容器
- 正常注入点sa权限,可以os-shell但是全部是基于断网机,你怎么办?
- system权限
- 正常注入后台书籍,进入后台拿webshell, 通过上传exe文件来配合os-shell 执行系统命令来下载web服务器的文件到数据库服务器文件执行
- 能够执行全部系统命令,可以在Web前台上传点,上传文件到web服务器,通过,arp -a,netstat -ano找到web服务器的ip地址,下载web服务器的文件执行抓取系统密码等操作
- 利用网上的批量出网命令,利用前面拿到的系统的账号密码,psexec,vmi, net use, creakexec等工具进行批量横向出网探测,能够出网的机器转发出来
- 可以把exe 转base64编码,通过某种方式带进去,然后用window自带的转码工具恢复
- vmi,ssrf是什么?ssrf支持哪些协议
- ssrf支持哪些协议
- file://
- Dict://
- SFTP://
- TFTP://
- LDAP://
- Gopher://
- ....
- 鱼叉,水坑攻击的案例
- 鱼叉攻击把
- 对某些网络犯罪人员定向钓鱼, 利用winrar目录穿越+免杀技巧渗透
- 通过webshell + flash/证书更新/浏览器需更新/网站崩溃需要修复 等,诱导其下载exe
- x网上批量投毒....
- 同源策略和跨域
- 不同域名,端口,协议,无法通信
- 跨域:CORS
- access-control-allow-original
- 跨域加载资源 img,script,link
- jsonp
- window.domain
- window.message
- sql盲注时候有什么办法优化
- 拿到一台内网的PC机,应该做什么?
- 本机信息搜集
- 本地hash
- 网页历史存储的密码
- rdp连接记录
- winscp,ssh,putty,xshell,等连接过的痕迹
- mysql,mssql等,快速查找带有 user,pass等字段的值
- 利用一切现有的工具,把敏感信息搜集起来,做横向渗透用
- 做个简单免杀权限维持
- 白名单的
- MSbuild.exe
- installutil.exe
- mshta.exe
- vmic.exe
- bitsadmin.exe
- 命令行的免杀teamview
- B/C段信息搜集
- 看看本地拿下的账号密码和其他段内的是否相似
-
ms17-010 , phpstudy的后门, 已知的web中间件的快速getshell(iis写,nginx配置不当导致getshell,), cve漏洞,使用,SMBexecc, psexec,net use 这些工具,使用相同的密码对C段或者B段探测
- 段内的web服务,网关等
-
或者拿下某台特定的服务, net share 或者是ftp(文件服务器/共享服务器,wiki,对面的软件做捆绑,或者是chm手册上.....)
- 搜集特定段内的邮箱,批量的信息搜集或者是用鱼叉式钓鱼附件/鱼叉式连链接
- 最先尝试web爆破,最后尝试爆破ssh,rdp,ftp,mysql,mssql等
- 域渗透
- SQL注入,id=1如何检测?orderby怎么利用?limit语句怎么利用?盲注有什么?
- SELECT * FROM users WHERE id >0 ORDER BY id LIMIT 1,1 procedure analyse(extractvalue(rand(),concat(0x3a,version())),1);
- sqlmap os shell原理
- 就是通过 outfile 上传一个简单的上传一个 cmd命令 shell
- 为什么同源策略无法防御csrf?
- 为什么同源策略无法防御csrf? 同源策略不能阻止一个域向另一个域发送请求,它能阻止处理请求返回的数据,csrf在请求发送的瞬间就完成攻击了。
- 同源策略是限制了不同源的读,但不限制不同源的写
- cors和jsonp比较?
- JSONP只支持GET请求,CORS支持所有类型的HTTP请求; JSONP兼容性好,支持老式浏览器;
- B站与A站不同源的情况下如何通过B站获取到A站用户信息
- ARP攻击原理,防御方法
- 假冒ARP reply包(单波或广播),向单台主机或多台主机发送虚假的IP/MAC地址
- 防御方法:
- php的站限制了任何php文件上传,如何上传php文件?
- 先判断是win还是linux,再进一步上传分析,是基于白名单校验还是黑名单校验,是否是waf进行了限制
- php3,php3,php5,phtml
- 如果是前台,可以尝试上传html,或者在上传的地方fuzz,看看有没有注入,如果前台上传html成功,盗取页面cookie,到后台再试试,如果注入成功,拿到账户密码再去后台试试
- .htaccess
- .user.ini
- 配合中间件的信息进行做fuzz
- sqlmap udp提权原理?
- 你是如何做应急响应的呢?查询webshell,如何被黑,如何提取解决方案,如何溯源入侵的黑客呢?如何取证呢?
- 网页挂木马
- 如果木马上写上了 hack by 谁谁谁,那你就要考虑是不是哪些小黑客干的了,一般他们的能力就只能黑 gov, 学校的,如果是商业的网址,你就要考虑是不是 为了转移你目标视线的狡猾黑客了.还有,如果引流某个特定的bc,黄色,约炮这种,根据这些黑网站的信息进行检索,看看全球网站都是通过这样被黑的,因此思考,是不是同一套系统的0day,或者这些端口特定的漏洞
- 分析是怎么入侵的?
- window
- 服务器有没有用cdn,是否有弱口令,开放了哪些端口,尝试测试有哪些可以是未授权访问
- 打开 D 盾 web 查杀工具, 看看有没有克隆或者隐藏的账号
- Win+R打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”。
- 检查异常端口、进程 1、检查端口连接情况,是否有远程连接、可疑连接。
- a、netstat -ano 查看目前的网络连接,定位可疑的ESTABLISHED
- b、根据netstat 定位出的pid,再通过tasklist命令进行进程定位 tasklist | findstr “PID”
- 如果觉得可疑ip,那么首先端口扫描下,用一些开源的情报平台搜索下..
- 查看开始自启菜单,计划任务,注册表,dll劫持....
- linux
- history
- 常见的web,系统,waf日志
- 进程注入(cymothoa),计划任务的,自启目录,ssh记录账户密码,开源的rootkit
- 定时计划任务
- # awk -F: '$3==0{print $1}' /etc/passwd #查看uid为0的特权账户
- 开启自启配置文件
- /etc/rc.local
- /etc/rc.d/rc[0-6].d
- ...
- 如何查找挖矿木马
- 两个点:
- cpu
- 可以的对外连接
- 直接查看占cpu高得进程
- 在windows下查看某个运行程序(或进程)的命令行参数
- 使用下面的命令:
- wmic process get caption,commandline /value
- 如果想查询某一个进程的命令行参数,使用下列方式:
- wmic process where caption=”svchost.exe” get caption,commandline /value
- 这样就可以得到进程的可执行文件位置等信息。
- #不过有些时候,木马删除了,他还是会不断得复制得,这个时候你可以用特定得软件(火绒剑)去分析,找他这个进程得父进程,或者找到进程所注入得服务,先把服务关了,再把进程杀了,
- linux:计划任务,开启启动项,服务等,一般可以查看到恶意脚本
- 挖了哪些洞,怎么挖的
- 简单讲三个小漏洞
- 存储xss
- 注入
- 表单提交,fuzzing上传图片的注入,地后台更换密码的谍对注入
- 但是密码加密加盐了,创建了一个简单的账号密码,解密出加密加盐的规则,谍对注入修改管理账户密码
- 本人经典的渗透实战案例:
- 某个公安的网站被黑,查看日志等信息,没有看出什么结果,但是页面全部引流到一个商城系统,卖壮阳药的. 这个商城是TPSHOP1.3.3,后台指定ip登录,商城系统,而这个商城系统是存在 xss+后台getshell (添加物流插件的地方存在getshell)漏洞的,
- 构造方法: 触发xss的时候,后台页面先用ajax获取hash值,再去发起一个ajax请求,请求附带上一次请求的hash值,和插入的webshell代码,成功后就返回url地址
- 通过xss 获取到对方的某些客服的名字微信`
- 提交工单,说(某个其他客服,私下找我,说叫我去去别的商城卖壮阳药,结果骗了我3000元).管理员.. (这个人本身就是诈骗团伙的成员吗)
- 微信加我,我说我这边我和他的聊天证据以及录音, 这时候我利用出来的 CVE-2018-20250 winarar 目录穿越的漏洞,结合免杀木马.从而直接获取到它的页面信息
- 钓鱼案例,通过其他apt报告分析总结出来的
- 挖掘漏洞的案例,网上+自己经验和技术 找出来
- GPC是什么?开启了怎么绕过:
- SQL注入写shell的条件,用法:
- 要知道网站绝对路径,可以通过报错,phpinfo界面,404界面等一些方式知道
- gpc没有开启,开启了单引号被转义了,语句就不能正常执行
- 要有file权限,默认情况下只有root有
- 对目录要有写权限,一般image之类的存放突破的目录就有
- Mysql一个@和两个@什么区别
- @x 是 用户自定义的变量 (User variables are written as @var_name)
- @@x 是 global或session变量 (@@global @@session )
- 如何隐藏自己的服务器以及ip
- 英语介绍一下自己:
- 算法?了解过什么排序?
- sql注入分类,宽字节注入原理
- 宽字节原理
- 设置gbk编码的时候, %df 和引号会转成一个汉字,导致单引号逃逸出来,从而导致注入
- 如果让你用工具进行代码审计一个cms的上传功能,你会关注哪些函数
- php代码审计中命令执行你会关注哪些函数,代码执行你会关注哪些函数
- system(),exec(),popen() , passthru(), s hell_exec(),``,proc_open(),pcntl_exec(), curl_exec(),eval(), :file_get_contents(),
- 内网渗透怎么获取服务器账号密码
- window
- 导入hash
- .mimikatz
- procudmp
- powershell
- LaZagne
- WebBrowserPassView
- ....
- 搜集本机的信息
- 各种服务,mysql,myssql,ssh,ftp等账户密码
- 键盘记录
- linux
- .bash_history 历史密码
- mimipenguin 类似于window里mimikatz,获取登录凭证,账户密码
- ssh 私钥 key,.pgp,.gpg,.p12,.pem,.pfx,.cer,.p7b,.asc
- 你有一个webshell但是无法执行系统命令,无法上传,怎么进行内网渗透
- 我绕过Waf得层面
- 主流得手法
- 溢出
- 分块传输
- GET/POST
- 参数污染
- 内联
- 空字节
- 不同的中间件支持的不同的编码
- 首先,探测是什么waf,网上已经针对主流waf得探测了,探测出来先试试网上主流得payload
- 不行的话,进一步探测,先看看是什么中间件,过滤哪些关键字字符,user-agent, 访问频率
- 中间件有特定得编码支持
- IIS支持Unicode编码字符的解析,但是某些WAF却不一定具备这种能力。
-
- 黑名单过滤关键字符,还是使用正则匹配过滤等
- 黑名单过滤关键字符,那么尝试绕过,重点在于使用不同得函数,不同得关键字,不同得编码等
- eg: union [all|distinct] select
- 正则匹配过滤,重点在于根据混淆
- %0a
- %0b
- %0d
- %C0
- %20
- %09
- %0c
- %a0
- bypass safe dog:
- union -- hex()%0a select 1,2,3,4,5,database/*!44544()*/,7,8 %23
- -- hex()%0a 是注释的意思,本来是注释后面的语句,到了安全狗这里就成为了绕过安全狗的语法
- 如果你是一个安全攻防负责人,如何做好安全架构,整理防御黑客攻击?(听到这个问题有点懵逼,这个问题太广了,思考了5-7分钟,想出了一些简答,)
- 人员层面
- 安全意识
- PC定期杀毒,培训,上网行为管理....
- 开发人员的安全意识,代码审计等
- web层面
- 之前说的渗透测试
- 信息存储,备份,传输等
- 日志,流量分析搜集
- 开源框架安全管理
- 主机层面
- 数据安全
- 应急检测方面
- 架构
- 这个问题实在是有点广,我一个还没毕业的学生的见解可能有限,但是如果公司需要,我会尽量朝着这方面走
- 如何bypass CDN
- 1.全局ping
- 2.暴力子域查找子域IP
- 3.FOFA网站历史收录
- 4.历史DNS分析(很多网站可以搜索DNS分析)
- 5.smtp发送邮件,可以找到真正的ip
- 6.find phpinfo()函数
- 7.ssl证书查找
- 8.favicon_哈希匹配
- 9.CloudFlare Bypass(前提是要用的是cloudflare cdn)
- 10.异常ping
- 11.使用旧域名
- 会制作免杀吗?
- 利用网上成熟的Shellcode制作简单免杀
- dump hash, 内网转发等行为也能针对性的绕过检测
- 继续总结....