Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >分享:安全服务工程师面试知识点大纲

分享:安全服务工程师面试知识点大纲

作者头像
一名白帽的成长史
发布于 2019-10-08 07:58:13
发布于 2019-10-08 07:58:13
3K0
举报

Hello,各位小伙伴大家好,这里是你们的小编Monster

今天分享的内容是最近面试中小编自己总结的(傲娇脸)一份知识点大纲。

我是根据这一份总结来进行复习的,现在分享给大家~

Part.0

目录

目录

一、使用指南

二、SQL注入

三、XSS注入

四、CSRF攻击

五、文件上传漏洞

六、文件解析漏洞

七、文件包含漏洞

八、命令执行漏洞

九、敏感信息泄漏

十、逻辑漏洞

十一、反序列化漏洞

十二、SSRF漏洞

十三、总结

Part.1

使用指南

使用指南

本篇内容仅仅为一个方便记忆的大纲,使用时需要自己去扩充大纲中的每一个点。

例如SQL注入的注入方法,我列举了报错注入、布尔盲注、时间盲注等等。。。

报错注入就需要自己去扩充,包含updatexml、extractvalue等等。

布尔盲注是当页面不显示查询内容,只反馈对错时使用的一种注入方式。

布尔盲注可以使用的函数很多,例如可以使用length函数来判断需要查询的内容的字符长度,使用substring函数来读取字符串的每一个字符,使用ascii函数来转换为相应的ascii值,最后通过布尔运算来判断字符的ascii值。

又比如时间盲注,当页面什么都不反馈时,使用sleep函数或者benchmark函数来进行判断:

if(ascii(substr(“hello”, 1, 1))=104,sleep(5), 1)

综上,本文只是提供一个复习思路,具体内容还需要大家自己去扩充。如果需要复习,记得去看小编以前的文章(链接已附在相应位置)。

接下来正式开始吧~

Part.2

SQL注入

SQL注入

(1)定义

攻击者利用web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系统有特殊意义的符号或命令。

通过将这些恶意命令拼接到正常的SQL执行语句中一并执行,达到对后台数据库系统直接下达命令的攻击方式,称为SQL注入。

(2)手段

  • 注入类型:数字型注入,字符型注入,模糊匹配
  • 注入方法:报错注入、联合查询注入、布尔盲注、时间盲注
  • sql server利用存储过程(xp_cmdshell)
  • 注入点:GET、POST、COOKIE、User-Agent、XFF、Referer等

(3)防护

  • 限制字符串输入的长度。
  • 使用预编译语句。
  • 输入过滤,检查变量的数据类型是否正确。
  • 过滤敏感字符,比如单引号、双引号。使用mysql_real_escape_string()等安全函数。
  • 最小权限原则,避免web应用直接使用root等最高权限直接连接数据库

(4)绕过

大小写绕过、编码绕过、注释符绕过、分隔与重写绕过、宽字节绕过等。

(5)二次注入

也称为存储型的注入,指攻击者将构造的恶意SQL语句成功存储到数据库中,在第二次访问时,服务器会查询数据库中已经存储的数据信息并处理,导致前面存储的恶意语句在服务器环境中被执行的一种攻击方式。

利用方式:绕过密码验证,修改用户密码

【SQL注入】SQL注入知识总结v1.0

Part.3

XSS攻击

XSS攻击

(1)定义

XSS全称Cross Site Script,跨站脚本攻击。通常指攻击者通过“HTML注入”篡改网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击手段 。

(2)手段

分类:哪三种,区别是什么

利用:网页挂马、盗取cookie、网页钓鱼、配合CSRF等完成攻击等

挖掘:利用字符编码、黑名单绕过、注入点分析(可能发生在HTML标签中、HTML属性中、在标签中、在事件中等)

(3)防护

  • 开启HttpOnly
  • 输入输出过滤:黑名单、白名单、电话邮件等符合格式要求、输入长度限制、使用安全编码函数对特殊字符进行转义,如htmlspecialchars()

(4)同源策略

为了避免出现网站A的cookie被网站B读取,浏览器引入了同源策略。必须满足以下三个条件,才能互相读取cookie值:

  • 协议相同
  • 域名相同
  • 端口相同

【XSS漏洞】XSS漏洞相关总结v1.0

Part.4

CSRF攻击

CSRF攻击

(1)定义

指利用受害者未失效的身份认证信息(cookie、session等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下,以受害人的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)的一种攻击行为。

(2)手段

使用短链接工具、将恶意连接插入到网页中标签、结合存储型XSS进行攻击。

(3)防护

  • token机制。在HTTP请求中进行token验证,如果请求中没有token或者token内容不正确,则认为CSRF攻击而拒绝该请求。
  • 验证码。通常情况下,验证码能够很好的遏制CSRF攻击,但是很多情况下,出于用户体验考虑,验证码只能作为一种辅助手段,而不是最主要的解决方案。
  • 源ip、referer识别,在HTTP Header中有字段Referer,它记录了HTTP请求的来源地址。

挂载恶意代码到网页:

【CSRF】通过DVWA教你学会CSRF攻击

Part.5

文件上传漏洞

文件上传漏洞

(1)定义

大多数网站都有文件上传的接口,如果没有对上传的文件类型做严格的限制,会导致攻击者可以上传恶意文件。(例如Webshell)利用这些恶意文件,攻击者可能获取到执行服务器端命令的能力。

(2)手段

前端绕过:上传图片后缀格式的恶意文件,burp抓包后修改后缀

后端绕过:Brup抓包,修改“Content-Type”字段为为“image/jpeg”

%00截断,仅存在于php < 5.3.4的版本中,且需要关闭magic_quotes_gpc

伪造合法的文件头,如GIF89a(gif文件头),需要配合文件包含漏洞

(3)防护

  • 判断文件类型。在判断文件类型的时候,可以结合使用MIME Type,后缀检查等方式。
  • 对上传的文件类型进行白名单、黑名单校验,只允许上传可靠类型。
  • 采用随机数重命名文件,使攻击者无法猜想上传文件的访问路径。
  • 限制上传文件的大小,避免恶意脚本,防止由于内存、磁盘耗尽而造成的拒绝服务攻击。
  • 将文件上传的目录设置为不可执行。

【文件上传与解析】文件上传与解析漏洞总结v1.0

Part.6

文件解析漏洞

文件解析漏洞

(1)定义

当服务器接收到一个HTTP请求的时候,web容器(如IIS、Apache)首先会根据文件的后缀名,来决定如何去处理这个请求。文件解析漏洞,就是利用中间件漏洞去解析原本不能解析的文件。

(2)Apache解析漏洞

Apache解析顺序为从右往左遍历,直到遇到一个可以解析的后缀为止。

运维人员在配置服务器时,通过AddHandler添加了如下配置文件,只要文件名中的任何位置有.php,就会被交给php_module解析。

(3)IIS 6.0

  • 利用特殊符号“;”,“;”号的功能类似于%00截断,上传webshell.asp;.jpg
  • 目录以“xxx.asp“格式命名,该目录下的所有类型的文件都会被当作asp文件来解析执行。

(4)IIS 7.5

当IIS 7.5在Fast-CGI运行模式下时,如果服务器开启了“cgi.fix_pathinfo”功能,当访问的路径不存在时,会进行修剪,上传/webshell.jpg/.php,.php会交给php解析。

(5)Nginx解析漏洞

对于任意文件,访问时在后面添加/任意文件名.php ,便可交给php进行解析。

开启cgi.fix_pathinfo功能,该功能默认开启。

修改配置文件security.limit_extensions为空,会把所有文件都以php格式解析。

(6)防护

版本升级、关闭相应规则。对上传文件做严格过滤。

【中间件】一些中间件的相关漏洞总结v1.0

Part.7

文件包含漏洞

文件包含漏洞

(1)定义

我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程就叫做包含。

以PHP为例,常用的文件包含函数有以下四种:

include(),require(),include_once(),require_once(),可将包含的任意文件当成php文件进行解析,读取敏感文件信息。

(2)分类

本地文件包含,远程文件包含(allow_url_include、allow_url_fopen状态为ON)

(3)利用

  • 读取本地敏感文件,文件解析。
  • %00截断,%00截断需要php版本小于5.3.4,且关闭magic_quotes_gpc。
  • 如果%00不可以截断,还可以尝试?截断,服务器会认为?后面为get传参。
  • 配合文件上传执行恶意脚本、包含Apache日志文件access.log、error.log
  • PHP伪协议

(4)防护

  • 使用str_replace等方法过滤掉敏感字符
  • 配置open_basedir,防止目录遍历
  • php版本升级,防止%00截断
  • 对上传的文件进行重命名,防止被包含
  • 对于需要动态包含的文件可以设置一个白名单,不读取非白名单的文件

【文件包含】文件包含漏洞知识总结v1.0

Part.8

命令执行漏洞

命令执行漏洞

(1)定义

网页有时候需要调用一些执行系统命令的函数,如php中的system、exec等。一旦用户能够控制这些函数中的参数时,且输入没有被过滤,就能够将恶意系统命令拼接到正常命令中,从而造成命令执行攻击。

(2)手段

常见函数:system、exec、shell_exec、passthru

区别是?

(3)分隔符

  • 管道符:| ||
  • and符:& &&
  • linux系统还可以使用;符进行分隔

以上方法的区别是?

(4)防护

  • 对传入的命令进行严格过滤,检查数据类型
  • 在后台对应用的权限进行控制
  • 使用安全函数:EscapeShellCmd()函数、EscapeShellArg()函数

【命令执行】命令执行漏洞总结v1.0

Part.9

敏感信息泄漏

敏感信息泄漏

  • 默认账号未删除,导致第三方登陆
  • 后台对公开放,未做权限设置
  • debug等报错信息
  • Git泄漏(可以访问.git目录)、开发人员使用git进行版本控制,可能泄漏源码
  • SVN泄漏(可以访问.svn目录),版本控制器,可能泄漏源码
  • 目录遍历、目录穿越

Part.10

逻辑漏洞

逻辑漏洞

(1)定义

验证机制问题、会话管理问题、权限控制问题、业务逻辑问题

  • 验证机制:暴力破解、弱口令攻击、密码重置
  • 会话管理:令牌有含义、令牌可预测、令牌可获取(URL中明文传输)、令牌不失效
  • 权限控制:未授权访问、越权操作(水平越权、垂直越权)
  • 业务逻辑:支付逻辑问题、重放攻击

(2)防护

验证码设置失效时间,设置多次输入错误锁定账户,提高用户密码强度。

未授权访问:修改后台名称进行隐藏,检查权限跳转到登陆界面,设置允许访问IP地址。

越权:通过合理的会话管理机制,识别用户及用户权限

Part.11

反序列化漏洞

反序列化漏洞

(1)定义

序列化是指为了方便存储和传输,将对象的状态信息转换为可存储与传输的形式的过程。

反序列化指将可存储或传输的形式(二进制、XMLJSON)恢复为对象的过程。

反序列化漏洞是指 应用程序对于用户输入的不可信数据进行了反序列化处理,使反序列化生成了非预期的对象,而在非预期对象产生的过程中,可能产生攻击行为的一种漏洞。

(2)涉及函数

PHP:serialize、unserialize

JAVA:XMLEncoder、XMLDecoder;WriteObject、readObject

Part.12

SSRF漏洞

SSRF漏洞

(1)定义

原理:SSRF 全称服务器端请求伪造,是一种由攻击者构造形成的由服务端发起请求的安全漏洞。主要攻击目标为无法直接访问的内部系统,由此利用服务端发起攻击。

产生原因:服务端提供了从其他服务器应用获取数据的功能,但并没有对输入做限制。

(2)手段

作用:从指定URL获取网页文本内容,加载指定地址图片,文件下载等。

(3)防护

限制不能访问内网的ip,以防止对内网进行攻击

屏蔽内网返回的详细信息。

Part.13

总结

总结

经过多家面试,面试官爱问的问题大致如下:

渗透测试的基本流程、SQL注入原理、XSS攻击原理、CSRF攻击原理、各类提权方法、内网渗透、各类中间件漏洞、常见服务端口号等等。

面试时一定要把简历上写了的内容完全搞懂,简历上没写的知识点回答不上不会特别严重,但写了的知识点也答不上就会非常丢分!

Part.14

结语

以上就是今天的全部内容了~

不知不觉中已经是本公众号的第26篇文章了,感谢大家一路的陪伴与鼓励。

小编也终于入门成长为了一名新手白帽,但是安全这门技术要学的东西实在是太多了,今后也会继续和大家分享、交流。

Peace!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名白帽的成长史 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
渗透测试常见点大全分析
select username from security.user where id=1 and (extractvalue(‘anything’,concat(‘/’,(select database()))))
天钧
2019/11/28
1.3K0
渗透测试常见点大全分析
比较全的网络安全面试题总结
单引号引起数据库报错 访问错误参数或错误路径 探针类文件如phpinfo 扫描开发未删除的测试文件 google hacking phpmyadmin报路径:/phpmyadmin/libraries/lect_lang.lib.php利用漏洞读取配置文件找路径 恶意使用网站功能,如本地图片读取功能读取不存在图片,上传点上传不能正常导入的文件
黑战士
2022/07/20
2.1K0
渗透知识总结
web应用程序没有对输入的数据进行安全过滤,或者过滤不全面,导致攻击者通过将恶意的SQL语句插入到应用的输入参数中,再在后台SQL服务器上解析执行进行的攻击。
LuckySec
2022/11/02
2.6K0
Web常见漏洞分析及测试方式
  2.互联网上被脱裤后的账号密码(撞库),人们为了方便记忆很多网站使用相同的账号密码
顾翔
2020/12/01
1.6K0
Web常见漏洞分析及测试方式
干货|超详细的常见漏洞原理笔记总结
sql注入是就是通过把SQL语句插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
网络安全自修室
2022/12/06
2K0
干货|超详细的常见漏洞原理笔记总结
hw面试题解答版(2)
2.可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。对于不同 XML 解析器,对外部实体有不同处理规则,在 PHP 中默认处理的函数为: xml_parse 和 simplexml_load xml_parse 的实现方式为 expat 库,默认情况不会解析外部实体,而 simplexml_load 默认情况下会解析外部实体,造成安全威胁.除 PHP 外,在 Java,Python 等处理 xml 的组件及函数中都可能存在此问题
红队蓝军
2022/05/30
1.1K0
hw面试题解答版(2)
web渗透测试学习路线[通俗易懂]
本文整理的学习路线,清晰明了,重点分明,能快速上手实践,相信想学的同学们都能轻松学完。都是干货啦,先收藏⭐再看吧。本文偏基础能让萌新们快速摸到渗透测试的门道,少走弯路,也能让正在学习的小伙伴们查漏补缺,也欢迎大佬们在评论区指正错误~ 这里附上我之前学习的路线图
全栈程序员站长
2022/09/10
2.3K0
web渗透测试学习路线[通俗易懂]
面试题分享
今天又折腾了一下博客,想着慢慢积累知识并定期分享出来,当然也是监督自己时刻都在学习,然后现在把之前面试中遇到的问题归纳了一下,各位大佬肯定觉得很简单,但也是对我早期学习经历的一次总结吧。
T1Am0
2022/09/13
4780
漏洞库(值得收藏)
SQL注入漏洞 风险等级:高危 漏洞描述: SQL注入漏洞产生的原因是网站应用程序在编写时未对用户提交至服务器的数据进行合法性校验,即没有进行有效地特殊字符过滤,导致网站服务器存在安全风险,这就是SQL Injection,即SQL注入漏洞。 漏洞危害: 机密数据被窃取; 核心业务数据被篡改; 网页被篡改; 数据库所在服务器被攻击从而变为傀儡主机,导致局域网(内网)被入侵。 修复建议: 在网页代码中对用户输入的数据进行严格过滤;(代码层) 部署Web应用防火墙;(设备层) 对数据库操作进行监控。(
勤奋的思远
2021/03/03
3.9K0
漏洞库(值得收藏)
渗透测试面试问题合集
b、端口,弱口令,目录等扫描,对响应的端口进行漏洞探测,比如 rsync,心zang出血,mysql,ftp,ssh弱口令等。
行云博客
2022/05/11
2.7K0
渗透测试面试问题2019版,内含大量渗透技巧
https://github.com/Mr-xn/BurpSuite-collections/blob/master/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%E9%9D%A2%E8%AF%95%E9%97%AE%E9%A2%982019%E7%89%88.md
Power7089
2019/08/20
11K0
web安全常见漏洞_web漏洞挖掘
检测 抓去a用户功能链接,然后登录b用户对此链接进行访问 抓去a用户功能链接,修改id为b的id,查看是否能看b的相关数据 替换不同的cookie进行测试查看
全栈程序员站长
2022/11/06
1.5K0
面试准备
通过在用户可控参数中注入 SQL 语法,破坏原有 SQL 结构,达到编写程序时意料之外结果的攻击行为。其成因可以归结为以下两个原因叠加造成的:
yulate
2023/05/02
6210
面试准备
ctf之Web
CTF在线工具-CTF工具|CTF编码|CTF密码学|CTF加解密|程序员工具|在线编解码 (hiencode.com)
故里[TRUE]
2023/04/12
2K0
渗透攻防怎么搞,我想简单说上两句。
此部分学习Java代码审计基础所涉及的知识点,不仅学习了Java代码基础,还为后续拓展学习Java代码审计打下了基础。
用户1631416
2022/12/08
1.1K0
程序员必备基础:10种常见安全漏洞浅析
我们日常开发中,很多小伙伴容易忽视安全漏洞问题,认为只要正常实现业务逻辑就可以了。其实,安全性才是最重要的。本文将跟大家一起学习常见的安全漏洞问题,希望对大家有帮助哈。如果本文有什么错误的话,希望大家提出哈,感谢感谢~
捡田螺的小男孩
2021/05/11
8930
程序员必备基础:10种常见安全漏洞浅析
HW干货集合 | HW面试题记录
整理最近护网面试问的问题 年度HVV又到了,今年我也是第一次投简历,投的是蓝队,秉承着广泛撒网的精神?,也是投了很多家,至今面了也有四五次了,就想把面过的一些题记录下来,可能因为大佬们都已经被招了,所
HACK学习
2021/03/19
3.2K0
实战技巧 | 知其代码方可审计
终于来到了代码审计篇章。希望看了朋友有所收获,我们通常把代码审计分为黑盒和白盒,我们一般结合起来用。
辞令
2020/09/17
1.7K0
实战技巧 | 知其代码方可审计
记录一次求职面试经历
其实做我们这个行业,求职面试的时候会想,技术面试会问我们什么技术问题?答不上来怎么办?然后会纷纷求助自己的朋友,请教他当时是怎么面试的。问的什么技术问题,我们好提前有个准备。
用户6343818
2020/06/23
8650
常见Web安全漏洞类型
为了对Web安全有个整体的认识,整理一下常见的Web安全漏洞类型,主要参考于OWASP组织历年来所研究发布的项目文档。
BUG弄潮儿
2020/06/12
4.9K0
相关推荐
渗透测试常见点大全分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文