一、基础入门—概念名次
域名发现对应网安的意义?
一个网站的域名和他的子域名可能绑定于同一个IP地址,当我们进行漏洞扫描的时候他的主站没有找到漏洞那么我们就可以通过他子域名的网站绑定于同一个IP地址这个特点,对他的二级域名网站进行扫描,发现是否有漏洞,从而通过二级域名拿到主站的权限。
HOST文件和DNS有什么关系?
当我们进行IP地址解析的时候,我们电脑首先会通过本地host文件,去查找域名对应的IP地址。可以通过修改HOST文件当中的域名对应IP地址,例如让taobao.com对应的域名跳转到我们搭建的服务器上面。
CDN与DNS的关系?
WEB组成模型
网站源码:分脚本类型(不同的脚本可能会产生不同的漏洞)、应用方向(有提交文件选项才可能有文件上传漏洞)
操作系统:linux、window等
中间件:apache、iis、tomcat、nginx等
数据库:access、mysql、oracle、db2、postsql等
二、数据包拓展
http协议分析
BurpSuit使用方式
三、搭建安全拓展
WEB后们与文件权限
网站下的每个目录都有不同的权限,不同的权限可能造成我们修改、上传的文件造成困难。通常我们将木马文件放置有可执行权限的文件下面。
域名IP目录解析安全问题
我们用域名访问一个网站和ip地址访问一个网站的目录不同。
ip地址访问的是地址的根目录,域名访问的是ip访问地址的下一级目录。
目录遍历
在web设计当中,我们很多时候需要将访问的文件定义成变量,从而让前端更加灵活。当用户发送一个前端请求,便会将请求的文件的值(如文件名)传递到后台,后台在对应执行相应的文件。如果这个时候后端没有对前端输入的内容进行严格的过滤则攻击者可能会通过“…/”这样的手段让后台打开或者执行一些其他的文件。 从而导致后台服务器上其他目录的文件结果被遍历出来,形成目录遍历漏洞。
看到这里,你可能会觉得目录遍历漏洞和不安全的文件下载,甚至文件包含漏洞有差不多的意思,是的,目录遍历漏洞形成的最主要的原因跟这两者一样,都是在功能设计中将要操作的文件使用变量的 方式传递给了后台,而又没有进行严格的安全考虑而造成的,只是出现的位置所展现的现象不一样,因此,这里还是单独拿出来定义一下。
需要区分一下的是,如果你通过不带参数的url(比如:http://xxxx/doc)列出了doc文件夹里面所有的文件,这种情况,我们成为敏感信息泄露。 而并不归为目录遍历漏洞。
敏感信息泄露
由于后台人员的疏忽或者不当的设计,导致不应该被前端用户看到的数据被轻易的访问到。 比如:
—通过访问url下的目录,可以直接列出目录下的文件列表;
—输入错误的url参数后报错信息里面包含操作系统、中间件、开发语言的版本或其他信息;
—前端的源码(html,css,js)里面包含了敏感信息,比如后台登录地址、内网接口信息、甚至账号密码等;
类似以上这些情况,我们成为敏感信息泄露。敏感信息泄露虽然一直被评为危害比较低的漏洞,但这些敏感信息往往给攻击着实施进一步的攻击提供很大的帮助,甚至“离谱”的敏感信息泄露也会直接造成严重的损失
目录遍历文章
常见目录扫描方式
1、robots文件
2、目录爆破
御剑、dirbuster
常见文件后缀解析对应安全
网站可能对一些文件的后缀名执行错误
安全测试中的安全防护
限制IP地址段访问(黑名单和白名单)、限制匿名用户访问(访问网站需要用户名和密码)
匿名用户就是在来宾用户组中
四、WEB源码扩展
WEB源码目录结构
源码获取途径:搜索、咸鱼、淘宝、菜鸟源码、内部人员
数据库配置文件、数据库目录、后台目录、模板目录、
脚本类型
服务器脚本:PHP、SQL、ASP、ADO、ASP.NET、VBScript
WEB源码应用分类
功能:根据不同网站的功能去测试不同漏洞
cms识别:我们可以看网站源码是否在网上有,如果有我们可以下载网站源码对其分析,然后获取相对应的权限
cms识别方式:人工/工具/平台
人工:我们可以看网站源码是否在网上有,如果有我们可以下载网站源码对其分析。分析时可以分为查找源码中的关键字,然后找到网上共享出来的漏洞经行复现。网上没有我们就需要自己分析漏洞。
平台识别:平台识别-某CMS无漏洞-默认数据库
平台识别-某CMS有漏洞-漏洞利用
云溪指纹
who am i
md5指纹
人工爆框-搜索特定url-获取其他相符站点-漏洞测试
涉及资源
https://cnmmm.com/
http://w.ddosi.workers.dev/
五、数据库以及系统
操作系统识别:linux区分大小写。windows不区分大小写
例:xiaodi8/hack/ 我们将其中小写h变成H,如果网站还可以正常访问那么就是windows搭建
使用工具测试:nmap扫描
识别数据库
一般脚本语言对应相对应的数据库
asp+access
php+mysql
aspx+mssql
jsp+mssql,oracle
python+mongodb
可以使用工具扫描nmap扫描对应开放的端口
第三方层面
如何判断有哪些第三方平台或者软件
为啥要识别第三方平台或软件
第三方平台或软件漏洞类型都有哪些
六、加密编码算法
常见加密编码算法解析
MD5:不可逆算法,解密通常是加密后的密文和你的密文(由你自己密码字典生成)对比如果密文相等,那密码就是密码字典的值。
SHA:不可逆算法
ASC:一种编码格式
时间戳:时间戳在线解密工具
URL:采用编码格式
BASE64:经过base64编码后的字符串长度一定会被4整除(包括后缀等号)
Unescape:JavaScript unescape() 函数可对通过 escape() 编码的字符串进行解码。
DES:对称加密
RSA:非对称加密
常见加密形式算法解析
直接加密、带salt、带密码、带偏移、带位数、带模式、带感染、自定义组合等
常见解密方式(针对)
枚举、自定义逆向算法、可逆向