网络安全知识涉及面本来就错综复杂,我把自己的见解说下吧,今天小编就来说说关于渗透测试需要学编程到什么程度?下面更多详细答案一起来看看吧!

渗透测试需要学编程到什么程度(渗透测试工程师入门该学什么)

渗透测试需要学编程到什么程度

网络安全知识涉及面本来就错综复杂,我把自己的见解说下吧。

1、 熟悉常见浏览器协议

FTP协议:文件传输协议,包括俩个部分(FTP服务器、FTP客户端),FTP服务器用来存储文件,用户可以使用FTP客户端 通过FTP协议 访问位于 FTP服务器上的资源

由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。

2、HTTPS协议:

是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性

3、File协议:

本地文件传输协议

什么是File:File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。

如何使用File:要使用File协议,基本的格式如下:file:///文件路径,比如要打开F盘flash文件夹中的1.swf文件,那么可以在资源管理器或浏览器地址栏中输入:file:///f:/flash/1.swf回车。

2.URL中为什么本地文件file后面跟三个斜杠, http等协议跟两个斜杠?

因为URI结构是:

scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

如果有host,前面是要加 // 的,因此对于 http 等这些网络地址来讲http://www.baidu.sb:80/ad/cas写成这样很自然。

如果是文件,文件没有 host ,所以中间的部分就不要了,就变成了file:///ad/cash

file://host/path/file.ext 本机不用 host 部分,就直接 file:/// 即可。

1)了解HTML实体:

http://www.runoob.com/HTML/html-entities.html

http://www.runoob.com/tags/ref-entities.html

2)掌握HTML预留字符:

即<、>、“、‘、&的实体编码和实体名称。

显示结果| 实体名称| 实体编号

< < <

> > >

& & &

" " "

' &apos '

1、熟悉HTML的常见的事件属性

1)了解on属性:如onerror、onload、onclick、onchange、onfocus、oninput、onmousemove、onsubmit、onkeydown;

onerror:当错误发生时运行的脚本;

onload:当文档加载时运行 Javascript脚本; //https://www.runoob.com/tags/ev-onload.html

onload 属性在文档对象加载完成后触发。

onload 通常使用于 <body> 元素中,用于在页面完全载入后执行指定的脚本(包括图片,脚本,css文件等)。

<body onload="load()">

<element onload="script">

onclick:当单击鼠标时运行的脚本;

onclick 属性在单击鼠标时触发。

onclick 属性不能应用于以下元素:<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或<title>。

<element onclick="script">

<button onclick="copyText()">复制文本</button>

onchange:当元素改变时运行的脚本;

onchange 属性在元素值改变时触发。

onchange 属性可适用于 <input>, <textarea>, 和 <select> 元素。

<input type="text" name="txt" value="Hello" onchange="checkField(this.value)">

onfocus: 当元素获得焦点时运行脚本; (表单事件)

onfocus 属性在元素获得焦点时触发

Onfocus 通常用于 <input>, <select>, 和 <a> 元素。

<input type="text" id="fname" onfocus="setStyle(this.id)">

onfocus: 当窗口获得焦点时运行脚本; (窗口事件 (适用于 <body> 标签):)

oninput: 当元素获得用户输入时运行脚本;

onmousemove: 当鼠标移动时运行脚本;

当鼠标指针移动到指定图片时运行脚本:

<img onmousemove="bigImg(this)" src="smiley.gif" alt="Smiley">

onsubmit:当提交表单时运行脚本;

<form action="demo_form.html" onsubmit="checkForm()">

onsubmit 属性在表单提交时触发。

onsubmit 属性只适用于 <form> 元素。

onkeydown: 当按下按键时运行脚本; (键盘事件)

<input type="text" onkeydown="displayResult()">

onkeydown 属性在用户按下按键(在键盘上)时触发。

提示: 与 onkeydown 事件相关的事件触发顺序:

onkeydown

onkeypress

onkeyup

onunload:当用户卸载文档时执行一段 JavaScript

onunload 属性会在页面下载时触发(或者浏览器窗口已关闭)。

onunload 在用户从页面导航离开时发生(通过点击链接、提交表单或者关闭浏览器窗口等等)。

注释:如果您重载页面,也会触发 unload 事件(以及 onload 事件)。

2、测验

完成http://www.w3school.com.cn/quiz/quiz.asp?quiz=sql测验。

掌握以下函数的用法,并在命令行进行实践操作:concat()、group_concat()、concat_ws()、load_file()、hex()、char()、count()、substring()、into outfile、LOAD DATA INFIL、limit。

0x00: load_file 条件 1. 要有file_priv权限 2. 知道文件绝对路径 3. 能使用union 4. 对web目录有读权限 注:若过滤了单引号,则可以将函数中的字符进行hex编码 0x11: into outfile 条件 1. 要有file_priv权限 2. 知道网站绝对路径 3. 要能用union 4. 对web目录有写权限 5. 没有过滤单引号

into outfile写入一句话: https://blog.csdn.net/Blue_Starry_sky/article/details/88119353

二、http和https的区别

什么是 HTTPS?

HTTPS (基于安全套接字层的超文本传输协议 或者是 HTTP over SSL) 是一个 Netscape 开发的 Web 协议。

你也可以说:HTTPS = HTTP SSL

HTTPS 在 HTTP 应用层的基础上使用安全套接字层作为子层。

HTTP 和 HTTPS 的相同点

大多数情况下,HTTP 和 HTTPS 是相同的,因为都是采用同一个基础的协议,作为 HTTP 或 HTTPS 客户端——浏览器,设立一个连接到 Web 服务器指定的端口。当服务器接收到请求,它会返回一个状态码以及消息,这个回应可能是请求信息、或者指示某个错误发送的错误信息。系统使用统一资源定位器 URI 模式,因此资源可以被唯一指定。而 HTTPS 和 HTTP 唯一不同的只是一个协议头(https)的说明,其他都是一样的。

HTTP 和 HTTPS 的不同之处

HTTP 的 URL 以 http:// 开头,而 HTTPS 的 URL 以 https:// 开头

HTTP 是不安全的,而 HTTPS 是安全的

HTTP 标准端口是 80 ,而 HTTPS 的标准端口是 443

在 OSI 网络模型中,HTTP 工作于应用层,而 HTTPS 工作在传输层

HTTP 无需加密,而 HTTPS 对传输的数据进行加密

HTTP 无需证书,而 HTTPS 需要认证证书

HTTPS 如何工作?

使用 HTTPS 连接时,服务器要求有公钥和签名的证书。

当使用 https 连接,服务器响应初始连接,并提供它所支持的加密方法。作为回应,客户端选择一个连接方法,并且客户端和服务器端交换证书验证彼此身份。完成之后,在确保使用相同密钥的情况下传输加密信息,然后关闭连接。为了提供 https 连接支持,服务器必须有一个公钥证书,该证书包含经过证书机构认证的密钥信息,大部分证书都是通过第三方机构授权的,以保证证书是安全的。

换句话说,HTTPS 跟 HTTP 一样,只不过增加了 SSL。

HTTP 包含如下动作:

浏览器打开一个 TCP 连接

浏览器发送 HTTP 请求到服务器端

服务器发送 HTTP 回应信息到浏览器

TCP 连接关闭

SSL 包含如下动作:

验证服务器端

允许客户端和服务器端选择加密算法和密码,确保双方都支持

验证客户端(可选)

使用公钥加密技术来生成共享加密数据

创建一个加密的 SSL 连接

基于该 SSL 连接传递 HTTP 请求

在URL前加https://前缀表明是用SSL加密的。你的电脑与服务器之间收发的信息传输将更加安全。 Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。 http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

三、IP地址常识

IP地址一般分为A、B、C三类,我们以w.x.y.z这个IP地址为例,

A类地址:w为 1-127 255.0.0.0

B类地址:w为128-191 255.255.0.0

C类地址:w为 192-223 255.255.255.0

IP地址由两部分组成,前面一部分是是网络号,后面是主机号。

一个完整的ip地址包括 ,ip地址 子网掩码 网关地址 DNS服务器

子网掩码有助于路由器识别主机网段

网关是离主机相连最近的路由器的接口

dns 服务是帮助用户将网址改变为ip地址 因为网络中不是以网址识别而是以ip地址来识别主机 dns起到帮助识别的作用

规定

127.0.0.1是为本机做环回测试保留的IP地址。

192.X.X.X和10.X.X.X为局域网的保留地址。

主机位全部为1的地址是网络的广播地址。

主机位全部为0的IP地址是指网络本身。

,