一、自我介绍
自我介绍这块就根据每个人的情况介绍就好。一般来说,就是我叫xxx,是来自xxx学校xxx专业的本科生/研究生,再介绍下自己的校园经历,获得的一些奖项,如果是研究生,还可以介绍一下自己研究生生涯的科研经历等等。
二、有没有挖洞经历
有,但是暂时没挖到。
面试官接着问:看你简历上打CTF比较多是吧,那你是负责哪一块的呢?
回答:我是负责web和misc的,web方面就是做些RCE,反序列化,代码审计,文件上传,sql注入之类的题目。misc方面就是做些图像隐写,音频隐写,水印之类的题目。
面试官接着问:那你有打过什么比较大型的CTF比赛吗?
回答:NepCTF、第一届“华为杯”研究生创新大赛、SUCTF、XCTF
三、介绍下sql注入,从原理、分类、防御等几个方面介绍一下。
原理:通过某种方式将恶意的SQL代码添加到输入参数中,然后传递到SQL服务器使其解析并执行的一种攻击手法。
常见的注入方式:联合查询注入、报错注入、布尔盲注、时间盲注、宽字节注入、堆叠注入、二次注入。
宽字节注入是由于编码方式不同所导致的,页面采用utf-8编码,而数据库采用GBK编码就会造成宽字节注入。
报错注入是由于页面有报错信息的显示,所以可以利用一些报错函数将想要的信息通过报错信息得到。常用的报错函数有updatexml、extractvalue、floor结合rand、exp(当输入的值大于709的时候会报错)等等。
盲注分为布尔盲注、时间盲注。布尔盲注可以在页面不显示数据,只显示对错的情况下使用,根据我们输入的语句让页面呈现true还是false状态来判断语句是否成功。常用的函数有ascii、substr、length、concat、exists等。时间盲注是通过页面返回时间的长短来判断语句的成功与否。常用的函数有sleep、if、其余的跟布尔盲注差不多。
防御:
- 预编译,如使用参数化语句和绑定变量- 加强对用户输入的验证,识别恶意内容,过滤掉某些危险语句- 转义,把用户的输入当成文本以及用斜杠来转义- 将数据库异常信息隐藏- 防火墙、黑名单,禁止某些IP访问- 对数据库信息进行加密- 禁用某些参数,比如secure_file_priv等- 普通用户和系统管理员用户的权限要有严格的区分
绕过:
1. 过滤关键字 - 用/**/、分割关键字 - 双写绕过 - 大小写绕过 - 编码绕过2. 过滤逗号 - 简单注入使用join方法绕过 - 对于substr、mid函数可以使用from...for的方法解决,例如substr(str from pos for len);对于limit函数可以用offset的方法绕过。3. 过滤空格 - /**/ - 用括号绕过 - 用回车代替4. 过滤等号 - 用like、rlike、regexp这些模糊匹配函数5. 过滤函数 - 用等价函数绕过,例如:hex、bin、ascii三个函数可以相互替换。
然后面试官就叫我进行手工注入,那手工注入的语句我就不一一写了,相信会的人都会写。
四、XSS的原理,分类,危害,防御等等
XSS是跨站脚本攻击,通常指攻击者在网页中嵌入恶意代码,用户访问网页或点击链接触发恶意代码而被攻击。
分类:
1. 反射型XSS:非持久型XSS,最容易出现的XSS漏洞 原理:用户在请求某个url地址时,会携带一部分数据,攻击者可以将恶意代码注入到url中,如果服务器未对url携带的参数做判断或过滤直接返回响应页面,就会触发反射型XSS。 特点:非持久型、js代码在web应用的参数当中 数据流量走向:浏览器->后端->浏览器2. 存储型XSS:持久型XSS,最危险的一种XSS 原理:恶意代码被保存到服务器上,显示在HTML页面中,经常出现在用户评论的页面,攻击者将XSS代码保存到数据库中,当用户在此访问这个页面时,就会触发并执行XSS代码,窃取用户的敏感信息。 特点:持久型、危害性最大、js代码不在某个参数中,而是保存在数据库或者文件中 数据流量走向:浏览器->后端->数据库->后端->浏览器3. Dom型XSS 原理:基于文档对象模型(DOM)的一种漏洞。这种XSS与反射型XSS、存储型XSS有着本质的区别,它的攻击代码不需要服务器解析响应,触发XSS依靠浏览器端的DOM解 析,客户端的JavaScript脚本可以访问浏览器的DOM并修改页面的内容,不依赖服务器的数据,直接从浏览器端获取数据并执行。 特点:非持久型 数据流量走向:url->浏览器
危害:
- 窃取cookie- 未授权操作,比如劫持会话,刷流量,执行弹窗广告,还能记录用户的键盘输入- 传播蠕虫病毒- 网站钓鱼,包括盗取各类用户账号- 网页挂马、进行恶意操作等
防御:
- 使用htmlspecialchares之类的函数,设置httponly- 对用户的输入输出进行过滤,对输出进行转义处理- 架设WAF,虽然不能完全解决XSS漏洞,但可以拦截大部分敏感数据,防止黑客利用
然后面试官问我CSP有了解吗?我只知道CSP是什么,但具体怎么利用CSP防XSS还真没了解过。(可以参考这篇文章:https://www.cnblogs.com/goloving/p/11186176.html)
五、SSRF的防御、绕过方法
SSRF是服务器端请求伪造,是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF的攻击目标是从外网无法访问的内部系统。
防御:
- 过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件,那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。- 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。- 限制请求的端口为http常用的端口,比如:80,443,8080,8090。- 黑名单内网IP。避免应用被用来获取内网数据,攻击内网。- 禁用不需要的协议。仅仅允许http和https请求,可以防止类似于file:///,gopher://,ftp://等引起的问题。
绕过方法:
- 限制为xxx.com域名时,可以利用@,比如[email protected]访问还是百度- 采用短网址绕过- 采用进制转换绕过- 利用特殊域名- 利用句号:127。0。0。1 => 127.0.0.1- CRLF编码绕过,%0d->0x0d->\r回车 %0a->0x0a->\n换行
六、websocket协议有了解吗(当时没回答出来)
可以参考这篇文章:https://blog.csdn.net/ly021499/article/details/127274924
七、http协议和https协议之间的区别
- http是不加密的,https是通过SSL协议加密的
- http是80端口,https是443端口
面试官:你平常是用什么工具进行抓包的呢?
回答:最常用的是burp。
面试官:那你平常有抓过https包吗,你抓到的https包的数据流量是加密的吗?
当时回答的都是一些字段加密,没有说到https包的加密,其实通过fiddler抓https包是可以清楚的看到所有的流量都是加密的。
八、jsonp有了解过吗
当时也是没回答出来。可以参考https://blog.csdn.net/Daisy_i/article/details/124806871
九、k8s漏洞以及云上攻防之类的有了解过吗
完全没接触过,也没回答出来,直接说了没了解过。
十、问了我实习经历的一些问题
我也就按照我实习的内容进行了一些阐述,介绍了一下我参加的隐写溯源项目。
十一、Linux的基础命令
- 当前主机外联命令
我到现在也没明白问的具体是什么,所以也不知道回答什么。就说了ifconfig,ip route、netstat命令 - 查看当前进程信息命令
ps -aux结合管道符来获得具体进程的信息 - 查看安装了哪些软件包
当时就回答了一个rpm -list,后面查了一下还有rpm -qa,yum list installed,apt list —installed
十二、网络协议
- 三次握手
客户端主动向服务器端发送一个请求,请求包中带有一个seq序列号,假设seq=x;服务器端接收到请求包后,返回一个响应包,响应包中带有对第一个报文的回答和一个新的序列号,ack=x+1,seq=y;客户端接收到服务器端的响应后,也发一个响应包,带有对上一个报文的回答,ack=y+1。至此,三次握手建立成功。 - OSI的七层
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
十三、有哪些常见的逻辑漏洞
密码找回漏洞,验证码绕过漏洞,越权漏洞,变量覆盖漏洞,支付漏洞。
然后问了我一些逻辑漏洞具体怎么实现的?
我就根据做靶场的一些经验说了一下,反正基本上就是对关键字段值进行修改。
十四、jwt令牌是什么(这完全是因为我在说逻辑漏洞的时候提到了,面试官才问的)
jwt全称json web token,是一种用于在网络应用之间传递声明的安全方式。
面试官:那jwt令牌分为几段呢?
我:三段。
面试官:那每一段是什么含义?
我:第一段是头部,包含令牌的类型和加密算法;第二段是载荷,包含需要传递的信息;第三段是签名,用于验证令牌的真实性。
面试官:那jwt攻击有哪些?
我:当时也没回答出来。但是面完之后一查,发现就是平常做题的那些方法,比如伪造密钥,空加密算法。
十五、给你一个cdn xss,你会怎么利用?
当时也是没回答出来,有大佬能给我讲讲吗。
十六、让我手撕代码,就是比较IP地址的大小
当时的思路就是根据.号进行分割,一位一位的比较。最后面试官提示我可以将IP地址转换为2进制直接进行比较就可以了。
以上就是面试的所有内容。第二天就收到了凉凉的邮件,废了。
标签:XSS,面试官,漏洞,面试,https,秋招,某手,绕过,页面 From: https://www.cnblogs.com/sbhglqy/p/18261566