一.常见术语
1、 脚本(asp,php,jsp)(动态脚本语言)
2、 html(scc,js,html)(静态脚本语言)
对于动静态脚本的区别:
静态脚本不会与数据库进行交互,是直接在本地浏览器上运行,且速度很快,但是可以直接查看到源码;
动态脚本是会与数据库发生交互的,是运行在web服务器上,显示的是执行结果(在浏览器中也可以运行,源码可以看到)
3、 HTTP协议
4、 CMS(B/S)
5、 MD5(不可逆的,常见的MD5解密网站其实是将一些明文进行MD5加密,形成一个库,在查询的时候将密文与库中的信息进行碰撞,最后得到明文)
6、 肉鸡、爪鸡、跳板
7、 一句话、小马、大马、webshell、提权、后门、跳板
在这里“一句话、小马、大马”我们统称为webshell;
提权就是我们获得目标的管理权的一个过程;
跳板就是在我们对目标机进行渗透是为了防止追踪到我们的本机IP,我们控制肉鸡对目标机进行渗透,这个肉鸡就是一个跳板。
8、 源码打包、脱库
9、 嗅探、rookit
10、poc
简单来说就是一个测试的流程
比如对一个网站进行SQL注入的检查:
?id=1’
?id=1 and 1=1
?id=1 and 1=2
这一过程就是一个poc,他只是一个验证过程不需要结果。
11、exp
就是要实现攻击,得到我们想要的东西,与poc不同的是最后要有一个结果。
二、渗透测试
渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。
我们通常认为渗透测试还具有的两个显著特点是:渗透测试是一个渐进的并且逐步深入的过程。渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。(源自百度百科)说的直白点,就是入侵,目的是发现网络隐患。
三、流程
明确目标 信息收集 漏洞探测 漏洞验证
编写报告 信息整理 获取所需 信息分析
四、环境
虚拟机 目标靶机系统的安装 HTTP协议 网站搭建
五、HTTP协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方