网络安全之渗透(基础知识点)

article/2025/10/7 23:39:31

一.常见术语

1、 脚本语言

    脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如[ASCII](https://baike.baidu.com/item/ASCII))保存,只在被调用时进行解释或编译。
复制代码

2、常见脚本语言

    -   C Shell-   JavaScript-   Nuva-   Perl-   PHP-   Python-   Ruby-   Tcl-   VBScript-   CSS
复制代码

3、静态脚本于动静态脚本的区别:

        静态脚本不会与数据库进行交互,是直接在本地浏览器上运行,且速度很快,但是可以直接查看到源码;动态脚本是会与数据库发生交互的,是运行在web服务器上,显示的是执行结果(在浏览器中也可以运行,源码可以看到)
复制代码

3、 HTTP协议,HTTP代理

HTTP协议超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在[TCP](https://baike.baidu.com/item/TCP/33012)之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以[ASCII](https://baike.baidu.com/item/ASCII/309296)形式给出;而消息内容则具有一个类似[MIME](https://baike.baidu.com/item/MIME/2900607)的格式。这个简单模型是早期[Web](https://baike.baidu.com/item/Web/150564)成功的有功之臣,因为它使开发和部署非常地直截了当。
HTTP代理HTTP代理的[匿名性]一般是黑客或红客用的,一般的用户很少机会用得上.跳板这个概念用在代理服务上面偶是在接接触snake的那个代理程序见到的。“代理跳板”一般都是指snake开发的那个sock5代理服务程序。代理跳板好像就是支持connect命令的[http代理](https://baike.baidu.com/item/http%E4%BB%A3%E7%90%86)服务器因为常常被当成黑软使用
HTTP代理小常识一、HTTP代理的匿名性This is a proxy that hides the original users' IP address and other details from the remote server. 这种代理,对远端服务器隐藏原始用户的IP地址以及其它细节(可能,但不必需)。HTTP代理匿名性是指不通过非常技术手段,直接使用时代理的匿名安全性。(说明:这里的匿名与其它如[FTP服务器](https://baike.baidu.com/item/FTP%E6%9C%8D%E5%8A%A1%E5%99%A8)的匿名意义是不一样的,不论匿名与否,[代理服务器](https://baike.baidu.com/item/%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8)均能起到“代理”的作用。只是匿名代理可以确保被访问方不能追溯到源IP,在一定程度上更加安全而已。这并不是一个重要的指标,是否必要则仁者见仁、智者见智。)测试自己的http代理是否匿名,简单方法:xxx网站,先看“REMOTE_ADDR”显示的ip,如果不是你本身的ip,说明代理服务器起作用了。再看“HTTP_X_FORWARDED_FOR”,如果有,并显示你的ip,为非匿名代理。如果没有显示,则为匿名代理。(Tips:看一下“[HTTP_USER_AGENT](https://baike.baidu.com/item/HTTP_USER_AGENT)”和“HTTP_ACCEPT_LANGUAGE”,你就能知道你的代理提供了多大的安全性。)HTTP connect代理二、HTTP CONNECT代理不是所有的HTTP代理都只能代理HTTP的HTTP CONNECT代理服务器是一种能够允许用户建立TCP连接到任何端口的代理服务器,这意味着这种代理不仅可用于HTTP,还包括FTP、IRC、RM流服务等,甚至扫描、攻击。三、三种代理的区别1.全匿名代理 不改变你的request fields,使服务器端看来就像有个真正的客户浏览器在访问它。当然,你的真实IP是隐藏起来的。服务器的网管不会认为你使用了代理。2. 普通匿名代理 能隐藏你的真实IP,但会更改你的request fields,有可能会被认为使用了代理,但仅仅是可能,一般说来是没问题的。不过不要受它的名字的误导,其安全性可能比全匿名代理更高,有的代理会剥离你的部分信息(就好比[防火墙](https://baike.baidu.com/item/%E9%98%B2%E7%81%AB%E5%A2%99)的stealth mode),使服务器端探测不到你的*作系统版本和浏览器版本。3.[透明代理](https://baike.baidu.com/item/%E9%80%8F%E6%98%8E%E4%BB%A3%E7%90%86)(简单代理) 改编你的request fields,并会传送真实IP。跳板是一个程序,也可以说是一种socks5代理的应用吧。* 从本地机器连接到远程机器, 中间通过安装的代理跳板。对应用程序而言,相当于普通的sock代理调用。* 在跳板之间传输的数据,是已经被动态加密的。加密种子每次不同。* 跳板的数目由1到255,不限制,当数目为0时,相当于Sock5代理服务器
复制代码

4、 CMS(B/S)内容管理系统

    CMS是Content Management System的缩写,意为"内容管理系统"。 内容管理系统是[企业信息化建设](https://baike.baidu.com/item/%E4%BC%81%E4%B8%9A%E4%BF%A1%E6%81%AF%E5%8C%96%E5%BB%BA%E8%AE%BE/7346628)和电子政务的新宠,也是一个相对较新的[市场](https://baike.baidu.com/item/%E5%B8%82%E5%9C%BA/238002)。对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。
复制代码

5、 MD5(不可逆的,常见的MD5解密网站其实是将一些明文进行MD5加密,形成一个库,在查询的时候将密文与库中的信息进行碰撞,最后得到明文)

网络安全学习资源分享:

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述

2023最新500G《黑客&网络安全入门&进阶学习资源包》

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

在这里插入图片描述

2023最新500G《黑客&网络安全入门&进阶学习资源包》

因篇幅有限,仅展示部分资料,需要点击上方链接即可获取

6、 肉鸡、跳板

    肉鸡也称[傀儡机](https://baike.baidu.com/item/%E5%82%80%E5%84%A1%E6%9C%BA/10413334),是指可以被黑客[远程控制](https://baike.baidu.com/item/%E8%BF%9C%E7%A8%8B%E6%8E%A7%E5%88%B6/934368)的机器。比如用"灰鸽子"等诱导客户点击或者电脑被黑客攻破或用户电脑有漏洞被种植了木马,黑客可以随意操纵它并利用它做任何事情。肉鸡通常被用作[DDOS](https://baike.baidu.com/item/DDOS)攻击。可以是各种系统,如windows、[linux](https://baike.baidu.com/item/linux/27050)、[unix](https://baike.baidu.com/item/unix/219943)等,更可以是一家公司、企业、学校甚至是政府军队的[服务器](https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E5%99%A8/100571)。跳板的原理网络跳板,简单来说,就是为了隐藏自己的地址,让别人无法查找到自己的位置。通过跳板的使用,可以减少他人查找到你的可能性,同时也增加了被发现的难度。举个简单例子,你在A朋友家玩儿,发现了通往B朋友家的后门,然后你来到了B朋友家,又发现了C朋友家的厨房是和B朋友家相连的,你就顺便来到了C朋友的家,同时C朋友家的厕所又是和D朋友家相连。你在A朋友家做了一些事情,比如设置和修改。A朋友回家了,他会发现有人进了自己的家,但是他顺着路线可以找到B朋友家,通过长期的寻找,终于找到了C朋友家,但他遇见难题了,他并不知道是B朋友家的人动了自己的东西,还是D朋友家的人动了自己的东西。这时,你就是安全的了。这中间的各种朋友关系,其实就是你的跳板。通过这种跳板的转换,我们可以改变自己上网的IP位置,隐藏自己的真实物理位置。跳板,简单来说,就是为了[隐藏](https://baike.baidu.com/item/%E9%9A%90%E8%97%8F/18681)自己的[地址](https://baike.baidu.com/item/%E5%9C%B0%E5%9D%80/80420),让别人无法查找到[自己](https://baike.baidu.com/item/%E8%87%AA%E5%B7%B1/32946)的[位置](https://baike.baidu.com/item/%E4%BD%8D%E7%BD%AE/36166)。
复制代码

7、 一句话、小马、大马、webshell、提权、后门、跳板

    在这里“一句话、小马、大马”我们统称为webshell;提权就是我们获得目标的管理权的一个过程;跳板就是在我们对目标机进行渗透是为了防止追踪到我们的本机IP,我们控制肉鸡对目标机进行渗透,这个肉鸡就是一个跳板。8、 源码打包、脱库9、 嗅探、rookit10、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页面的方法。(源自百度百科)说得直白点就是一种规则,公认的约束,要想上网就必须遵循这种规则。 把域名翻译成IP地址的软件称为域名系统,即DNS。它是一种管理名字的方法。这种方法是:分不同的组来负责各子系统的名字。系统中的每一层叫做一个域,每个域用一个点分开。所谓域名服务器(即Domain Name Server,简称Name Server)实际上就是装有域名系统的主机。它是一种能够实现名字解析(name resolution)的分层结构数据库。在我们上网的过程中,会在地址栏里输入地址然后点击确定,就可以连接到相应的页面。在这个过程中,我们输入的那一串字符其实并没有什么意义,重点是将那串字符解析成的IP地址才是重点,那一串字符仅仅是为了方便人们记忆,如果在地址栏里输入相应的IP也一样可以连接到我们想去的网页。全球有13台DNS根服务器,分布如下:美国VeriSign公司 2台网络管理组织IANA(Internet Assigned Number Authority) 1台欧洲网络管理组织RIPE-NCC(Resource IP Europeens Network Coordination Centre) 1台美国PSINet公司 1台美国ISI(Information Sciences Institute) 1台美国ISC(Internet Software Consortium) 1台美国马里兰大学(University of Maryland) 1台美国太空总署(NASA) 1台美国国防部 1台美国陆军研究所 1台挪威NORDUnet 1台日本WIDE(Widely Integrated Distributed Environments)研究计划 1台
1.http响应状态码复制代码

2、http URLurl是统一资源定位符,就是我们常说的网址,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。我们可通过地址判断其服务器的操作系统类型例如:http://www.xxx.xxx.com/admin/index.php对于Windows而言不会区分文件名称的大小写,如果输入index.php和index.PHP都不会报错;但是对于Linux系统而言,就是区分大小写的,输入index.php就不会报错,index.PHP就会报错。
3、http头200 响应码date 日期content-type 类型Accept-charset 浏览器可接受的字符集Content-length 表示请求信息的正文的长度Cookie 是很重要的信息之一http ?/www.xxx.xxx.com/IPsot=373
4 、http请求GET 通过URL传值的方式进行传值,明文的,不安全POSTOPTIONSPUTMOVEDELETETRACE5、HTTP错误配置会导致安全漏洞服务器存在允许PUT方式和MOVE方式,这时可以通过PUT方式传输一个webshell.txt然后通过MOVE方式结合解析漏洞就可以拿到webshell。(同文件夹下MOVE同一个文件就是修改名字)6、HTTP头文件中安全隐患在PHP中通常会使用 S E R V R [ “ H T T P C L I E N T I P ” ] 或者_SERVER[“HTTP_X_FORWARDED_FOR”]来获取IP。所以可以通过修改http头中的X-Forwarded-For:、client-ip:来进行攻击。突破服务器访限制IPhttp头注入攻击注入 X-Forwarded-For:1.1.1.1’在对ip进行传输的时候用的是insert into update方式来传输获修改,用上述方式就可能通过报错形成注入攻击。7、https协议https其实就是两部分的组成:http+ssl/TLS对HTTP加了一层处理加密信息的模块8、环境搭建Windows:Iis+asp/aspx/php/+mysql/sqlserver/access


 


http://chatgpt.dhexx.cn/article/wy3Ihpbg.shtml

相关文章

零基础入门网络渗透到底要怎么学?

前言: 很多朋友问我,想搞网络安全,编程重要吗,选什么语言呢? 国内其实正经开设网络安全专业的学校很少,大部分同学是来自计算机科学、网络工程、软件工程专业的,甚至很多非计算机专业自学的。…

MyBatis 声明JdbcType. 如#{name,jdbcType=VARCHAR}

在我们结合MyBatis框架使用时,发现如下问题,当SQL语句为insert或者update时,如果其变量含有null值,会报错: ###Cause: java.sql.SQLException: JZ006: Caught IOException: java.io.IOException: JZ0SL: Unsupported …

Error setting null for parameter #6 with JdbcType OTHER . Try setting a different JdbcType for this

控制台报错信息如下 控制台报错信息如下: Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #6 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration prope…

mybatis惯用jdbcType数据类型

mybatis常用jdbcType数据类型 MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINED TINYINT REAL VARCHAR BINARY BLOB NVARCHAR SMALLINT DOUBLE LONGVARCHAR VAR…

jdbcType报错

resultMap中映射没注意jdbcType类型直接报错: Cause: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.int 随后检查XML文件映射问题&#…

MyBatis的jdbcType的作用

今天在工作中,碰到在MyBatis的Mapping中看到了jdbc这个参数,瞬间懵逼,于是百度了下。 Mybatis中的jdbcType的作用使用MyBatis框架做更新操作时,在该字段需要更新的内容为空时,就会出现1111错误,也就是无效的…

Mysql中是text,jdbcType对应类型及jdbcType与javaType对应关系

如果Mysql中是text,则jdbcType对应LONGVARCHAR,java type对应String

MySQL text类型对应mybatis jdbcType类型

MySQL 的 text 类型对应 JAVA 中的数据类型是 String。对应MyBatis的类型是 LONGVARCHAR 。 例&#xff1a; <result column"field1" property"field1" jdbcType"LONGVARCHAR" />注意&#xff0c;在MyBatis支持的JDBC类型中是没有 TEXT …

Java-JDBCTemplate

Java-JDBCTemplate JDBC Template的继承结构 使用步骤&#xff1a; 代码 Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发 JDBC Template的继承结构 使用步骤&#xff1a; 1. 导入jar包 2. 创建JdbcTemplate对象。依赖于数据源 DataSource JdbcTempla…

Mybatis中JdbcType的使用

MyBatis 插入空值时&#xff0c;需要指定JdbcType mybatis insert空值报空值异常&#xff0c;但是在PL/SQL不会提示错误&#xff0c;主要原因是mybatis无法进行转换 jdbcType的使用场合&#xff0c;只有当在insert&#xff0c;update和delete中有空字段时&#xff0c;需要使用…

Mybatis框架中jdbcType=DATE 和 jdbcType=TIMESTAMP 两种类型的区别

也算不上是Mybatis的bug&#xff0c;只能说是特性&#xff0c;本来就是这么设置的&#xff0c;在连接oracle数据库的时候&#xff0c;当jdbcType"DATE"类型时&#xff0c;返回的时间只有年月日&#xff08;yyyy-MM-dd&#xff09;的,当jdbcType“TIMESTAMP”的时候&a…

MyBatis JdbcType 与Oracle、MySql数据类型对应关系详解

转载请注明来源-作者loongshawn&#xff1a;http://blog.csdn.net/loongshawn/article/details/50496460 1. Mybatis JdbcType与Oracle、MySql数据类型对应列表 MybatisJdbcTypeOracleMySqlJdbcTypeARRAYJdbcTypeBIGINTBIGINTJdbcTypeBINARYJdbcTypeBITBITJdbcTypeBLOBBLOBBL…

JDBCTemplate

目录 1、什么是JDBC 2、什么是JDBCTemplate 3、快速上手JDBCTemplate 4.调用JdbcTemplate的方法来完成CRUD的操作 1、什么是JDBC JDBC&#xff08;Java DataBase Connectivity,java数据库连接&#xff09;&#xff1a;是一种用于执行SQL语句的Java API&#xff0c;可以为多…

MyBatis中的JdbcType映射介绍

Java项目涉及到数据库交互&#xff0c;以往常用的是JDBC&#xff0c;现在则有Hibernate、Mybatis等这些持久化支持。 项目中用到了MyBatis&#xff0c;和JDBC最显著的区别&#xff0c;就是SQL语句配置化&#xff0c;通过xml文件定义SQL语句&#xff0c;当然JDBC也可以将SQL配置…

jdbctype(jdbctype=numeric)

jdbctype 和 javatype的区别 jdbc是数据库的数据类型&#xff0c;Java是那几种类型加类类型使用mybatis框架做更新操作时&#xff0c;在该字段需要更新的内容为空时&#xff0c;就会出现1111错误&#xff0c;也就是无效的列类型&#xff0c;这个时候你就要使用jdbctype。至于什…

JdbcType

JdbcType介绍 数据库列字段都是有类型的&#xff0c;不同的数据库有不同的类型。为了表示这些数据类型&#xff0c;Java源码是采用枚举来定义的&#xff1a; public enum JDBCType implements SQLType {TINYINT(Types.TINYINT),SMALLINT(Types.SMALLINT),INTEGER(Types.INTEG…

MyBatis 所有的 jdbcType类型

MyBatis处理MySQL字段类型date与datetime 1&#xff09; DATETIME 显示格式&#xff1a;yyyy-MM-dd HH:mm:ss 时间范围:[ 1000-01-01 00:00:00到9999-12-31 23:59:59]2&#xff09; DATE 显示格式&#xff1a;yyyy-MM-dd 时间范围&#xff1a;[1000-01-01到9999-12-31]3&#…

(转)mybatis常用jdbcType数据类型

阅读目录 1 MyBatis 通过包含的jdbcType类型2 Mybatis中javaType和jdbcType对应和CRUD例子3 Mybatis中javaType和jdbcType对应关系 4 oracle数据类型和对应的java类型 回到顶部 1 MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP O…

Harris Corner 角点检测

角点是同时在多个方向上变化的点&#xff0c;相对于边缘&#xff0c;更加具有独特性。角点检测普遍应用在很多场合&#xff0c;如指纹检测中的指纹特征提取&#xff0c;稀疏光流计算。 Harris corner角点的基本思想是通过一个小窗口来观察&#xff0c;因此很容易识别出角点来。…

Harris角点检测算法的实现(详细版)

前言 无 一、角点是神马&#xff1f; 角点被定义为图像边缘曲线上曲率极大值的点或图像亮度变化剧烈的点 &#xff0c;这些点既保留了图像的重要特征&#xff0c;又有效地减少了信息的数据量。 二、Harris角点检测算法原理 Harris算法以 Morave算法为基础&#xff0c;如果…