WEB网络渗透的基础知识

article/2025/10/7 21:15:27

网络渗透

1.什么是网络渗透

网络渗透是攻击者常用的一种攻击手段,也是一种综合的高级攻击技术,同时网络渗透也是安全工作者所研究的一个课题,在他们口中通常被称为”渗透测试(Penetration Test)”。

网络渗透的目的

无论是网络渗透(Network Penetration)还是渗透测试(Penetration Test),其实际上所指的都是同一内容,也就是研究如何一步步攻击入侵某个大型网络主机服务器群组。只不过从实施的角度上看,前者是攻击者的恶意行为,而后者则是安全工作者模拟入侵攻击测试,进而寻找最佳安全防护方案的正当手段。
随着网络技术的发展,在政府、电力、金融、教育、能源、通信、制造等行业的企业网络应用日趋普遍,规模也日渐扩大。在各个公司企业网络中,网络结构越来越复杂,各种网络维护工作也极为重要,一旦网络出现问题,将会影响公司或企业的正常运作,并给公司或企业带来极大的损失。
在各种网络维护工作中,网络安全维护更是重中之重。各种网络安全事件频频发生,不时见诸于报纸头条和网络新闻,大型企业公司的网络也逃不过被攻击的命运。网络安全工作保障着网络的正常运行,避免因攻击者入侵带来的可怕损失。
为了保障网络的安全,网络管理员往往严格地规划网络的结构,区分内部与外部网络进行网络隔离,设置网络防火墙,安装杀毒软件,并做好各种安全保护措施。然而绝对的安全是不存在的,潜在的危险和漏洞总是相对存在的。

网络渗透攻击

面对越来越多的网络攻击事件,网络管理员们采取了积极主动的应对措施,大大提高了网络的安全性。恶意的入侵者想要直接攻击一个安全防御到位的网络,看起来似乎是很困难的事情。于是,网络渗透攻击出现了。
对于大型的网络主机服务器群组,攻击者往往不会采取直接的攻击手段,而是采用一些迂回渐进式的攻击方法,长期而有计划地逐步渗透攻击进入网络,并完全控制整个网络,这就是”网络渗透攻击”。

蚁穴

攻击者要直接通过设置森严的网络关卡进入网络是不可能的,然而无论怎么样设置网络,总会有一些或大或小的安全缺陷或漏洞。而攻击者所做的,就是在一个看似安全的网络上,找到一个小缺口,然后一步一步地将这些缺口扩大,扩大,再扩大,最终导致整个网络安全防线的失守,掌控整个网络的权限。
对网络管理员来说,网络上的某个小小的安全缺陷,就好似一个微不足道的”蚁穴”,然而忽略了对它的重视,最终的结果将十分可怕,它将会引发整个网络安全防御堤坝的全面崩塌。因此,作为网络管理员,完全有必要了解甚至掌握网络渗透入侵的技术,这样才能有针对性地进行防御,真正保障网络的安全。

普通攻击与渗透攻击

网络渗透攻击与普通攻击的不同
网络渗透攻击与普通网络攻击的不同在于,普通的网络攻击只是单一类型的攻击。
例如,在普通的网络攻击事件中,攻击者可能仅仅是利用目标网络的Web服务器漏洞,入侵网站更改网页,或者在网页上挂马。也就是说,这种攻击是随机的,而其目的也是单一而简单的。
网络渗透攻击则与此不同,它是一种系统渐进型的综合攻击方式,其攻击目标是明确的,攻击目的往往不那么单一,危害性也非常严重。
例如,攻击者会有针对性地对某个目标网络进行攻击,以获取其内部的商业资料,进行网络破坏等。因此,攻击者实施攻击的步骤是非常系统的,假设其获取了目标网络中网站服务器的权限,则不会仅满足于控制此台服务器,而是会利用此台服务器,继续入侵目标网络,获取整个网络中所有主机的权限。
为了实现渗透攻击,攻击者采用的攻击方式绝不仅此于一种简单的Web脚本漏洞攻击。攻击者会综合运用远程溢出、木马攻击、密码破解、嗅探、ARP欺骗等多种攻击方式,逐步控制网络。
总体来说,与普通网络攻击相比,网络渗透攻击具有几个特性:攻击目的的明确性,攻击步骤的逐步与渐进性,攻击手段的多样性和综合性。

1.如何进行渗透?

一、信息收集

1,获取域名的whois信息,获取注册者邮箱姓名电话等。
2,查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
3,查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞
4,查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
5,扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针
6,cookie hack google hack cookies edit 进一步探测网站的信息,后台,敏感文件
备注:根据悬镜安全团队多年的渗透测试实战经验得出:安全团队再进行渗透测试的时候,收集完相关的信息后,通过自动化的漏扫工具,进行进一步的问题发掘,然后通过扫描出来的漏洞以及自身的实战项目经验再进行深层次的漏洞挖掘,这也是为什么渗透测试比漏扫工具发现问题的深度和攻击面会更广。

二、漏洞扫描

开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等

三、漏洞利用

利用以上的方式拿到webshell,或者其他权限

四、权限提升

提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉, linux藏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权

五、 日志清理

日志清理是必要的工作

六、总结报告及修复方案

报告是安全漏洞结果展现形式之一,也是目前安全业内最认可的和常见的。每家安全团队在写渗透测试报告的都不一样,但大体展现的内容是一样的。那报告上都会有哪些内容呢?小编就拿悬镜安全团队做渗透测试的经验以及实际交付给客户的报告来分享下。

有的团队,特别是专业的安全渗透测试团队,报告首先有渗透测试人员产出,出来后由专业的文档品控人员对文档的质量再进行进一步的检查,这个过程不仅可以看出技术的专业度来,也可以看出团队文档的品质感。

那报告上都包括哪些内容?

首先是对本次网站渗透测试的一个总概括,发现几个漏洞,有几个是高危的漏洞,几个中危漏洞,几个低危漏洞。

然后对漏洞进行详细的讲解,比如是什么类型的漏洞,漏洞名称,漏洞危害,漏洞具体展现方式,修复漏洞的方法。

01.sqlmap,怎么对一个注入点注入?

1.如果是get型号,直接,sqlmap -u “诸如点网址”.
2. 如果是post型诸如点,可以sqlmap -u “注入点网址” – data=”post的参数”
3.如果是cookie,X-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用*号替换,放到文件里,然后sqlmap -r “文件地址”

02.nmap,扫描的几种方式

sql注入的几种类型?
1.报错注入
2.bool型注入
3.延时注入
4.宽字节注入

03.盲注和延时注入的共同点?

都是一个字符一个字符的判断

04.如何拿一个网站的webshell?

上传,后台编辑模板,sql注入写文件,命令执行,代码执行, 一些已经爆出的cms漏洞,比如dedecms后台可以直接建立脚本文件,wordpress上传插件包含脚本文件zip压缩包等
sql注入写文件都有哪些函数?
select ‘一句话’ into outfile ‘路径’
select ‘一句话’ into dumpfile ‘路径’
select ” into dumpfile ‘d:wwwroothttp://baidu.co\nvhack.php’;

05.如何防止CSRF?

1,验证referer
2,验证token
详细:浅谈cnode社区如何防止csrf攻击 - CNode技术社区

06.owasp 漏洞都有哪些?

1、SQL注入防护方法:
2、失效的身份认证和会话管理
3、跨站脚本攻击XSS
4、直接引用不安全的对象
5、安全配置错误
6、敏感信息泄露
7、缺少功能级的访问控制
8、跨站请求伪造CSRF
9、使用含有已知漏洞的组件
10、未验证的重定向和转发

07.SQL注入防护方法?

1、使用安全的API
2、对输入的特殊字符进行Escape转义处理
3、使用白名单来规范化输入验证方法
4、对客户端输入进行控制,不允许输入SQL注入相关的特殊字符
5、服务器端在提交数据库进行SQL查询之前,对特殊字符进行过滤、转义、替换、删除。

08.代码执行,文件读取,命令执行的函数都有哪些?

1,代码执行:eval,pregreplace+/e,assert,calluserfunc,calluserfuncarray,create_function
2,文件读取:filegetcontents(),highlightfile(),fopen(),read file(),fread(),fgetss(), fgets(),parseinifile(),showsource(),file()等
3,命令执行:system(), exec(), shellexec(), passthru() ,pcntlexec(), popen(),proc_open()
img标签除了onerror属性外,还有其他获取管理员路径的办法吗?
src指定一个远程的脚本文件,获取referer
img标签除了onerror属性外,并且src属性的后缀名,必须以.jpg结尾,怎么获取管理员路径。

09.绕过walf

1、关键字可以用%(只限IIS系列)。
比如select,可以sel%e%ct。
原理:网络层waf对SEL%E%CT进行url解码后变成SEL%E%CT,匹配select失败,而进入asp.dll对SEL%E%CT进行url解码却变成select。
IIS下的asp.dll文件在对asp文件后参数串进行url解码时,会直接过滤掉09-0d(09是tab键,0d是回车)、20(空格)、%(后两个字符有一个不是十六进制)字符。xss也是同理。
2、编码。这个方法对waf很有效果,因为一般waf会解码,但是我们利用这个特点,进行两次编码,他解了第一次但不会解第二次,就bypass了。腾讯waf、百度waf等等都可以这样bypass的。
3、绕过策略一:伪造搜索引擎
4、360webscan脚本存在这个问题,就是判断是否为admin dede install等目录,如果是则不做拦截
5、multipart请求绕过,在POST请求中添加一个上传文件,绕过了绝大多数WAF。
6、参数绕过,复制参数,id=1&id=1
用一些特殊字符代替空格,比如在mysql中%0a是换行,可以代替空格,这个方法也可以部分绕过最新版本的安全狗,在sqlserver中可以用/**/代替空格

网络安全学习资源分享:

零基础入门

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

在这里插入图片描述

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享🎁

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

在这里插入图片描述

在这里插入图片描述

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享🎁

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


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

相关文章

Kali网络渗透实验一

文章目录 前言实验原理环境搭建实验工具1.Google Hacking(或baidu)2.BASE64编码3.Nmap4.WinHex 实验步骤1.用搜索引擎Google或百度搜索麻省理工学院网站中文件名包含“network security”的pdf文档,截图搜索得到的页面。2、照片中的女生在哪里…

网络渗透测试实验一 网络扫描与网络侦查

实验目的 理解网络扫描、网络侦察的作用;通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎、扫描工具的应用,通过信息收集为下一步渗透工作打下基础。 实验内容、原理 一.被动扫描 1.搜索麻省理工学院网站中文件名包含“network security…

Kali linux无线网络渗透详解笔记

Kali linux无线网络渗透详解笔记 第一章:搭建渗透环境测试环境第二章:WiFi网络的构成第三章:监听WiFi网络第四章:捕获数据包第五章: 分析数据包第六章:获取信息第七章:WPS加密模式(重要)第八章:破解WEP加密WIFI第九章:破解WPA加密wifi总结:新的改变功能快捷键合理的…

kali网络渗透实验一:网络扫描与网络侦查

实验一 网络扫描与网络侦查 实验目的:理解网络扫描、网络侦察的作用;通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎、扫描工具的应用,通过信息收集为下一步渗透工作打下基础。 系统环境:Kali Linux 2、Windows …

网络渗透试验一实验报告

网络渗透试验一实验报告 实验一 网络扫描与网络侦察 实验目的: 理解网络扫描、网络侦察的作用;通过搭建网络渗透测试平台,了解并熟悉常用搜索引擎、扫描工具的应用,通过信息收集为下一步渗透工作打下基础。 系统环境&#xff1a…

网络渗透实验一

实验目的:理解网络扫描、网络侦察的作用;通过搭建渗透测试平台,了解并熟悉常用搜索引擎、扫描工具的应用,通过信息收集为下一步渗透工作打下基础。 系统环境:Kali Linux2、Windows 网络环境:交换网络结构…

网络渗透笔记

第一章 渗透测试之信息收集 进行渗透测试之前,最重要的一步就是信息收集,在这个阶段,我们要尽可能地收集目标组织的信息。在信息收集中,追主要的就是收集服务器的配置信息和网站的敏感信息,其中包括域名与子域名信息、…

零基础自学网络安全/网络渗透攻防路线学习方法【建议收藏】

学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答. 4.遇到实在搞不懂的,可以先放放,以后再来解决. …

网络渗透知识

1. Nmap的基本Nmap ip 6 ipNmap -A 开启操作系统识别和版本识别功能– T(0-6档) 设置扫描的速度 一般设置T4 过快容易被发现-v 显示信息的级别,-vv显示更详细的信息192.168.1.1/24 扫描C段 192.168.11 -254 上nmap -A -T4 -v -iL ~…

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

一.常见术语 1、 脚本语言 脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控制软件应用程序,脚本通常以文本(如[ASCII](https://baike.baidu.com/item/ASCII))保存,…

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

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

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;需要使用…