渗透测试的阶段_渗透测试哪个阶段最关键

hacker|
48

我的毕业设计是一片关于网络渗透技术的论文,求能人给点相关的资料和文献,本人是毫无头绪啊。

[计算机科学与技术 ]Web服务缓冲区溢出渗透测试的设计与实现

摘 要

缓冲区溢出漏洞是安全漏洞中最为常见的一种形式。更为严重的是缓冲区溢出漏洞占了远程网络攻击的绝大多数,这种攻击可以使的一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权。由于这类攻击使任何人都有可能取得主机的控制权,所以它代表了一类极其严重的安全威胁。因此,以缓冲区溢出作为一种渗透测试的手段是非常有意义的。

缓冲区溢出是渗透测试中的重要手段。现在大多数缓冲区溢出程序都是基于C/S架构的,所以其使用的便捷性受到一定限制。本课题采用现在最流行的B/S架构,并且最终实现了将缓冲区溢出作为Web服务来检测远程主机有无溢出漏洞并提醒用户尽快修补此漏洞的目的。本文深入介绍了缓冲区溢出的原理,以及三种常见的缓冲区溢出漏洞;实例化地介绍了缓冲区溢出程序的执行流程;shellcode的编写技术;Java网络编程技术。

在对原理研究的基础之上,本文主要给出了缓冲区溢出作为Web服务的设计和实现过程以及Web服务的其他辅助功能块(网络安全新闻管理、网络安全论坛)的设计和实现。其中缓冲区溢出模块和监听模块采用JavaBean技术实现,其他部分均采用JSP技术加以实现。

总的来说,本渗透测试平台实现了缓冲区溢出的方便性和广范性以及安全性,并且可以加载任意的已经编译成可执行文件的溢出程序。比起传统的C/S架构下的测试平台前进了一大步。

关键字:渗透测试、缓冲区溢出、JSP

目 录

摘要 1

Abstract 2

第一章 绪论 5

1.1 课题背景 5

1.2渗透测试概述 5

1.2.1渗透测试的的专业性 6

1.2.2 渗透测试的三个阶段 6

1.3 论文安排 8

第二章 缓冲区溢出攻击技术 9

2.1 缓冲区溢出基本原理 9

2.2 常见的缓冲区溢出形式 11

2.2.1 栈溢出 11

2.2.2 堆溢出 12

2.2.3 格式化字符串溢出 13

2.3 缓冲区溢出执行流程 16

2.4 shellcode技术 19

2.4.1 shellcode的编写语言 19

2.4.2 shellcode本身代码的重定位 20

2.4.3 shellcode编码 21

第三章 Java网络编程技术介绍.23

3.1 JavaBean技术 23

3.1.1 JavaBean的概念 23

3.1.2 JavaBean的特性 23

3.1.3 JavaBean的属性23

3.1.4 JavaBean在JSP页面里的部署24

3.2 socket网络编程技术 .24

3.3 Java数据流 25

3.3.1 数据流的基本概念 25

3.3.2 数据流的分类介绍 25

第四章 缓冲区溢出渗透测试平台的设计与实现 27

4.1 测试平台框架设计27

4.1.1整体框架设计 27

4.1.2网络安全新闻发布模块设计 28

4.1.3网络安全论坛模块设计 29

4.1.4缓冲区溢出渗透测试模块设计 31

4.2 缓冲区溢出渗透测试编码实现 34

4.2.1缓冲区溢出漏洞选择 34

4.2.2溢出模块实现 34

4.2.3监听模块实现 34

4.2.4本地执行命令实现 36

4.2.5缓冲区溢出状态实现 39

第五章 实验设计和实验数据 42

5.1实验准备 42

5.2 SqlServer2000打sp3补丁前 43

5.2.1实验数据 43

5.3 SqlServer2000打sp3补丁后 45

5.3.1实验数据 45

结束语 47

参考文献 48

致 谢 49

自学web渗透测试学成什么样能找工作?正常需要多久?

学成能独立完成web层面渗透,修复,能在web架构层面提供安全解决方案的样子就可以找工作了,一般的话,全日制脱产学习网络安全课程需要4个月左右,渗透测试阶段的内容学习大概20天,当然,这些仅供参考。

学成WEB前端开发的必要因素,一样都不可以少:

1.自主学习的能力,自己不动,谁都帮不了你。

2.有经验的技术好的人在前期带你少走弯路。

3.明确的学习规划路线,学最新最有用的东西。

4.坚定的目标感,没有持之以恒的态度,什么都学不了,学习都是枯燥的。

关于WEB前端的教程以及学习内容

基础:HTML+CSS网站页面搭建,CS核心和PC端页面开发,HTML5移动端页面开发

核心:web前端核心技术Java,ecmasript,dom,ajax,json,正则,作用域,运动框架,核心算法,高级函数,插件封装,jQuery等。

高级:html5+高级Java开发,大数据可视化,webapp交互接口,lbs定位,微信sdk,es6标准,高级算法,数据结构,插件封装。

框架:vue、react、angular企业开发应用。

企业要求:bootstrap,swiper,iscroll,sass,ps切图,网站上线等。

以上知识点内容都真正的掌握了,当然可以找到一份很不错的WEB前端开发的工作。但是能持之以恒学下去的人并不多,弯路走的太多了,人的状态自然就下降了。所以学习WEB前端开发最好的还是少走弯路,这样的效率才会高。

渗透测试一定要在生产环境上进行吗?如果是,为什么?

具体的渗透测试时间其实跟项目进度安排高度相关,如果项目进度紧,一般建议在系统功能基本开发完成,可以在SIT阶段就开始测试,尽早发现问题有时间进行修改。

如果项目时间比较充分的,可以甚至可以在Staging环境中再进行渗透测试,这样测试效果更接近实际运行环境。

渗透测试的难度由什么决定?

渗透测试的难度由多个方面去决定,一是看网站所处的环境,以及服务器开放的端口情况,以及目标网站是否有多个入口可以尝试,然后再看二级域名的搜集结果,然后再看网站所属者的信息搜集的是否全面,然后看网站的语言以及环境是否存在反序列化等执行命令漏洞,来确定渗透测试的难度。

0条大神的评论

发表评论