管理后天被入侵基本都是什么
什么是渗透测试?
渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。
如何进行Web渗透测试?
完整web渗透测试框架当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的最高目标是要保证交付给客户的安全测试服务质量。
1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;
系统分析&威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;
制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;
测试执行&漏洞挖掘:测试用例执行&发散测试,挖掘对应的安全问题or漏洞;
问题修复&回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;
项目总结评审:项目过程总结,输出文档评审,相关文档归档。
2、Web应用的渗透测试流程
主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:
一、信息收集
在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等
脚本语言的类型:常见的脚本语言的类型包括:php、asp、aspx、jsp等
测试方法:
1 爬取网站所有链接,查看后缀
2 直接访问一个不存在页面后面加不同的后缀测试
3 查看robotstxt,查看后缀
服务器的类型:常见的web服务器包括:apache、tomcat、IIS、ngnix等
测试方法:
1 查看header,判断服务器类型
2 根据报错信息判断
3 根据默认页面判断
目录的结构:了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。
测试方法
1 使用字典枚举目录
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robotstxt是否泄漏
使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
数据库类型:对于不同的数据库有不同的测试方法。
测试方法
1 使应用程序报错,查看报错信息
2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)
所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。
测试方法
1 使用字典枚举页面
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robotstxt是否泄漏
用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
二、漏洞发现
在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。
关于开源软件的漏洞发现
开源的软件:常见的开源软件有wordpress、phpbb、dedecms等
开源的框架:常见的开源框架有Struts2、 Spring MVC、ThinkPHP等
中间件服务器:常见的中间件服务器有jboss、tomcat、Weblogic等
数据库服务:常见的数据库服务mssql、mysql、oracle、redis、sybase、MongoDB、DB2等
对于开源软件的测试方法
1 通过指纹识别软件判断开源软件的版本信息,针对不同的版本信息去开放的漏洞数据库查找相应版本的漏洞进行测试
2 对于默认的后台登录页、数据库服务端口认证等入口可以进行简单的暴力破解、默认口令尝试等操作
3 使用开源的漏洞发现工具对其进行漏洞扫描,如:WPScan
关于自主开发的应用
手动测试:这个阶段,我们需要手工测试所有与用户交互的功能,比如:留言、登入、下单、退出、退货、付款等操作
软件扫描:使用免费的软件扫描,如:appscan、wvs、netsparker,burp等
可能存在的漏洞
Owasp关键点
代码安全之上传文件
代码安全之文件包含
代码安全之SSRF
逻辑漏洞之密码重置
逻辑漏洞之支付漏洞
逻辑漏洞之越权访问
平台安全之中间件安全
三、漏洞利用
针对不同的弱点有不同的漏洞利用方式,需要的知识点也比较多。一般这个阶段包括两种方式,一种是手工测试,一种是工具测试
手工测试
手工测试是通过客户端或服务器访问目标服务,手工向目标程序发送特殊的数据,包括有效的和无效的输入,观察目标的状态、对各种输入的反应,根据结果来发现问题的漏洞检测技术。手工测试不需要额外的辅助工具,可由测试者独立完成,实现起来比较简单。但这种方法高度依赖于测试者,需要测试者对目标比较了解。手工测试可用于Web应用程序、浏览器及其他需要用户交互的程序。
这种方式对于有特殊过滤等操作,或者网络上没有成型的利用工具的时候可以使用。
工具测试
网络上有很多好用的免费利用工具,比如针对sql注入的sqlmap、针对软件漏洞的matesploit等。
请尝试使用安全软件进行扫描,设备中存在木马一般是不良的上网习惯或者下载陌生的软件导致的。设备中存在木马一般的表现是自动下载其他垃圾软件、系统卡顿或者出现延迟、出现有遮挡的广告等问题。
若怀疑手机中存在木马或者病毒,请尝试按照以下步骤请尝试安装一款安全软件(例如:手机管家等)。以手机管家为例,打开手机管家,点击主界面上的一键体检即可自动检测手机中存在的问题,并且给出处理建议,点击一键清除即可删除病毒程序。
若怀疑电脑中存在木马,请尝试下载一款安全软件(例如:电脑管家等)进行全盘扫描和清理即可。也可以尝试下载木马专杀程序对电脑进行清理。若依然无法处理请尝试将硬盘全部格式化然后重新安装系统。
管理后台被入侵基本都是通过网络监听 、利用专门软件进行口令破解、利用系统的漏洞和利用系统管理员的失误 。
为了防止被入侵,要注意以下几个方面:
1、同主机网站太多,存在旁注风险。
网站后台找专业人员解决
2、Dedecms程序,用不到的功能,建议删除或者禁用。
这是入侵的重点,比如没有删除install文件夹,或者没有更改默认的后台登陆路径,还有就是会员注册用不着,但是也没有禁用等等。后台程序不是为你的网站量身定做的,是需要我们进一步修改完善的。
3、网站密码在长度和复杂性方面都要加强。
密码的安全性,是要引起我们足够的重视的,再完美的程序,在密码的面前也是无计可施的,密码设置不好,一切都免谈。
4、加强电脑的安全,不要在不安全的电脑上使用密码。
密码设置好了,保护不好,也是起不到安全的作用的,密码泄露的危险是毁灭性的。使用自己的电脑,要及时的升级杀毒软件,定时的杀毒检测。
5、每天必查友链
站长工具可以查网站的友链,方便快捷,网站入侵的目的,大多都是为了增加黑链,通过查看友链就可以及时发现陌生的链接,及时的处理。
网络安全专业的学生可以获得以下技能:
网络基础知识:了解计算机网络、互联网、通信协议、路由和交换技术等基础知识。
安全概念:了解信息安全的基本概念和原则,包括保密性、完整性、可用性、身份验证和访问控制等。
攻击和防御技术:了解常见的网络攻击类型,如拒绝服务攻击、SQL注入攻击、社交工程攻击等,以及相关的防御技术。
安全评估:掌握安全评估技术,如漏洞扫描、渗透测试、红队/蓝队演练等,以识别和缓解潜在的安全风险。
安全措施:了解安全措施的实施和管理,如访问控制、加密、日志记录、备份等。
法律和合规性:了解相关的法律法规和合规性要求,如GDPR、HIPAA、PCI-DSS等,以及如何保持合规性。
沟通和管理技能:学习如何与其他团队成员、管理层和客户沟通,以及如何管理和协调安全项目。
综上所述,网络安全专业需要学习的技能非常广泛,涉及到技术、法律、管理等多个方面,以帮助他们成为综合能力强的网络安全专业人员。
学习Web安全需要掌握Web安全相关概念、渗透测试相关工具、渗透实战操作、熟悉Windows/Kali Linux、中间件和服务器的安全配置、脚本编程学习、源码审计与漏洞分析、安全体系设计与开发等等。
简单做一个学习规划:
第一步:Web安全相关概念
建议学习时间:2周
学习内容如下:
1、熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。
2、通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google。
3、阅读《Web安全深度剖析》,作为入门学习还是可以的。
4、看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等)。
第二步:熟悉渗透相关工具
建议学习时间:3周
学习内容如下:
1、熟悉AWVS、Sqlmap、Burpsuite、Nessus、China chopper 、Nmap、Appscan等相关工具的使用。
2、了解该类工具的用途和使用场景。
3、下载无后门版的这些软件进行安装。
4、学习并进行使用,具体教材可以在网上搜索,例如:Burpsuite的教程、Sqlmap。
5、常用的这几个软件都学会后,可以安装音速启动做一个渗透工具箱
第三步:渗透实战操作
建议学习时间:5周
学习内容如下:
1、掌握渗透的整个阶段并能够独立渗透小型站点。
2、网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、Dedecms漏洞利用等等)。
3、自己找站点/搭建测试环境进行测试,记住请隐藏好你自己。
4、思考渗透主要分为几个阶段,每个阶段需要做哪些工作,例如这个:PTES渗透测试执行标准。
5、研究SQL注入的种类、注入原理、手动注入技巧。
6、研究文件上传的原理,如何进行截断、解析漏洞利用等,参照:上传攻击框架。
7、研究XSS形成的原理和种类,具体学习方法可以Google。
8、研究Windows/Linux提权的方法和具体使用,可以参考:提权。
9、可以参考: 开源渗透测试脆弱系统。
第四步:关注安全圈动态
建议学习时间:1周
学习内容如下:
1、关注安全圈的最新漏洞、安全事件与技术文章。
2、浏览每日的安全技术文章/事件。
3、通过微博、微信关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下。
4、通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累)。
5、养成习惯,每天主动提交安全技术文章链接到i春秋社区进行积淀。
6、多关注下最新漏洞列表,可以看看hackerone、freebuf、安全客等,遇到公开的漏洞都去实践下。
7、关注国内国际上的安全会议的议题或者录像。
8、加入技术交流群,与群内大佬们讨教一些经验和技巧。
第五步:熟悉Windows/Kali Linux
建议学习时间:3周
学习内容如下:
1、学习Windows/Kali Linux基本命令、常用工具。
2、熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等。
3、熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等。
4、熟悉Kali Linux系统下的常用工具,可以参考《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等。
5、熟悉metasploit工具,可以参考《Metasploit渗透测试指南》。
第六步:中间件和服务器的安全配置
建议学习时间:3周
学习内容如下:
1、学习服务器环境配置,并能通过思考发现配置存在的安全问题。
2、Windows server2012环境下的IIS配置,特别注意配置安全和运行权限。
3、Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等。
4、远程系统加固,限制用户名和口令登陆,通过iptables限制端口;配置软件Waf加强系统安全,在服务器配置mod_security等系统。
5、通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。
第七步:脚本编程学习
建议学习时间:4周
学习内容如下:
1、选择脚本语言:Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。
2、搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime。
3、Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》。
4、用Python编写漏洞的exp,然后写一个简单的网络爬虫。
5、PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频。
6、熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选)。
7、了解Bootstrap的布局或者CSS。
第八步:源码审计与漏洞分析
建议学习时间:3周
学习内容如下:
1、能独立分析脚本源码程序并发现安全问题。
2、熟悉源码审计的动态和静态方法,并知道如何去分析程序。
3、了解Web漏洞的形成原因,然后通过关键字进行查找分析。
4、研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。
学习地址:i春秋官网(企安殿)
第九步:安全体系设计与开发
建议学习时间:5周
学习内容如下:
1、能建立自己的安全体系,并能提出一些安全建议或者系统架构。
2、开发一些实用的安全小工具并开源,体现个人实力。
3、建立自己的安全体系,对公司安全有自己的一些认识和见解。
4、提出或者加入大型安全系统的架构或者开发。
0条评论