面试题目准备

  • 自我介绍
  • 各位面试官下午好,我是xxx,来自xxx,就读于信息安全专业,熟悉C、python语言,写过爬虫脚本,比如爬取表情包、爬取京东书籍数据、爬取QQ子域名、开发端口等脚本,学过sql注入、xss注入、渗透测试,熟悉linux系统,现在在自学go语言和html语言。担任三年学生干部,获得过国家励志奖学金、校一二等奖学金、xxx等奖项,参加过黑盾杯、虎符等CTF比赛,不过成绩不是很理想。
  • 选择应聘安服的原因是感觉也自己的实力不知道在哪里,渗透也不知道怎么样,不知道从哪里开始,就看了网络的技术文章,决定就先从安服坐起。
  • 我知道的安服职责:现场技术支持、漏洞扫描服务、安全加固服务、设备保障服务、应急响应这些
  • 1、http的无状态体现在什么地方?
  • 无状态是指,当浏览器发送请求给服务器的时候,服务器响应,但是同一个浏览器再发送请求给服务器的时候,他会响应,但是他不知道你就是刚才那个浏览器,简单地说,就是服务器不会去记得你,所以是无状态协议。
  • 2、渗透测试的思路?
  • 信息收集:
  • 服务器的相关信息(ip、版本号、开发的端口、WAF等等)
  • 网站指纹识别(cms、cdn)
  • whois信息、子域名、旁站、C段等等这些
  • 旁站指的是同一服务器上的其他网站
  • C段指的是同一内网段内的其他服务器
  • 中间件版本,是否有exp可以利用
  • 传输协议、github源码
  • 漏洞挖掘:
  • 浏览网站、看看规模、功能架构、网站特点
  • 端口扫描、弱口令,对开放响应的端口进行漏洞探测,如mysql、ftp、ssh、心脏滴血、rsync
  • XSS、sql注入、文件上传、命令注入、CSRF、cookie安全检测、暴力破解、越权访问、目录遍历、文件包含、重放攻击、然后使用漏扫工具(AWVS/NESSUS)
  • 漏洞利用和权限提升
  • MYSQL提权、linux脏牛提权、后门提权
  • 清除测试数据&写渗透测试报告
  • 日志:测试数据的清理
  • 总结:渗透测试报告
  • 复测
  • 验证是否有新漏洞
  • 3、OWASP TOP 10?
  • 第一个是失效的访问控制
  • 第二个是加密机制失效
  • 第三个是注入漏洞
  • 第四个是不安全设计
  • 第五个安全配置错误
  • 第六个是使用过时或者自带缺陷的组件
  • 第七个是身份识别和身份验证错误
  • 第八个是软件和数据完整性故障
  • 第九个是安全日志和监控故障
  • 第十个是服务端请求伪造
  • 4、说说你对奇安信的了解
  • 奇安信是国内网络安全一哥,主要做网络安全,技术能力在IT中都是大佬级别,2022年冬奥会和冬残会值守,实现零事故的承诺,拥有国内短号95015
  • 我知道的奇安信的产品有网神安全分析与管理系统,还有贵公司的“让网络更安全、让世界更美好”的企业使命,愿景是成为全球第一的网络安全公司
  • 5、sql的报错注入原理
  • 在注入过程中根据错误回显进行判断,
  • 根据执行效果分类
  • 报错注入
  • 布尔盲注
  • length、substr、database、mid、ascii、if、
  •  

 

  • 时间盲注
  • 根据注入点类型分类
  • 数字型
  • union联合查询
  • 堆查询
  • 宽字节
  • 字符型
  • 搜索型注入
  • 根据数据提交方式来分类
  • GET注入
  • POST注入
  • cookie注入
  • HTTP头部注入
  •  
  • 6、sqlmap常用参数
  • -p            指定测试参数
  • -b            获取banner
  • --dbs           列举数据库
  • --is-dba        是否是管理员权限
  • --current-db        当前数据库
  • --current-user        当前用户
  • --tables        列举数据库的表名
  • --count            检索所有条目数
  • --columns        获取表的列名
  • --dump             获取表中的数据,包含列
  • 7、文件上传绕过
  • 1 前端修改允许的类型
  • 2 burp抓包修改
  • 客户端 javascript 检测
  • burp抓包修改Content-Type: 为允许的字段
  • Content-Type: image/gif
  • Content-Type: image/png
  • Content-Type: image/jpeg
  • 服务端MIME类型检查
  • 1 文件名大小写绕过
  • 用像 AsP,pHp 之类的文件名绕过黑名单检测
  • 2 名单列表绕过
  • 用黑名单里没有的名单进行攻击,比如黑名单里没有 asa 或 cer 之类
  • 3 特殊文件名绕过
  • 比如发送的 http 包里把文件名改成 test.asp. 或 test.asp_(下划线为空格),这种命名方式
  • 在 windows 系统里是不被允许的,所以需要在 burp 之类里进行修改,然后绕过验证后,会被 windows 系统自动去掉后面的点和空格,但要注意 Unix/Linux 系统没有这个特性。
  • 4 htaccess 文件
  • 配合名单列表绕过,上传一个自定义的.htaccess,就可以轻松绕过各种检测
  • 5 写入方法
  • 首先名字为1.php:jpg,会写入一个1.php的空文件,然后再上传一个文件,然后修改名字为3.<<<
  • 这样就会把我们这个文件的内容写入到我们上传的那个1.php空文件中
  • 6、%00截断绕过上传
  • 1.php .jpg 空格二进制20改为00
  • 还有一些图片木马之类的,需要结合文件包含漏洞来解析。
  • IIS解析漏洞
  • 1.  目录解析
  • 以*.asp命名的文件夹里的文件都将会被当成ASP文件执行。
  • 2. 文件解析
  • *.asp;.jpg 像这种畸形文件名在“;”后面的直接被忽略,也就是说当成 *.asp文件执行。
  • apache解析漏洞
  • 从右开始往左解析,如果为不可解析,继续往左解析
  • nginx解析漏洞
  • 原理
  • 对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加为test.jpg/x.php 进行解析攻击。
  • 对低版本的Nginx可以在任意文件名后面添加%00.php进行解析攻击。
  • Nginx下,请求文件/shell.gif时在后面加个*.php,即/shell.gif/1.php,可能会被当作PHP代码执行。
  • 和Apache一样,Nginx也是通过mime.types识别文件。
  • 文件在/etc/nginx/mime.types
  • 修复建议
  • 上传文件的存储目录禁用执行权限
  • 文件的后缀白名单,注意0x00截断攻击
  • 不能有本地文件包含漏洞
  • 及时修复web上的代码
  • 升级web server
  • 8、windows查看进程、结束进程
  • 查看所有进程  netstat -ano   或者 tasklist
  • 结束进程 taskkil /t  强制杀死
  • 9、linux查看文件命令
  • cat
  • head -n 100 filename:文件前100
  • tail -n 100 filename:文件尾部100行
  • 10、linux中查看系统中指定后缀的文件,并以管理员身份运行
  • find命令  -type
  • ls
  • 11. 什么是java序列化与反序列化?
  • Java 序列化是指把 Java 对象转换为字节序列的过程,以便于保存在内存、文件、数据库中,ObjectOutputStream类的 writeObject() 方法可以实现序列化。
  • Java 反序列化是指把字节序列恢复为 Java 对象的过程,ObjectInputStream 类的 readObject() 方法用于反序列化。
  • 12、熟悉的语言(python),用python写过爬取网络表情包、QQ子域名、京东书籍数据、数据库账号密码暴力破解脚本,使用过的python库(pandas、request、re、time)
  • from selenium import webdriver
  • import requests
  • import time
  • import os
  • 13.XSS介绍及原理:跨站脚本攻击
  • XSS又叫CSS(Cross Site Script),跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意JS代码,当用户浏览该页之时,嵌入其中Web里面的JS代码会被执行,从而达到恶意的特殊目的。利用我们所知道的各种黑魔法,向Web页面插入JS代码,让JS代码可以被浏览器执行,访问该页面的用户则被攻击。
  • XSS漏洞分类
  • 1.反射型
  • 非存储型,就是通过get或者post请求时,被后端处理过数据,并且响应到前端页面上
  • 2.存储型
  • XSS代码被存储到服务器上的数据库里的某张表的字段里,或者页面,或者某个上传文件里
  • 3.DOM型
  • XSS漏洞修复方法
  • 1.HTML实体编码
  • 2.使用白名单过滤掉用户输入的恶意字符
  • 3.根据业务场景对症下药
  • 14、csrf跨站域请求伪造攻击
  • 攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。
  • SSRF是服务器对用户提供的可控URL地址过于信任,没有经过严格检测,导致攻击者可以以此为跳板攻击内网或其他服务器。
  • 15、常见的端口和协议
  • (1)FTP——文件传输协议——21号端口
  • ssh 协议端口号 22
  • (2)Telnet——远程登陆协议——23号端口
  • (3)SMTP——简单邮件传送协议——25号端口
  • (4)POP3——接收邮件——110号端口
  • (POP3仅仅是接收协议,POP3客户端使用SMTP向服务器发送邮件。)
  • 使用UDP协议常见端口主要有以下几种:
  • (1)HTTP——超文本传输协议——80号端口
  • (2)DNS——域名解析服务——53号端口
  • (3)SNMP——简单网络管理协议——161号端口
  • (SMTP真正关心的不是邮件如何被传送,而只关心邮件是否能顺利到达目的地。)
  • (4)TFTP——简单文件传输的协议——69号端口
  • 另外代理服务器常用以下端口:
  • (1)HTTP协议代理服务器常用端口:80/8080/3128/8081/9080
  • (2)SOCKS代理协议服务器常用端口:1080
  • (3)FTP协议代理服务器常用端口:20/21
  • (20端口用于数据传输,21端口用于控制信令的传输,控制信息和数据能够同时传输,这是FTP的特殊这处。FTP采用的是TCP连接。)
  • (4)Telnet协议代理服务器常用端口:23
  • (5)DHCP协议——动态主机设置协议——用于内部网或网络服务供应商自动分配IP地址
  •         DHCP:服务器端的端口号是67
  •         DHCP:客户机端的端口号是68
  • 16、osi七层模型
  • 应用层
  • 表示层
  • 会话层
  • 传输层
  • 网络层
  • 数据链路层
  • 物理层
  • 17、XSS漏洞和防范
  • 反射型,存储型,dom型(特殊的反射型)
  • 反射型XSS:<非持久化> 攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码
  • 存储型XSS:<持久化> 代码是存储在服务器中的,每当有用户访问该页面的时候都会触发代码执行。
  • DOM型XSS:通过修改页面的DOM节点形成的XSS,称之为DOMBasedXSS。
  • 防范方法:过滤关键词和符号,对<>等进行转义,对重要cookie实行httponly等
  • 18、给你一个用户登录框如何进行渗透测试:
  • 先尝试万能密码,看有没sql注入漏洞,弱密码,观察有没有用户注册或者忘记密码,如果有可以测试有没有重置密码,或者注册后改包用户名登录等逻辑漏洞,(部分网站也可以考虑xss)如果什么发现都没有尝试暴力破解,总之思路是先挖掘web和逻辑漏洞,最后再暴力破解。
  • 19、列举常见的逻辑漏洞:
  • 就用户而言,登录爆破,任意账号注册,密码重置,水平越权和垂直越权等
  • 商场或者交易:修改购买金额,单价,数量等
  • 20、爬虫中经常用到的几个库
  • requests ; BeautifulSoup ; lxml ;selenium 爬虫框架 Scrapy
  • 21、php反序列化
  • php反序列化的时候,反序列化的内容是用户可控,那么恶意用户就可以构造特定序列化内容的代码,通过unserialize()函数进行特定的反序列化操作,并且程序的某处存在一些敏感操作是写在类中的,那么就可以通过这段恶意代码,达到执行攻击者想要的操作。
  • 22、LINUX下用户密码存放在哪里
  • /etc/passwd和/etc/shadow