| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 网络安全面试题汇总(个人经验) -> 正文阅读 |
|
[PHP知识库]网络安全面试题汇总(个人经验) |
1.谈一下SQL主从备份原理? 答:主将数据变更写入自己的二进制log,从主动去主那里去拉二进制log并写入自己的二进制log,从而自己数据库依据二进制log内容做相应变更。主写从读 2.linux系统中的计划任务crontab配置文件中的五个星星分别代表什么? 答:分,时,日,月,星期几 3.linux系统中的用户态和内核态都是什么?怎么理解转换原理? 通俗讲理解为用户空间和内核空间,Linux 把内存主要分为 4 个段,分别是内核代码段、内核数据段、用户代码段、用户数据段。进程总共4G,内核态能访问3-4G,用户态能访问0-3G.内核两个段特权级都为最高级 0,用户两个段特权级都为最低级 3。内核代码段可以访问内核数据段,但不能访问用户数据段和用户代码段,同样地,用户代码段可以访问用户数据段,但不能访问内核数据段或内核代码段。 当前进程运行的代码若属于内核代码段,则称当前进程处于内核态,若属于用户代码段,则称当前进程处于用户态。用户代码段和内核代码段的代码分别运行在用户栈上和内核栈上。 4.简述BP的作用? 答:是通过设置浏览器代理进行网络渗透,用于攻击web应用集成平台,可进行拦截和修改http包;bp也有转码解码作用(16进制,ascii,basse64等等);introder模块实现一个自动化的攻击或是密码爆破;repeater模块一般使用这个功能也是通过Proxy抓包然后send过来的。主要就是修改请求的各项参数等等然后点击左上角的go发送出去,然后在右边接受到请求,请求和响应都可以以不同的形式展示出来;compare模块主要是一个比较功能,可以在Proxy处截包发送过来进行比较也可以直接加载文件进行比较 5.SQL注入的原理?如何防御? 由于程序开发者在编译时未对用户输入进行过滤,导致用户可以在url中进行SQL查询语句代入数据库 6.发生安全事件怎么做应急响应? 答:先确定范围,做好隔离(网络隔离,ACL等),判断事情严重程度,同时联系法务部门看是自己取证还是公安部门取证,事后做好分析,做好相关安全加固 7.DDOS攻击是什么原理?怎么防御? 分布式拒绝服务攻击,是黑客控制肉鸡来进行占用资源导致服务器资源耗尽。例如:餐厅来了许多人把座位占满,他们不点菜,只占座,导致正常来吃饭的客人无法就餐。 防御:购买抗D服务,流量清洗,扩带宽 8.反射型XSS漏洞的原理?如何防御? 一种通过外部输入然后直接在浏览器端触发,即反射型XSS 防御:(1) 特殊字符HTML实体转码。最好的过滤方式是在输出和二次调用的时候进行加HTML实体一类的转码,防止脚本注入。 (2) 标签事件属性黑名单。特殊字符容易被绕过,所以还得加标签事件得黑名单或者白名单,这里推荐使用白名单的方式,实现规则可以直接使用正则表达式来匹配,如果匹配到的事件不在白名单列表,就可以直接拦截,而不是过滤为空。 9.请求伪造类的攻击原理是什么? 用户提交的URL和服务器端返回的信息需要做过滤否则就会被黑客做请求伪造攻击。发生在客户端的叫CSRF发生在服务器端的叫SSRF 10.文件上传漏洞原理及防御? 程序员在开发任意文件上传功能时,并未考虑文件格式后缀的合法性校验或者是否只在前端通过js进行后缀检验。这时攻击者可以上传一个与网站脚本语言相对应的恶意代码动态脚本,例如(jsp、asp、php、aspx文件后缀)到服务器上,从而访问这些恶意脚本中包含的恶意代码,进行动态解析最终达到执行恶意代码的效果,进一步影响服务器安全。 服务器开启了不当的设置或者存在解析漏洞(比如nginx开启 Fast-CGI情况下,上传名字为a.jpg内容为一句话木马的文件然后访问a.jpg/.php在这个目录下就会生成一句话木马)或者是开启了不安全的方法比如put,delete方法,比如apache的解析漏洞若一个文件名abc.x1.x2.x3,Apache会从x3开始解析,如果x3不是一个能解析的扩展名,就往前解析x2以此往复,直到能遇到一个能解析的文件名为止。IIS6.0 在解析 asp 时有两个解析漏洞,一个是如果任意目录名包含 .asp 字符串,那么这个目录下的所有文件 都会按照 asp 去解析,另一个是文件名中含有 asp; 就会优先当作 asp 来解析。 IIS7.0/7.5 对php解析有所类似于 Nginx 的解析漏洞。只要对任意文件名在url后面追加上 字符串 / 任意文件名.php 就会按照php去解析。如,上传test.jpg,然后访问test.jpg/.php或test.jpg/abc.php当前目录下就会生成一句话木马 shell.php 防御:在客户端和服务器端对用户上传的文件名和文件路径等项目分别进行严格的检查。还需对%00截断符进行检测,对HTTP包头的content-type也和上传文件的大小也需要进行检查。文件上传的目录设置为不可执行。只要web容器无法解析该目录下面的文件,即使攻击者上传了脚本文件,服务器本身也不会受到影响。 判断文件类型。在判断文件类型时,可以结合使用MIME Type、后缀检查等方式。在文件类型检查中,使用白名单方式。此外,对于图片的处理,可以使用压缩函数或者resize函数,在处理图片的同时破坏图片中可能包含的HTML代码。 使用随机数改写文件名和文件路径。文件上传如果要执行代码,则需要用户能够访问到这个文件。在某些环境中,用户能上传,但不能访问。如果应用了随机数改写了文件名和路径,将极大地增加攻击的成本。再来就是像shell.php.rar.rar和crossdomain.xml这种文件,都将因为重命名而无法攻击。 单独设置文件服务器的域名。由于浏览器同源策略的关系,一系列客户端攻击将失效,比如上传crossdomain.xml、上传包含Javascript的XSS利用等问题将得到解决。 使用安全设备防御。文件上传攻击的本质就是将恶意文件或者脚本上传到服务器,专业的安全设备防御此类漏洞主要是通过对漏洞的上传利用行为和恶意文件的上传过程进行检测。恶意文件千变万化,隐藏手法也不断推陈出新,对普通的系统管理员来说可以通过部署安全设备来帮助防御。 11.文件包含漏洞原理及防御? 原理:在通过PHP的相应函数(比如include())引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。 需要满足的两个条件:1、 include()等函数通过动态变量的方式引入需要包含的文件。 2、用户能够控制这个动态变量。 防御:对代码编程做过滤,由于Include/Require可以对PHP Wrapper形式的地址进行包含执行(需要配置php.ini),在Linux环境中可以通过”…/…/”的形式进行目录绕过,所以需要判断文件名称是否为合法的PHP文件。代码在进行文件包含时,如果文件名可以确定,可以设置白名单对传入的参数进行比较。PHP配置文件中有open_basedir选项可以设置用户需要执行的文件目录,如果设置目录的话,PHP仅仅在该目录内搜索文件。PHP配置中的allow_url_include选项如果打开,PHP会通过Include/Require进行远程文件包含,由于远程文件的不可信任性及不确定性,在开发中禁止打开此选项,PHP默认是关闭的。 12.什么是同源策略? 同源策略是检查页面跟本机浏览器是否处于同源,只有跟本机浏览器处于同源的脚本才会被执行,如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。 13.简述Localstorage和sessionstorage区别 localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。 14.什么是原子操作? 所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。 15.windows系统的安全键是什么? ctrl+alt+delete(机器默认接收此指令后立即终端当前所有进程,激活重新登录页面提示输入用户名和密码) 16.怎样绕cdn获取网络真实ip? 可以尝试连上国外代理,ping域名,若ip不变即为真实ip。或者通过shodan,fofa搜索域名,尝试通过返回的信息判断真实ip 17.主机被入侵了怎么办? 主机被入侵,优先看自己开放的服务。从而排查出可能的攻击点。比如开放http服务,可能是被web渗透进入。比如开放ssh,可能是被弱口令进入。在确定服务后,可以去相应服务日志下面排查,看看能不能找到攻击IP 18.作为网站后台管理员,怎样防止后台页面被别人搜到? 答:最简单的是写一个过滤器,判断该用户是否为管理员,如果是则可以跳到管理员页面,如果不是,则调回首页(只要在users 表增加一个 role 字段来判断就行了。第二种就是建立一个权限系统(基于多个过滤器实现),如果你是使用 java 的,可以选择使用 spring security,参照官方的文档,配置一个简单的文件即可。复杂一点可以建立几个数据库表,用户表,权限表,资源表,用户-权限表,权限-资源表,权限组表,这样就可以实现一套很基础的权限系统了 19.SQL注入时为什么有时候没有回显,结合php说说? 设置了php.ini 为display_errors设置为off。同时设置error_reporting为E_ALL因此没有错误回显。 20.什么叫APT攻击? APT攻击,即高级可持续威胁攻击,也称为定向威胁攻击,指某组织对特定对象展开的持续有效的攻击活动。 一、以智能手机、平板电脑和USB等移动设备为目标和攻击对象继而入侵企业信息系统的方式。 二、社交工程的恶意邮件是许多APT攻击成功的关键因素之一,随着社交工程攻击手法的日益成熟,邮件几乎真假难辨。从一些受到APT攻击的大型企业可以发现,这些企业受到威胁的关键因素都与普通员工遭遇社交工程的恶意邮件有关。黑客刚一开始,就是针对某些特定员工发送钓鱼邮件,以此作为使用APT手法进行攻击的源头。 三、利用防火墙、服务器等系统漏洞继而获取访问企业网络的有效凭证信息是使用APT攻击的另一重要手段 21.NTP是什么? 【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。时间按NTP服务器的等级传播。按照离外部UTC源的远近把所有服务器归入不同的Stratum(层)中。 22.网页防篡改的原理是? 对web服务器上的目录文件监控,发现有容易更改及时恢复原状,防止来外部或内部的非授权人员对页面按的内容进行篡改和非法添加。其实现方式有两种:一是备份,发现比对不一致则覆盖,二是事件触发,由守护进程监控收保护文件的操作行为,如果改变则阻断操作;部署方式:简历单独的管理服务器,然后每台web服务器上装Agent程序,负责看护。 23.WAF安装位置? 如果有防火墙,则装在防火墙之后,若无则web服务器之前,web服务器和接入网之间为串行输入 祝大家都能找到自己满意的工作,除了上边这些我还整理了一些面试资料和笔记,以及面试需要注意的地方,需要的可以加我微信:yan1489609022 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 1:09:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |