前言
介绍了网络安全岗位常见的面试题,仅供参考!
一、常识部分
1.Linux服务器种用户关键信息存储在那个文件中?启动、停止、重启、开机自启mysql服务命令?如何查找/etc/test.txt文件中"password"关键字信息?如何精确查找80端口?
/etc/passwd
1systemctl start mysqld 或 system mysqld start 启动
2systemctl stop mysqld 或 system mysqld stop 停止
3systemctl restart mysqld 或 system mysqld restart 重启
4systemctl enable mysqld 或 system mysqld enable 开机自启
5grep "password" /etc/password
6netstat -nltp | grep 80
2.列举常见安全设备,并说明作用及常见的部署模式?(至少五个)
防火墙:
作用:隔离互联网、访问控制等
部署模式:网关、透明、旁路 …
3.Cookies和session区别?
Cookie和Session都是客户端与服务器之间保持状态的解决方案
a.存储的位置不同,cookie:存放在客户端,session:存放在服务端。Session存储的数据比较安全
b.存储的数据类型不同
两者都是key-value的结构,但针对value的类型是有差异的
cookie:value只能是字符串类型,session:value是Object类型
c.存储的数据大小限制不同
cookie:大小受浏览器的限制,很多是是4K的大小, session:理论上受当前内存的限制,
d.生命周期的控制
cookie的生命周期当浏览器关闭的时候,就消亡了
(1)cookie的生命周期是累计的,从创建时,就开始计时,20分钟后,cookie生命周期结束,
(2)session的生命周期是间隔的,从创建时,开始计时如在20分钟,没有访问session,那么session生命周期被销毁
4.一次完整的HTTP请求过程?
域名解析 --> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求,浏览器得到html代码 --> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等) --> 浏览器对页面进行渲染呈现给用户。
5.TCP三次握手过程?
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手
二、安全测试
1.什么是SQL注入攻击?如何防范?
攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行。
防范:
Web端
1)有效性检验。
2)限制字符串输入的长度。
服务端
1)不用拼接SQL字符串。
2)使用预编译的PrepareStatement。
3)有效性检验。(为什么服务端还要做有效性检验?第一准则,外部都是不可信的,防止攻击者绕过Web端请求)
4)过滤SQL需要的参数中的特殊字符。比如单引号、双引号。
2.应用有漏洞,但是无法修复和停用,你怎么办?
限制IP白名单访问
使用WAF、IDS、防火墙设备
3.DDos 攻击原理及防御?
客户端向服务端发送请求链接数据包,服务端向客户端发送确认数据包,客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认
没有彻底根治的办法,除非不使用TCP
DDos 预防:
1)限制同时打开SYN半链接的数目
2)缩短SYN半链接的Time out 时间
3)关闭不必要的服务
4.mysql的网站注入,5.0以上和5.0以下有什么区别?
5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。
5.0以下是多用户单操作,5.0以上是多用户多操做。
5.文件上传绕过方法有哪些?(至少五种)
1上传.htaccess
2后缀大小写绕过
3点绕过
4空格绕过
5点空格绕过
6%00截断等
三、应急响应
1.如果一台服务器被入侵后,你会如何做应急响应?
1.准备相关的工具,查后门等工具
2.初步判断事件类型,事件等级。
3.抑制范围,隔离使爱害面不继续扩大
4.查找原因,封堵攻击源。
5.业务恢复正常水平.
6.总结,报告,并修复、监控
2.发现服务器被挖矿了怎么清理病毒?
使用top查看进程,kill掉异常进程
检查/tmp和/var/tmp目录,删除java、ppc、w.conf等异常文件
检查crontab任务列表,删除异常任务
排查YARN日志,确认异常的application,删除处理
四、安全管理及建设
1.企业内部安全建设可以从那些方面考虑?
实名制联网(准入)
重要网段隔离(区域隔离)
禁止接入任何USB设备
禁用WIFI网络
IP与MAC地址绑定
部署网络监控、IDS、IPS设备
定期培训,提高员工安全意识
上面是网络安全面试题下面是一份网络攻防渗透测试的学习路线
我就不藏私了!
原因:php+mysql 可以帮助你快速的理解 B/S 架构是怎样运行的,只有理解了他的运行原理才能够真正的找到问题/漏洞所在。所以对于国内那些上来就说渗透的我是很鄙视的
js+html 可以帮助你理解到 XSS 的 payload 构造,以及 Dom 型的 XSS 挖掘。注意我这是没有说不会 JS 就找不到 XSS 漏洞,只不过是不能构造 payload 以及 DOM 型的 XSS 挖掘的。
???? 【一帮助安全学习一】????这里256G网络安全自学资料
2. 学习运维
原因:关于内网渗透的时候会有大用!比如说那些配置文件在哪里,DNS 怎么查看之类的,这里的运维不是说什么去学 Linux 怎么用,而是让你去学习各个服务是怎么配置出来的,记住他们的配置文件所在
3. 入门渗透
学习路径:
1.SQL 注入 2. XSS 漏洞 3. CSRF 漏洞 4. 文件上传 5. 解析漏洞 6. 代码执行 7. 命令执行 8. 文件包含 9. SSRF 漏洞
以上漏洞的原理都在《白帽子讲web安全????》一书中有说到。注意!必须学习完第一步才可以继续学习第三步,不然你会发现买来也没什么用 看不懂
????点 ji256G 网络安全自学 zl【一帮助安全学习一】①网络安全学习路线②20 份渗透测试电子书③安全攻防 357 页笔记④50 份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100 个漏洞实战案例⑧安全大厂内部视频
4. 深入漏洞
这个东西是讲不出来的,只可意会不可言传
最后一句忠告:渗透测试的本质是信息收集,深度是漏洞开发!