基础讲解
一:常见术语介绍
1、脚本(asp、php、jsp)
2、html(css、js、html)
3、HTTP协议
4、CMS(B/S)(自己搭建网站的时候不可能自己去写,都是下载后改一下的,这个就是cms,自行了解:企业/医院/学校/教育/人才招聘/汽车论坛/学校等网页都用什么cms,当我们看到一个网站的时候,通过自己掌握的只是大致判断用的什么cms,同时了解大概这个cms都有什么漏洞)
5、MD5(一种不可逆的加密,把一串字符加密成为一串hash值,可能是16位,可能是32位,同时还有20位的hash,这个是织梦cms的,这个需要前面三位,后面一位去掉得到一个16位的值就对了。)
6、肉鸡、抓鸡、跳板(被控制的电脑叫肉鸡,控制别人的电脑叫抓鸡,如果直接攻击那么被攻击的电脑记录的是自己的ip,但是用肉鸡攻击那么被攻击的是肉鸡的ip,一般情况下挂vpn后用肉鸡操作。)
7、一句话、小马、大马(一句话就是一个脚本型木马,本身是没有任何危害的;小马的功能就一个,用来上传大马的,小马拉大马。大马的功能就非常多了,例如提权,得到服务器的权限等,另外一句话木马就是用来代替小马的。
webshell、提权、后门、跳板
(webshell就是网站后门的意思,其实这个小马,大马都是webshell。后门除了webshell还有很多,老师后面会将)
8、源码打包、脱裤(这个都是黑客常用的手段,黑客拖库比较多的都是拖敏感信息:user等)
9、嗅探、rookit(嗅探:抓数据包。)
10、0day(挖掘出来但未公布的漏洞)
抓鸡3个判刑3-5年,如果要用,自己买就好了,不要抓。
海洋cms6.28(很多黄色网站用这个来搭建的,这个可以批量去搞)
二、渗透测试流程
渗透测试标准:1、OWASP-top10
渗透测试(penetration test)并没有一个标准的定义,国外一i邪恶安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法,这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者,网络所有者根据渗透人员提供的渗透测试报告,可以清晰的知晓系统中存在的安全隐患和问题。
明确目标(可能是一个站点,可能是一个网络,可能是一个网段,可能会有很多的条条框框,这个目标一定要划分好,否则可能会需要担责任的。)
信息搜集(这个占用我们60%-80%的时间,这个决定渗透测试的深度,信息搜集不全的话可能会对测试结果有影响。例如:测试一个网站我们可能会搜集:域名注册人,所有人,管理员,cms,端口,ip,url,邮箱等等信息,这个至少要从10个方向去查,后面老师会详细讲解)
漏洞探测(文件上传/bash/文件包含等等)
漏洞验证(写poc-漏洞验证(select version查看版本信息),尽量不要写exp-漏洞利用(例如:创建管理员账户等操作))
编写报告
信息整理
获取所需
信息分析
三、学习环境配置
- 学习环境配置
- 虚拟机应用配置
- 虚拟机一般我们常用的就是网络功能。
- 网络:如果我在虚拟机搭建网站,那么我怎么去访问?、
- 虚拟机如果想上网,选择nat(nat就是用的wmnet8网卡)运行service.msc,然后自动获取ip就好了
-
wmnet1是不能上网的,但是自己的电脑和虚拟机之间是可以通信的。
-
虚拟机与真实机通信用的。
想要虚拟机上网,net,自动获取ip就好了
Vnet1:这个虚拟机是不可以上网的,仅可以本地通信(虚拟机是可以和真实机ping通的。)
Vnet8:nat连接方式(真实机和物理机是可以ping通的)
如果虚拟机无法连接网络,看一下真实机的DHCP和nat服务是否开启。
Ttl值,一般是128,xp和win7一般是64,经过几个路由器就会减几。(当然这个不是一成不变的,ttl值是可以改变的)
如果想要外网的人来连接自己在虚拟机搭建的web,需要使用桥接(自动的)(需要使用路由器的虚拟服务器的端口映射功能)
注意:配置完虚拟机之后,一定要创建快照。
- 虚拟机一般我们常用的就是网络功能。
- 测试系统的安装
- HTTP协议讲解
- 超文本传输协议(HTTP,hypertext transfer protocol)
- 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,它是万维网交换信息的基础,它是允许将HTML文档从web服务器传输到web浏览器。
- (它是不安全的,明文的)
- HTTP响应码
- 200:客户端请求成功,是最常见的状态。
- 302:重定向。
- 404:请求资源不存在,是最常见的状态。
- 400:客户端请求语法有错误,不能被服务器所理解。
- 401:请求未经授权。
- 403:服务器收到请求,但是拒绝提供服务,
- 500:服务器内部错误,是常见的状态码。
- 503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
- http url
- 统一资源定位符(URL是一种特殊类型的URI,包含了多个资源的足够的信息)的格式如下:
- 伪静态网站的判断,例如:url后面加上index.php
- http 头
- 200 响应码
- Date 日期
- Content-type 类型
- Accept-charset: 浏览器可接受的字符集
- Content-length: 表示请求消息正文的长度
- Cookie:这是组重要的请求头 信息之一
- http://www.cracer.com/?post=373
- 请求方式(客户端给服务端传递数据的方式,最常用的是get和post)
- Get方式:就是通过url进行信息传递的。
- Post方式:post是通过数据内容进行传递(例如登录用户名和密码的时候可以使用post)
- Options
- Put
- Move
- Delete
- Trace
- 错误配置http方法导致的安全事件
- 服务器存在允许put方式和move方式,这时我们可以通过put方式传一个webshell.txt然后通过move方式结合解析漏洞这样就可以很快拿到网站的webshell
- HTTP头中存在的隐患
- 在php中通过会使用$_SERVER[“HTTP_CLIENT_IP”]或者$_SERVER[“HTTP_X_FORWARDED_FPR”]来获取IP。
- 因此,我们就可以通过修改http头中的X-forwarded-For:、client-ip:来进行攻击。
- 例如:
- 突破服务器访问限制ip
- http头注入攻击等
- HTTPS协议
- HTTPS其实是有两部分组成:http+ssl/TLS,也就是在http上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过tls进行加密,所以幻术的数据都是加密后的数据。
- 网站搭建配置
- Asp搭建
- Php搭建:建议使用phpstudy
- 虚拟机应用配置
作业:
- 了解常见术语
- 熟悉渗透测试流程
- 熟练操作虚拟机配置
- 熟练安装系统
- 熟练搭建网站测试环境
- 掌握常见cms搭建方法
- 熟练常见主流cms框架
- 熟悉http协议
(搜集10-15个常见的cms框架)
下载各种cms,自己试着搭建网站,搜集数量10-15个,
做到什么程度:通过目录结构大致了解是什么cms类型的
怎么下载,考验百度搜索的能力了,搜索引擎语法需要加深
野兔
2019.3.11