参考文献:《Web安全基础教程》佟晖 北京师范大学出版社 (课本)
《Web安全防护指南:基础版》蔡晶晶 机械工业出版社(黄皮书)
《web应用安全》复习提纲
自用,供参考
目录
2、web入侵的途径,什么是C段渗透(P4)
4. HTTP协议详解:HTTP特点、URL、HTTP请求详细、HTTP响应详细。
5、 HTTPS协议详解:HTTP存在问题,HTTPS作用、优势,HTTPS如何解决HTTP存在的安全问题,HTTP 与 HTTPS 的区别。 (HTTPS的PPT)
9、SQL注入原理、类型。Sqlmap常用参数及含义。SQL注入点的判断。
10、 什么是上传漏洞。IIS解析漏洞产生原因(如字符截断文件名产生的漏洞)。绕过服务器端检测的常用方法,白名单过滤与黑名单过滤的过滤方式。 (P54)
11、什么是XSS跨站脚本攻击,XSS攻击的原理,XSS的类型有哪三种。 (黄皮书P24)
13、ping命令的使用。 15
14、常用的一句话木马(语法格式、参数含义) 15
16、 什么是CSRF漏洞 它与XSS攻击的异同 (P100)
17、 什么是暴力破解 BurpSuite用于暴力破解的设置与过程。(P110)
20、一个完整的渗透过程包含哪几个步骤。(针对目标和任务,能够进行分析,给出完整的渗透方案。)
21、 什么是社会工程学 如何有效预防社会工程攻击 (P154)
黑客:曾指热心于计算机技术、水平高超的计算机专家,尤其是程序设计人员。
现在:发现系统漏洞后,会利用攻击技术窃取网站信息,滥用资源,恶意攻击,蓄意破坏。
主要目的:入侵系统,找到有价值的数据,通常有黑色产业链,以此非法获得利益。
白客(白帽子):是正面的黑客。白客检测到系统漏洞后,不会恶意利用漏洞、窃取系统数据,而是公布漏洞,提醒网站管理员及时修复,防止网站被其他人攻击
灰客:与白帽子相似。灰帽子擅长攻击技术,精通攻击与防御,但不轻易造成破坏。希望通过黑客行为来警告系统管理员网络或系统存在漏洞,以达到警示作用。
- web入侵的途径,什么是C段渗透(P4)
C段渗透:攻击者通过渗透同一网段内的主机对目标主机进行ARP等手段的渗透。
社会工程学
Services:直接利用应用服务存在的漏洞(如溢出)
补充:攻击者利用Web漏洞攻击网站
Web是互联网上的一种服务,使用超文本技术将遍布全球的信息资源链接起来,以便用户浏览。
包含多样信息资源格式:文本、多媒体、数据库、应用程序
资源彼此通过链接连起来在逻辑上形成一个巨大的“信息网络”
安全的三要素是什么。(P8)
机密性
保护数据内容不泄露 常见手段:加密
完整性
保证数据内容完整,没有被篡改 常见的技术手段:数字签名
可用性
在某个考察时间,系统能够正常运作的概率或时间占有率期望值。
要求保护资源是“随需而得”
HTTP是一个明文传输的面向对象的应用层协议,并基于TCP/IP协议的连接方式。适用于分布式超媒体信息系统
HTTP特点 (P15)
1.支持C/S模式
2.简单快速 只需传送请求方法和路径
3.灵活 允许传送任意类型的数据对象
4.无连接 每次只处理一个请求
5.无状态 对事物处理无记忆能力
URL (黄皮书P11)
一种特殊类型的URI,包含了用于查找某个资源的足够信息
作为用户请求服务器内容的主要凭证,服务器根据用户的URL请求判断相应方式
HTTP请求详细 (黄皮书P6)
HTTP请求由三部分组成:
请求行
以一个方法符号开头,空格分开,后跟着URI 和协议版本
用来告知Web服务器本次请求的主要目的
请求方法:
GET 请求获取URI标识的资源
POST 在URI标识的资源后附加新数据,常用于提交表单 (如文本框输入数据)
HEAD 请求获取由URI标识的资源的响应消息报头 (测试超链接是否可访问)
补充:GET与POST最大区别:提交参数在HTTP请求包位置不同
两者安全性一致,均可能因链路劫持而出现参数泄露
链路劫持:由HTTP协议本身特点所决定,与请求方法无关
消息报头
用来向服务端传递客户端自身信息和用户的附加信息
Host(必须存在):指定被请求资源的Internet主机和端口号,即标识请求目标。 缺省端口为80.
Accept: Accept请求报头域用于指定客户端接受哪些类型的信息。
eg:Accept:image/gif,表明客户端希望接受GIF图象格式的资源;
User-Agent(简称UA)允许客户端将它的操作系统、浏览器和其它属性告诉服务器。
UA也经常被web服务器用于统计当前用户状态及行为
Accept-Charset:指定客户端接受的字符集
Accept-Encoding:指定可接受的内容编码。未设置该域表示服务器假定客户端对各种内容编码都可以接受。
Accept-Language:指定一种自然语言。未设置该域表示服务器假定客户端对各种语音都可以接受。
Authorization:证明客户端有权查看某个资源。如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。
请求正文
请求正文包含HTTP传输信息
当请求方法为GET:请求正文为空,所有内容通过在URL后添加参数进行传输。
当请求方法为POST:请求正文才有内容,用来实现与服务器交互,参数由Web系统自定义。
HTTP响应详细 (黄皮书P9)
HTTP响应由三部分组成:响应行 响应消息报头 响应正文
响应行
基本格式:
服务状态码 由三位数组成,第一个数定义响应类别 且有五种可能取值:
1xx:提示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
之后两位利用不同数字代表当前服务的状态
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
响应消息报头
响应报头允许服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的信息。
常用的响应报头
Location用于重定向接受者到一个新的位置。常用在更换域名的时候。
Server 包含了服务器用来处理请求的软件信息。与User-Agent请求报头域是相对应的。
WWW-Authenticate
必须被包含在401(未授权的)响应消息中,客户端收到401响应消息时候,并发送Authorization报头域请求服务器对其进行验证时,服务端响应报头就包含该报头域。
eg:WWW-Authenticate:Basic realm="Basic Auth Test!" //可以看出服务器对请求资源采用的是基本验证机制。
响应正文
相对于请求包中的正文内容,响应包中的内容会携带当前页面的源码。客户端浏览器可根据响应包中的源码显示出完整的页面。
HTTPS是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,并非应用层新协议,现广泛应用与万维网安全敏感的通讯。
HTTP存在问题
通信使用明文(不加密),内容可能被窃听
无法证明报文的完整性,所以可能遭篡改
不验证通信方的身份,因此有可能遭遇伪装
HTTPS作用
(1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全;
(2)对网站服务器进行真实身份认证。
优势
数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥
数据完整性:内容传输经过完整性校验
身份认证:第三方无法伪造服务端(客户端)身份
HTTPS如何解决HTTP存在的安全问题
HTTPS采用对称和非对称加密两者并用的混合加密机制解决HTTP信息可能被窃听的可能
HTTPS采用校验数字签名来确保数据完整性解决HTTP报文可能遭篡改问题
HTTPS采用数字证书来进行身份验证解决HTTP不对通信方进行身份验证造成的通信方身份被伪装问题
HTTP 与 HTTPS 的区别
HTTP 是明文传输协议,HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。
HTTPS比HTTP更加安全,对搜索引擎更友好,利于SEO,谷歌、百度优先索引HTTPS网页;
HTTPS需要用到SSL证书,而HTTP不用;
HTTPS标准端口443,HTTP标准端口80;
HTTPS基于传输层,HTTP基于应用层;
HTTPS在浏览器显示绿色安全锁,HTTP没有显示
定义
利用Google搜索引擎搜索信息来进行入侵的技术和行为,
现指利用各种搜索引擎搜索信息来进行入侵的技术和行为
补充:搜索Web信息
Web信息搜集建立在IP、域名及端口所搜集的数据之上。每个IP及域名对外开放的端口都可能搭建了Web服务
语法
搜索Web信息:(P21)
site: 指定域名
intext: 正文中存在关键字的网页
intitle 标题中存在关键字的网页
info 一些基本信息
inurl URL存在关键字的网页
filetype 搜索指定文件类型
补充:
通配符
+ 强制包含某个字符进行查询
- 查询时忽略某个字符
"" 查询时精确匹配双引号内的字符
. 匹配某单个字符进行查询
* 匹配任意字符进行查询
| 或者逗号(,)多个选择,只要有一个关键字匹配即可
-sP参数是Ping扫描,Nmap在扫描端口时默认使用Ping扫描,只有主机存活,Nmap才会进行扫描
-sA参数是用来穿过防火墙的规则集。
-v参数是指显示扫描过程。
-p参数是指定端口,如1-65536、1433、135、80等。
-○参数是启用远程操作系统检测,存在误报的情况。
-oN/-oX/-oG参数是指将报告写入文件,分别是正常、XML、grepable三种格式。
-iL参数是读取主机列表,例如,-iL c:lin.txL
-r: 不进行端口随机打乱的操作(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到)
-sn : 只进行主机发现,不进行端口扫描
-sT参数是TCP connect扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。
-sS参数是半开扫描,使用时需要root权限,很少有系统将其记入系统日志。
-sU参数是UDP扫描,此扫描不可靠。
-sV参数是探测端口服务版本。
-Pn参数是指扫描之前不需要 Ping命令,有些防火墙禁止用Ping命令。可以使用此参数进行扫描。
-h参数是指帮助选项。
-A参数是指全面系统检测、启用脚本检测、扫描等。
-T4参数是指针对 TCP端口禁止动态扫描延迟超过10ms 。
--ttl <val>: 设置 time-to-live 时间
--badsum: 使用错误的 checksum 来发送数据包(正常情况下,该类数据包被抛弃,如果收到回复,说明回复来自防火墙或 IDS/IPS)
--dns-servers : 指定DNS服务器
--system-dns : 指定使用系统的DNS服务器
补充:
Nmap命令为namp -p 1-65535 -v 192.168.10.1
nmap –iflist : 查看本地主机的接口信息和路由信息
Nmap定义: Linux下的网络扫描和嗅探工具包,用于扫描网上计算机开放的网络连接端,确定服务运行连接端,并可推断计算机上运行的操作系统。是网络管理员必用软件之一,用来评估网络系统安全。
Nmap有三个基本功能
探测主机是否在线
扫描主机端口,嗅探所提供的网络服务
推断主机所用的操作系统
常用的漏洞检测工具有WVS 、 AppScan
WVS (P32)
wVS(Web Vulnerability Scanner)是一个自动化的Web应用程序安全测试工具,可于扫描任何通过Web浏览器访问和遵循HTTP/HTTPS 规则的Web站点和Web应用程序
wVS的主要特点:
自动的客户端脚本分析器,允许对 Ajax和 Web2.0应用程序进行安全性测试
高级渗透测试工具,例如 HTTP Editor和 HTTP Fuzzer。
可视化宏记录器帮助用户轻松测试Web表格和受密码保护的区域。
支持含有 CAPTHCA 的页面,单个开始指令和 Two Factor(双因素)验证机制丰富的报告功 能,包括 VISA PCI依从性报告。
高速的多线程扫描器轻松检索成千上万个页面。
智能爬行程序检测 Web服务器类型和应用程序语言。
Acunetix检索并分析网站,包括flash 内容、SOAP 和 Ajax。
端口扫描 Web服务器并对在服务器上运行的网络服务执行安全检查。
可导出网站漏洞文件。
AppScan (P37)
AppScan是一款Web应用安全测试工具,IBM Security AppScan可自动化进行Web应用的安全漏洞评估工作,能扫描和检测常见的Web应用安全漏洞,例如,SQL注入(SQLinjection)、跨站点脚本攻击(cross-site scripting)、缓冲区溢出(buffer overflow)等漏洞。
- SQL注入原理、类型。Sqlmap常用参数及含义。SQL注入点的判断。
补充:
SQL注入定义:
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入后台数据库引擎执行的能力,可以通过在Web表单中输入(恶意)SQL语句获取一个存在安全漏洞的网站上的数据库权限,而不是按照设计者意图去执行SQL语句。
SQL注入产生的原因:用户提交参数的合法性
SQL注入原理 (P45)
用-句话概括就是:程序未对用户提交的参数进行过滤,导致提交的特殊语句可被SQL解释器执行。
补充:SQL注入本质:修改当前查询语句结构,从而获得额外的信息或执行内容
count()函数: 返回匹配指定条件的行数。
or:or前后若有一一个为真,则为真。
--:SQL中的注释,“--”后的语句无效,“_”后面必须有空格。
SQL注入类型 (P45)
SQL注入可按数据类型和请求类型进行分类。
按照数据类型可分为:数字型和字符型注入。
按照请求类型可分为: GET注入、POST注入、Cookie 注入。
按照前台数据回显情况:回显注入、盲注(服务器不返回查询结果到页面显示(黄皮书P72)
补充:输入的参数为整数时为数字型注入
数字型注入多出现在ASP、PHP等弱类型语音中,弱类型语言会自动推导变量类型(弱语言特性)
输入的参数为字符串时为字符型注入
只要是字符型注入,必须闭合单引号和注释掉多余的代码
字符型注入与数字型注入区别:字符型注入需闭合单引号,数字型不用
Sqlmap常用参数及含义
--current-user:检索数据库管理系统当前用户。
--current-db:检索数据库管理系统当前数据库。
--columns:枚举DBMS 数据库表列。
--dump:转储数据库管理系统的数据库中的表项。
--dbms=DBMS:强制后端的DBMS为此值。
--tables:枚举的DBMS 数据库中的表。
-D DB:要进行枚举的数据库名。
-T TBL:要进行枚举的数据库表。
-C COL:要进行枚举的数据库列。
-p TESTPARAMETER:可测试的参数。
--level=LEVEL:执行测试的等级(1~5,默认为1)。
--version:显示程序的版本号并退出。
补充:
SQL注入最终目的:获取目标站点的系统控制权限
手工注入思路:查找注入点->查库名->查表名->查字段名->查重点数据
sqlmap -u 网页的url/?id=1
sqlmap -u 网页url --dbs -- 代表查询未知 dbs databases
sqlmap -u 网页url -D 指定的数据库名称 --tables
sqlmap -u 网页url -D 指定的数据库名称 -T 指定的数据表名 --columns
sqlmap -u 网页url -D 指定的数据库名称 -T 指定的数据表名 -C 指定的数据项名 --dump
SQL注入点的判断 (黄皮书P70、73)
1.在手工注入时,基本方法:在参数后加单引号,观察其返回页面的内容
由于添加的单引号会导致SQL语句执行错误,因此若存在SQL注入漏洞,当前页面会报错或出现查询内容不显示
恒真:在URL后添加’and’1’=’1并提交
恒假:在URL后添加’and’1’=’2并提交
测试目的:确定用户输入参数可改变服务端查询语句结构
若执行成功,说明存在SQL注入
4.如果Web服务器关闭了错误回显或根本没有显示任何查询结构,通过判断返回时间等手段,并观察服务器动态等,确认注入漏洞是否存在。 ------盲注
补充:例子
指用户上传一个可执行的脚本文件,并通过此脚本文件获得执行服务端命令的能力。
这种攻击最直接和有效
IIS解析漏洞产生原因(如字符截断文件名产生的漏洞)。
- 在IIS和Windows环境下:通过字符截断文件名的漏洞,截断符号为分号“;”
2.处理文件夹扩展名出错导致将/*.asp/目录下的所有文件都作为ASP文件进行解析。
补充:IIS解析漏洞是中间间解析漏洞
注意:者两个IIS的漏洞需要在服务器的本地硬盘上确实存在这样的文件或者文件夹才能触发,若只通过Web应用映射出的URL是无法触发的。
绕过服务器端检测的常用方法
1白名单与黑名单验证
- MIME验证
MIME类型用来设定某中扩展名文件的打开方式,当具有该扩展名的文件被访问时,浏览器会自动使用指定的应用程序来打开
指定目录存在:写入该目录下,目录不存在:建立目录再写入
4.截断上传攻击
补充:上传漏洞配合解析漏洞可绕过大多数上传验证
白名单过滤与黑名单过滤的过滤方式
验证文件扩展名的两种方式:白名单与黑名单
一种不安全的方式
定义一系列不安全的扩展名
服务端在接收文件后与黑名单的扩展名对比,若匹配则不合法
补充:绕过黑名单检测
- 从黑名单找出忽略的扩展名
- 利用Windows系统下文件名为“.”或空格结尾,系统会自动去除“.”或空格的特性
- 服务端未对接收到的文件扩展名进行大小写转换操作,意味着可上传ASP、PHP这样的扩展名
定义允许上传的扩展名
白名单比黑名单有更还的防御机制
补充:白名单并不能完全防御上传漏洞
白名单仅仅是预防上传漏洞的第一步
攻击者利用网站程序对用户输入过滤不足的缺陷,输入可以显示在页面上对其他用户才、造成影响的HTML、javaScript代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。
补充:XSS攻击也叫HTML注入攻击 主要影响客户端安全
本质:一种将恶意脚本嵌入到当前网页中并执行的攻击方式
XSS攻击的原理
黑客通过“HTML注入”行为篡改网页,并插入恶意JavaScript脚本,从而在用户浏览网页的时候控制浏览器行为。
补充:XSS攻击涉及三方面:攻击者、被攻击者、存在漏洞的网站
网站只是攻击者进行攻击的一个载体,只有被攻击者会实际运行攻击者的代码
XSS的类型有哪三种
存储型跨站攻击
又称持久型跨站漏洞 论坛发帖或评论 可直接产生大范围危害
涉及浏览器--服务器交互
反射型跨站攻击
又称非持久型跨站漏洞 电子邮件 需要欺骗用户自己点击链接才能触发XSS
涉及浏览器--服务器--数据库交互
DOM型跨站攻击
涉及浏览器--服务器交互
开发人员未针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句,并交由服务端执行
补充:特殊函数如system()、eval()、exec()
- ping命令的使用。
Ping本地局部网内主机IP地址
为了检查本机的IP地址是否设置有误
Ping本网关或本网IP地址
为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常
Ping远程IP地址
为了检查本网或本机与外部的连接是否正常
14、常用的一句话木马(语法格式、参数含义) (黄皮书P130)
<?php @eval($_POST[value]);?>
<? 脚本语言开始标记
@eval 执行后面请求列的数据
$_POST[value] 获取客户端提交的数据 value为一个参数
?> 脚本语言结束标记
当PHP函数引进文件时,没有合理校验传入的文件名,从而操作了预想之外的文件,导致意外文件泄露甚至恶意代码注入。
补充:文件包含漏洞是代码注入的一种
原理:注入一段用户能控制的脚本或代码,并让服务器以某种方式执行用户传入参数。
跨站请求伪造
是一种常见的Web攻击,攻击方式主要由攻击者诱导用户点击看似无害的网站链接,一旦用户中招,即可在用户未知的情况下执行某些敏感操作
补充:CSRF主要通过伪装来自受信任用户的请求进行攻击
是攻击者可伪造当前用户的行为让目标服务误以为请求是由当前用户发起,并利用当前用户权限实现业务请求伪造。
CSRF与XSS攻击的异同 (P100、黄皮书P53)
XSS侧重于获取用户权限及信息,迫使用户访问特定URL
CSRF侧重于伪造特定用户的请求,迫使用户执行JavaScript代码
补充:
相同点:都是在页面中嵌入特殊部分引诱或强制用户操作从而达到破坏等目的
组成密码的数字、大小写字母、特殊符号的排列组合,即密码字典来进行暴力破解尝试。
BurpSuite用于暴力破解的设置与过程
Proxy
Proxy模块是 Burp Suite的核心模块,主要用于拦截HTTP请求及响应,在拦截 HTTP请求之前需要对浏览器的代理进行设置。Burp Suite默认的配置信息在Options标签页
第一步:查看 Burp Suite监听的端口
第二步:浏览器设置HTTP代理为Burp Suite监听的端口
第三步:Proxy的简单应用。
Proxy的 Intercept标签页中对应有4个选项按钮,下面分别讲解。
Forward:将当前Proxy拦截到的数据包进行转发。
Drop:将当前Proxy拦截到的数据包进行丢弃。
Intercept is on:单击之后,将会关闭 Burp Suite的拦截功能。但是所有HTTP请求都还是经过Burp Suite,可以在HTTP history标签页看到。
Action:可进行其他更多的操作,发送到 Intruder等其他 Burp Suite模块,以便进行重复测试或者暴力破解。
第四步:单击Forward按钮之后,在HTTP history中将会记录下这个HTTP请求以及请求对应的响应,如图11-5所示。
上面4个步骤讲解了Burp Suite中的Porxy模块常见的用法。
Options签页可用于设置或者查看Burp Suite监听的ip以及端口情况;Intercept标签页用于对一个HTTP请求进行操作;HTTP history标签页用于记录下经过Burp Suite的HTTP请求已经返回的HTTP响应
Intruder
Intruder模块是Burp Suite用来进行模糊测试时常用的一个模块。暴力破解也属于模糊测试中的一种。下面介绍 Intruder的常见用法。
第一步:清除所有的变量标记,为之后设定需要的变量标记做准备
第二步:设置变量标记,选定password 的内容进行标记
第三步:为变量设置Payload类型,根据不同类型的 Payload进行不同的设置,常见是Simple list,表示的是列表类型,密码字典使用的就是列表类型。
第四步:设置完毕之后,即可在Intruder菜单中选择Start attack命令,让 Intruder进行t破解的尝试
旁注攻击 (P124)
攻击者在攻击目标网站时,对目标网站无从下手,在找不到漏洞的情况下,攻击者肯通过同一服务器的其他网站渗透到目标网站,从而获取目标网站的权限,这一过程就是旁注攻击
IP逆向查询 (P124)
在无法直接准确地知道服务器到底部署了多少网站的情况下,可使用模糊查询的方式获取与目标网站同属于同一服务器的其他网站。
许多网站(如站长工具)提供基于IP到网站的逆向查询,通过这类网站即可获取与目标网址同属于同一服务器的其他网站
补充:
IP逆向查询指的是通过IP地址获取目标计算机的物理位置、网络运营商等信息的过程。
目录越权 (P125)
正常情况下,每个Web应用程序都存在与一个单独的目录中,各个程序之间互不干扰、相互独立。目录权限没分配好就会存在目录越权的风险
补充:
攻击者利用程序设计上的缺陷,通过使用“..”或其他特殊符号来访问程序目录以外的文件或目录,进而获取敏感信息或执行恶意操作。
提权是指将服务器普通用户提升到管理员用户的一种操作
补充:
提权常用于辅助旁注攻击
获得管理员权限后几乎可以对服务器进行任何操作
因此旁注攻击关键在于服务器提权成功与否
提权有哪两种。
溢出提权
指攻击者利用系统本身或者系统中软件的漏洞来获取root权限
分为远程溢出和本地溢出
远程溢出:攻击者只需与服务器建立连接后根据系统漏洞使用相应溢出程序即可获取root权限
本地溢出:攻击者需要有一个服务器用户且需要有执行权限的用户才能发起提权
攻击者常会向服务器上传本地溢出程序,在服务端执行,若服务器存在漏洞将会溢出root权限 主流的一种提权方式
第三方组件提权
服务器运行时可能需要很多组件支持,攻击者通过此类组件进行提权操作
- 一个完整的渗透过程包含哪几个步骤。(针对目标和任务,能够进行分析,给出完整的渗透方案。) (P140)
信息搜集
漏洞扫描
手工测试
漏洞利用及GetSell
提权
补充:
八个步骤
一、明确目标
1.确定范围:测试目标的范畴、ip、网站域名、内外网、检测帐户。
2.确定标准:能渗入到何种程度,所花费的时间、能不能改动提交、能不能漏洞利用、这些。
3.确定要求:web应用的漏洞、业务逻辑漏洞、工作人员管理权限管理漏洞、这些。
二、信息收集
2.开放搜索:使用百度搜索引擎得到:后台管理、未经授权网页页面、比较敏感url、这些。
4.应用信息:各端口号的应用。比如web应用、电子邮件运用、这些。
5.系统数据:操作系统版本
6.版本信息:这所有的一切探测到的东西了版本。
7.服务信息:消息中间件的各种信息内容,软件信息内容。
8.人员信息:注册域名人员信息,web应用中发帖人的cd,管理人员名字等。
三、漏洞探测
1.系统漏洞:系统软件未能及时修复漏洞
2.WebSever漏洞:WebSever配备难题
3.Web应用漏洞:Web应用开发设计难题
4.其他端口号服务项目漏洞:各种各样21/8080(st2)/7001/22/3389
四、漏洞验证
1.自动化技术验证:融合自动化技术漏洞扫描工具所提供的结论
2.手工制作验证,依据公布数据进行验证
3.实验验证:自己建模拟环境开展验证
4.登陆猜解:有时候可以试着猜解一下登录口的账户密码等相关信息
五、信息分析
1.精确化:备好上一步检测过的系统漏洞的exp,用于精确化;
2.绕开自我防御机制:是否存在网络防火墙等设施,怎样绕开;
3.订制进攻途径:最好专用工具途径,依据欠缺通道,高内部网管理权限部位,终极目标;
4.绕开检验体制:是否存在检验体制,流量管理,电脑杀毒软件,恶意程序检查等;
5.进攻编码:通过实验得到的编码,包括不限于xss编码,sql注入句子等;
六、获取所需
1.获取内部文件:基础设施建设(数据连接,vpn,路由器,拓扑结构等);
3.延续性存有:rookit,侧门,加上管理方法账户,驻守技巧等;
4.清除历史记录:清除有关日志(浏览,实际操作),上传文件等;
七、信息整理
1.梳理渗入专用工具:梳理渗入环节中需要用到的编码,poc,exp等
3.梳理系统漏洞信息内容:梳理渗入过程中出现的各类系统漏洞,各种各样敏感定位信息
八、形成报告
1.根据需求梳理:依照以前第一步跟客户确认好的范畴,情况来整理资料,并把材料形成报告
2.填补详细介绍:需要对系统漏洞形成原因,认证流程和产生伤害展开分析
3.修复提议:肯定要对每一个所产生的难题明确提出有效高效率安全解决方案
操纵他人采取特定行动或者泄露机密信息的行为。
与骗局或者欺骗类似
达到搜集信息、欺诈、访问计算机系统的目的
大部分情况下攻击者与受害者不会有面对面的接触
如何有效预防社会工程攻击 (P157)
学会识别社会工程攻击
创建具有安全意识的文化
充分利用信息的价值
及时更新软件
编制参考指南
补充:
实施访问控制
限制员工访问敏感信息的权限,确保只有必要的人可以访问相关数据。
加强身份验证
使用多因素身份验证,如密码、指纹、面部识别等,确保只有授权人员可以访问敏感信息。
定期更新安全策略
及时更新安全策略、规程和流程,确保其与最新的安全威胁和漏洞相适应。
加强物理安全
对进出公司的人员和设备进行身份验证和安全检查,确保公司物理安全得到充分保障。
注意信息安全
确保敏感信息得到妥善保管,对涉及敏感信息的文件进行加密和备份,防止信息泄露和丢失。
加强网络安全
采取网络安全措施,如防火墙、入侵检测和防范措施等,保护公司网络免受攻击。
内容管理系统 ,通常指一套完整的网站模板或建站系统
CMS已设计好了一套标准的使用环境,用户只需将CMS部署在Web服务器上,添加相应内容、修改站点样式即可完成网站的制作。
(1)整个系统依托于CMS,如果CMS爆发高危漏洞,则站点会受影响
(2)CMS默认会在根目录中有setup页面。
在CMS安装完毕不及时删除它,容易留下被覆盖攻击的隐患
(1)及时升级CMS系统版本,保证版本最新
(2)尽可能少利用CMS的扩展插件,尤其是WordPress
(3)上线完毕后删除默认安装脚本
(4)务必修改默认密码、CMS标识