✍前言
简单的过一遍基础面试题目。
1.同源策略以及绕过此限制的方法
https://blog.csdn.net/duzm200542901104/article/details/85870019
2.三大数据库写马方式
https://fstraw.cn/posts/ffe60f3c.html
3.代码审计的思路
- 寻找敏感功能点
- 根据敏感关键字回溯
- 直接通读全文代码
- 查找可控变量,正向追踪变量传递过程
4.应急响应思路
断开异常连接、排查入侵源头、避免二次入侵
一、发现异常点
网站部分:篡改、丢失乱码
文件部分:丢失、篡改、泄露
系统部分:系统卡顿、CPU爆满、服务宕机
流量部分:大量数据包、陌生外部连接、网速网络卡顿
第三方服务部分:服务异常、运行异常
二、收集信息
操作系统:linux、windows、mac
具体收集内容:对外服务、开放端口、系统版本、网络环境、漏洞情况、软件平台、口令整理、有无防护
具体什么时间段出现异常
1.WEB漏洞-检查源码类别及漏洞情况
**2.**中间件漏洞-检查对应版本及漏洞情况
**3.**第三方应用漏洞-检查是否存在漏洞应用
**4.**操作系统层面漏洞-检查是否存在系统漏洞
**5.**其他安全问题(口令,后门等)-检查相关应用口令及后门扫描
三、模拟攻击
web攻击:漏洞攻击、结合攻击、流量攻击
第三方攻击:数据库、远程网站、服务平台
操作系统攻击:权限提升、内网渗透、远程漏洞
基于时间 基于操作 基于指纹 基于其他
告诉你什么时间出现异常,就可以筛选时间 减少看垃圾日志浪费的时间
客户告诉你他的数据库崩了(数据更改了) 数据库安全问题
修改了哪个网站 就会想到要是你来攻击你会怎么入手 连接会用哪些工具(软件就有指纹) 就可以直接在日志中定位这个指纹 就可以第一时间找到攻击者攻击的数据包在哪
四、追查
日志分析、后门分析、流量分析、脚本软件分析、模拟渗透分析
参考链接:
https://blog.csdn.net/qq_51577576/article/details/121582451
5.如何处理勒索病毒,文件被加密,怎么处理呢?
- 在网上查找有没有破解工具。如果是老款的勒索病毒,网上有可能可以找到加解密工具。
这里注意一点,如果找到了解密工具,最好是先备份,再解密。
因为如果版本不一致,会解密失败,但同时文件底层扇区会进行相应的解密修改,导致后期就算找到一致的解密工具或解密秘钥,都是没办法再成功解密的,因为加密信息已经不一致了。
几个解密工具集下载地址:
No More Ransom
Emsisoft
卡巴斯基
MalwareHunterTeam
寻找专业团队进行恢复或修复
有些数据库可以恢复
等待解密工具出现
6.渗透测试流程
目标确认–>信息收集–>漏洞发现–>漏洞利用–>权限维持/内网渗透–>目标获取/痕迹清理
7.有没有复现过经典的漏洞
永恒之蓝、Apache Shiro、log4j rce
8.谈谈 sql 注入
含义、原理、条件、危害、防御、分类、利用、常用函数、绕waf等等的方面
https://fstraw.cn/posts/7b6ed634.html
9.对数据库的了解讲一下
1 | Mysql、MsSQL、Oracle、Access |
10.预编译的原理
在sql参数未注入之前,提前对sql语句进行预编译,后面注入的参数将不会再进行sql编译。即后面注入进来的参数系统将不会认为它会是一条SQL语句,而默认其是一个参数。
预编译是通过PreparedStatement和占位符来实现的
预编译防止不了排序处的注入。
https://forum.butian.net/share/1559
11.phpinfo你会关注哪些信息
- PHP版本、服务器信息、网站安装的绝对路径
1 | 网站安装的绝对路径 |
支持的程序
比如redis、memcache,那么可以通过ssrf来getshell
GOPHER
ssrf来getshell
数据库IP、用户名、密码
fastcgi
查看是否开启fastcgi和fastcgi的版本,可能导致解析漏洞、远程命令执行、任意文件读取。
- 泄露缓存文件地址
1 | _FILE["file1"] |
向phpinfo() post 一个shell可以在该位置看到上传的临时文件,如果有lfi,可以直接getshell
- 敏感配置
1 | allow_url_include |
- 环境信息
如Environment中的path、log等
12.有没有了解过权限维持
https://fstraw.cn/posts/8035962c.html
https://fstraw.cn/posts/b0237af4.html
13.json格式的CSRF如何防御
1)用户操作验证,在提交数据时需要输入验证码
2)请求来源验证,验证请求来源的referer
3)表单token验证
现在业界对CSRF的防御,一致的做法是使用一个Token(Anti CSRF Token)。
这个Token的值必须是随机的,不可预测的。由于Token的存在,攻击者无法再构造一个带有合法Token的请求实施CSRF攻击。另外使用Token时应注意Token的保密性,尽量把敏感操作由GET改为POST,以form或AJAX形式提交,避免Token泄露。
14.fastjson相关漏洞
- Fastjson<1.2.24远程代码执行(CNVD-2017-02833 )
- Fastjson<=1.2.47远程代码执行漏洞(CNVD-2019-22238)
- Fstjson < 1.2.60 远程拒绝服务漏洞
- Fastjson <=1.2.68 反序列化远程代码执行漏洞
15.说一个你知道的python相关的漏洞(SSTI原理,利用过程,payload相关的东西)
16.过滤limit后的逗号如何绕过
17.浏览器解析顺序和解码顺序
18.samesite防御CSRF的原理
19.信息收集如何处理子域名爆破的泛解析问题
目前最好的解决方式是通过先获取一个绝对不存在域名的响应内容,再遍历获取每个字典对应的子域名的响应内容,通过和不存在域名的内容做相似度比对,来枚举子域名,但这样的实现是以牺牲速度为代价
20.你是怎么做资产搜集的
Fofa、Goby、子域名在线收集。这些都没有收获的话,就会去扫一下C段,手工去收集一些比如公众号、小程序、app之类的信息。
21. 你对linux和windows的常用命令了解吗,如何查看linux的计划任务
Windows:
常用命令:
1 | 1. 查看网络连接具体信息 netstat |
Linux常用命令
1 | 1. 查看系统所有的进程数据 |
用户任务调度: 用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用 crontab 工具来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron
目录中。其文件名与用户名一致,使用者权限文件如下:
1 | /etc/cron.deny 该文件中所列用户不允许使用crontab命令 |
cat /etc/crontab 查看
22.挖到过逻辑漏洞吗
逻辑漏洞挖到过很多,比如支付金额修改、用户名枚举、短信轰炸、验证码绕过
23.挖到过框架漏洞吗
没有
24.讲一下宽字节注入
当某字符的大小为两个字节时,称其字符为宽字节
数据库使用的的是GBK编码而PHP编码为UTF8,%df%27或%81%27数据为空,%27的url解码为单引号 ‘
,所以php为给引号增加一个转义字符 \
,而转义字符的url编码为%5c
和前面的%df结合就组成了一个新的字符,准确的说是一个汉字
就是说客户端发送的数据编码为gbk时,那么可能会吃掉转义字符\反斜杠,闭合之后页面恢复正常,存在宽字节注入
25.你绕过waf吗,怎么做的
绕过waf的方式有很多,简单绕过是 大小写
特殊字符替换空格或注释绕过:union select 1,2可转换为
union/xx/select/xx/1,2
编码绕过:少数waf不会对普通字符进行URL解码,还有一部分waf只会进行一次url解码,所以可以对payload进行二次url编码。常见的SQL编码有unicode、HEX、URL、ascii、base64等,XSS编码有:HTML、URL、ASCII、JS编码、base64等等。
关键字替换绕过:也就是在关键字内部复写
多请求拆分绕过:对于多个参数的语句,可以将注入语句分割插入。
如这样的请求:?a=[inputa]&b=[inputb]
可将参数a和b拼接如:and a=[inputa] and b=[inputb]
利用cookies绕过、云WAF绕过之寻找网站源ip
还有发送大量垃圾数据绕过,条件竞争让waf处理不了。
26.说一下nmap的默认扫描方式
-sS 执行半开扫描,不完成TCP握手流程。只向目标端口发送一个SYN报文,然后等待响应。SYN/ACK表示端口在监听 (开放),而 RST (复位)表示没有监听者。如果多次重发后仍没响应, 该端口就被标记为被过滤。
27.说一下xss、csrf和ssrf的区别
XSS和CSRF的相同点,它们都是利用浏览器发送数据包,而SSRF是在服务器上执行让服务器偷偷发送数据包;另外,CSRF和XSS都会利用到Cookie,但CSRF是利用它让浏览器偷偷发送数据包,而XSS是直接窃取Cookie。
csrf 存在的原因一般都可以是因为表单没有token参数校验。
SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,文档,等等。
csrf 一般可以结合 xss 进行攻击。
ssrf 一般可以结合 内网的redis、log4j等大规模存在的漏洞进行攻击
28.说一下CSRF的适用场合
一般适用于后台的密码修改、用户权限提升,用户添加等。
29.说一下XSS的绕过方式
- 大小写绕过
- 空格/回车(换行符)/Tab
- 堆叠绕过
类似于 输出为 为变量$str
$str2=str_replace(“script”,””,$str);
$str3=str_replace(“on”,””,$str2);
$str4=str_replace(“src”,””,$str3);
$str5=str_replace(“data”,””,$str4);
$str6=str_replace(“href”,””,$str5);
可以采用oonn避开过滤 机制是吧中间的on过滤了
- 事件绕过
就是加入一些事件 此方法可绕过大部分SRC域名过滤器,它允许将事件替换为任何标签中可用的事件类型,例如onblur,onclick
- 伪协议绕过
利用 在a标签里插入 javascript: 伪协议
- 前端抓包绕过
可修改,可以编码抓包绕过
- html5新标签绕过
30.说一下文件上传的绕过方式
修改文件名后缀
图片一句话木马
htaccess文件绕过上传
IIS6.0 解析漏洞
编辑器漏洞
IIS高版本上传–畸形解析漏洞
aspx漏洞
双写filename绕过waf
目录穿越
https://fstraw.cn/posts/b96d5de5.html
31.怎么合成图片马
1 | copy mm.jpg/b+ma01.php/a mm-ma01.jpg |
也可以加上图片标识头,改为gif后缀
1 | GIF89a |
32.你遇到过竞争条件吗
验证码发送,短信爆破
33.你对log4j有什么理解
其他题目
https://mp.weixin.qq.com/s/dd3Mi7T8hF70t2MtmyDOTA