基础入门
概念名词
DNS(域名系统服务协议)是一种分布式网络目录服务,主要用于域名与IP地址的相互转换,以及控制因特网的电子邮件的发送。
DNS攻击:DNS投毒,DNS劫持。(更改域名指向)
本地hosts文件
ping域名的时候优先在本地的hots文件中找。可以将域名重定向,可以制造真假网站。在游戏加速中会经常用到。
CDN:内容分布网络(缓存结点基数)
将用户的请求重新导向离用户最近的服务节点上
作用:加快访问速度
问题:找不到真实地址
Web
wsexplorer,抓包工具,可以抓某个进程的数据包。
APK是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。
数据包扩展
http
https(加密)
Request请求数据包数据格式
请求行:请求方法 URL HTTP版本
请求头:一些键值对
空行
请求体:要发送的数据
http请求头(典型)
Accept:浏览器可接受的MIME类型。
Accept-Charset:浏览器可接受的字符集。
Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。
Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。
Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。
Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。
Content-Length:表示请求消息正文的长度。
Cookie:这是最重要的请求头信息之一
From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。
Host:初始URL中的主机和端口。
If-Modified-Since:只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回304“Not Modified”应答。
Pragma:指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。
Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。
User-Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。
UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。
Response请求数据包数据格式
状态行:协议版本、数字形式的状态代码和状态描述,各元素之间以空格分隔
响应头标:服务器类型、日期、长度、内容类型等
空行
响应数据:浏览器回应的页面
HTTP响应码:
搭建安全扩展
常见搭建平台脚本启用
域名IP目录解析安全问题
常见文件后缀名对应安全
常见安全测试中的安全防护
WEB后门与用户及文件权限
#ASP,PHP,ASPX,JSP,PY,JAVAWEB(中间件)
#WEB源码中敏感文件
后台路径,数据库配置文件,备份文件等
#IP或域名解析WEB源码目录对应下的存在的安全问题
用IP地址扫描可以扫描到网站域名文件的上一级,获取更多信息。
#脚本后缀对应解析(其他格式可相同-上传安全)
#存在下载或为解析问题
(多个后缀名解析差异漏洞)
#常见防护中的IP验证,域名验证等
#后门是否给予执行权限
#后门是否给予操作目录或文件权限
#后门是否给予其他用户权限
绕过时可以尝试将文件上传到权限更高的文件夹中进行执行
Internet 信息服务(IIS)管理器:提供网站服务 (中间件)
中间件(搭建平台)
如:apache iis tomcat nginx
识别:可以看数据包中的Server
靶场:vulhub,vulnhub(完整)
WEB源码扩展
cms:开源的网站搭建包
百度释义:
内容管理系统(Content Management System,CMS),是一种位于WEB前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的“内容”可能包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到Internet、Intranet以及Extranet网站的信息。
随着个性化的发展,内容管理还辅助WEB前端将内容以个性化的方式提供给内容使用者,即提供个性化的门户框架,以基于WEB技术将内容更好地推送到用户的浏览器端。
cms识别的意义:获取源码,根据源码进行分析
# 目录结构
数据库配置文件,后台目录,模板目录,数据库目录等
template一般为模板文件
数据库配置文件(如config.php)获得网站与数据库通信的信息,如连接的账号密码,从而通过与数据库连接获取信息
# 脚本类型
ASP,PHP,ASPX,JSP,JAVAWEB等不同脚本类型源码容易出现的安全问题不同,不同类型的网站代码类型对应的漏洞不同
# 源码获取
搜索,搜索特定url,咸鱼淘宝,第三方源码站,框架
cms识别:在线网站识别,比对文件md5值
# 总结
:关注应用分类及脚本类型估摸出可能存在的漏洞(其中框架类例外),在获取源码后可进行本地安全测试或代码审计,也可以分析其目录工作原理(数据库备份,bak文件等)
系统及数据库
# 操作系统层面
识别操作系统常见方法:
windows大小写不敏感,linux敏感
根据TTL值(不建议)
namp扫描 namp -O IP地址
简要两者区别及识别意义
操作系统不同,操作,安全,设置,网站路径等不同,所支持的操作不同。
操作系统层面漏洞类型对应意义
简要操作系统层面漏洞影响范围
# 数据库层面
识别数据库类型常见方法
数据库类型区别及识别意义
数据库常见漏洞类型及攻击
简要数据库层面漏洞影响范围
脚本+推荐数据库(默认端口)
ASP+Access
php+mysql(3306)
aspx+mssql sqlserver(1433)
jsp+mssql,oracle(1521)
python+mongodb(27017)
通过nmap的端口扫描,来判断有哪些服务,有哪些数据库
# 第三方层面
如何判断有哪些第三方平台或软件
nmap端口扫描 网页扫描
简要为什么要识别第三方平台或软件
常见第三方平台或软件漏洞类型及攻击
简要第三方平台或软件安全测试的范围
# 补充
其他服务,根据服务选择攻击方式。
网站可分为动态/静态,静态网站因为没有数据权力所以没有漏洞
加密算法
#常见加密编码等算法解析
MD5,SHA,ASC,进制,时间戳,URL,BASE64,Unescape,AES,DES
AES编码后输出会先转成其他形式的编码
#常见加密形式算法解析
直接加密,带salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等
#常见解密方式(针对)
枚举,自定义逆向算法,可逆向
#了解常规加密算法的特性
长度位数,字符规律,代码分析,搜索获取等
cms密码加密解密
md5+salt,部分cms密码加密形式-wp,dz等