渗透测试的概念
渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。
这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。
网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。
渗透测试的基本流程:
安全术语介绍
1、脚本(asp、php、jsp)
2、html(css、js、html)
3、HTTP协议
4、CMS内容管理系统(B/S)
5、MD5/加盐(salt)
6、肉鸡、抓鸡、DDOS、cc(耗费自己的CPU资源分配代理服务器)
7、一句话、小马、大马webshell、提权、后门、跳板、rookit
8、源码打包、脱裤、暴库
9、嗅探、rookit、社工
10、poc、exp、cve
11、src平台、0day
12、事件型漏洞,通用型漏洞
13、web服务器、web容器、中间件
HTTP协议讲解
概述
超文本传输协议(HTTP,HyperText Transfer Protocol),即超文本传输协议。是一种详细规定了浏览器和万维网服务器之间互相通信的规则,它是万维网交换信息的基础,它允许将HTML文档从Web服务器传送到Web浏览器。
HTTP URL
统一资源定位符(URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息),格式如下:
http://host[“:”port][abs_path]
例如:
http://www.cracer.com:80/admin/index.php
小技巧:对于网站的URL,我们可以通过改变大小写的方式来判断网站是什么类型的操作系统,因为,Windows服务器是大小写不敏感的,也就是改变URL大小写之后页面依然会正常显示,而Linux服务器是大小写敏感的,改变网页URL大小写会发生致命的错误!
HTTP响应头
抓包分析请求头参数和响应参数:
HTTP头中安全隐患
在PHP中通过会使用S E R V E R [ " H T T P C L I E N T I P " ] 或者 _SERVER["HTTP_CLIENT_IP"]或者SERVER["HTTPCLIENTIP"]或者_SERVER[“HTTP_X_FORWARDED_FOR”]来获取IP。因此,我们就可以通过修改http头中的X-Forwarded-For、client-ip来进行攻击。
例如:
突破服务器访问限制ip
http头注入攻击等
HTTP请求方法
常见的几种请求方法:
GET、POST、COOKIE、OPTIONS、PUT、MOVE、DELETE、TRACE
服务器端的接受:
GET、POST、COOKIE、REQUEST
HTTP响应码:
HTTPS协议
HTTPS其实是由两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。
服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末小卡片领取】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!