web网站渗透入侵实战(Web渗透)
本文目录一览:
- 1、Web渗透是怎么弄的?
- 2、网站渗透入侵全部教程
- 3、本人信息安全大一新生,想走web安全的渗透路线,需要完成什么知识储备?希望前辈给点建议,谢谢。
- 4、如何进行Web渗透测试
- 5、网站安全渗透测试怎么做?
- 6、如何做好网站入侵渗透测试?
Web渗透是怎么弄的?
1.渗透目标
渗透网站(这里指定为)
切记,在渗透之前要签订协议。
2.信息收集
建议手动检查和扫描器选择同时进行。
2.1 网站常规检测(手动)
1:浏览
1. 初步确定网站的类型:例如银行,医院,政府等。
2. 查看网站功能模,比如是否有论坛,邮箱等。
3. 重点记录网站所有的输入点(与数据库交互的页面),比如用户登录,用户注册,留言板等。4. 重点查看网站是否用到了一些通用的模板,比如论坛选择了动网(dvbss),就有可能存在动网的漏洞;邮箱有可能选择通用的邮箱系统,也有漏洞。
2: 分析网站的url1. 利用搜索引擎,搜索网站的url,快速找到网站的动态页面。
2. 对网站的域名进行反查,查看IP,确定服务器上的域名数,如果主页面url检测没有漏洞,可以对其他的域名进行检测。
3:审查代码
重点对输入代码(比如表单)进行分析,看如何来提交输入,客户端做了哪些输入的限制方法。
1. 隐藏表单字段 hidden
2. Username,Password等
4:控件分析
Active x 通常都是用c/c++编写
在页面上(通常是首页)的源码中搜索
1. 需要ComRaider+OD 对dll文件进行反编译,看是否有漏洞。
2. 改变程序执行的路径,破坏Active X 实施的输入确认,看web的回应。
5:对常规的输入进行手动注入测试,测试是否有sql注入和跨站漏洞,试用常规的用户名和密码登录。
6:查看web服务器的版本,确定搜索是否有低版本服务器组件和框架的漏洞,比如通用的Java框架Struct2的漏洞。
2.2 工具选择和使用
1:web应用程序漏洞扫描工具
Appscan: (版本7.8)
扫描漏洞比较全,中文,漏洞利用率高,检测速度慢,需要大量内存,重点推荐。
AWVS:
英文,漏洞库完善,检测速度慢。
JSky
中文,检测速度快,但深度一般。
Nessus
英文,检测速度较快,漏洞也比较完善,免费,可及时更新,B/S界面。
2:端口扫描
Nmap
流光
3: 口令破解工具
溯雪
4:sql 注入工具
Asp+SqlServe, ACCESS:啊D注入工具
Php+MySQL : php+mysql注入工具(暗组的hacker栏中)
Jsp+ORACAL: CnsaferSI
支持以上数据库 Pangolin
5: http代理请求
Paros
6:木马
灰鸽子
7:提权木马
一句话木马大马(具体所用的木马参考文档和工具包(绿盟,暗组))
5: 工具推荐使用方案
Appscan扫描出的重大漏洞,进行手工检测(注意看漏洞是如何发现的,修改漏洞的代码,对渗透帮助很大)。
sql注入漏洞
可以选用根据网站类型选择sql注入工具
如果是post请求类型的url,选择使用paros代理后,修改http请求包,进行注入。
WebDEV漏洞
可以启用发送请求(比如DELETE对方网页)
跨站漏洞
直接将appscan的代码输入测试,成功后,可以尝试跨其他脚本(比如
遍历漏洞:
网页的目录,下载网站配置文件信息,和源文件进行反编译
反编译:
Class 可以选用java 反编译工具
Dll (asp.net) 选用Reflector
3.分析并渗透
---------------------
作者:centos2015
来源:CSDN
原文:
版权声明:本文为博主原创文章,转载请附上博文链接!
网站渗透入侵全部教程
新手先学法律知识,知道哪些行为不能做再学渗透技术。
学习基本的技术术语,了解基本的黑客技术。链接:正式学习课程,可以观看小风教程网的免费课程。链接:新手可以看完小风教程网的基础课程,自己学会搭建一个靶场,再通过学会的技术去自己入侵自己搭建的网站,这样既不会违法也能实战学习到技术。因为网站漏洞是复杂的,不同的网站有不同的漏洞,对于新手来说应该把所有常见漏洞都学会,才能系统入门渗透。
本人信息安全大一新生,想走web安全的渗透路线,需要完成什么知识储备?希望前辈给点建议,谢谢。
作者:向生李
链接:
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Web安全工程师
Web安全相关概念
熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。
通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;
阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;
看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);
3周
熟悉渗透相关工具
熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。
了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;
下载无后们版的这些软件进行安装;
学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;
待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;
5周
渗透实战操作
掌握渗透的整个阶段并能够独立渗透小型站点。
网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);
自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
思考渗透主要分为几个阶段,每个阶段需要做那些工作,例如这个:PTES渗透测试执行标准;
研究SQL注入的种类、注入原理、手动注入技巧;
研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架;
研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki,可以参考:XSS;
研究Windows/Linux提权的方法和具体使用,可以参考:提权;
可以参考: 开源渗透测试脆弱系统;
1周
关注安全圈动态
关注安全圈的最新漏洞、安全事件与技术文章。
通过SecWiki浏览每日的安全技术文章/事件;
通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下;
通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目;
养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀;
多关注下最新漏洞列表,推荐几个:exploit-db、CVE中文库、Wooyun等,遇到公开的漏洞都去实践下。
关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference。
3周
熟悉Windows/Kali Linux
学习Windows/Kali Linux基本命令、常用工具;
熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等;
熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
熟悉Kali Linux系统下的常用工具,可以参考SecWiki,《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》。
3周
服务器安全配置
学习服务器环境配置,并能通过思考发现配置存在的安全问题。
Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,可以参考:SecWiki-配置;
Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等,可以参考:SecWiki-配置;
远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
配置软件Waf加强系统安全,在服务器配置mod_security等系统,参见SecWiki-ModSecurity;
通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。
4周
脚本编程学习
选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime,一些Sublime的技巧:SecWiki-Sublime;
Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;
用Python编写漏洞的exp,然后写一个简单的网络爬虫,可参见SecWiki-爬虫、视频;
PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频;
熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);
了解Bootstrap的布局或者CSS,可以参考:SecWiki-Bootstrap;
3周
源码审计与漏洞分析
能独立分析脚本源码程序并发现安全问题。
熟悉源码审计的动态和静态方法,并知道如何去分析程序,参见SecWiki-审计;
从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;
了解Web漏洞的形成原因,然后通过关键字进行查找分析,参见SecWiki-代码审计、高级PHP应用程序漏洞审核技术;
研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。
5周
安全体系设计与开发
能建立自己的安全体系,并能提出一些安全建议或者系统架构。
开发一些实用的安全小工具并开源,体现个人实力;
建立自己的安全体系,对公司安全有自己的一些认识和见解;
提出或者加入大型安全系统的架构或者开发;
看自己发展咯~
如何进行Web渗透测试
什么是渗透测试?
渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。
如何进行Web渗透测试?
完整web渗透测试框架当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的最高目标是要保证交付给客户的安全测试服务质量。
1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;
系统分析威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;
制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;
测试执行漏洞挖掘:测试用例执行发散测试,挖掘对应的安全问题or漏洞;
问题修复回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;
项目总结评审:项目过程总结,输出文档评审,相关文档归档。
2、Web应用的渗透测试流程
主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:
一、信息收集
在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等
脚本语言的类型:常见的脚本语言的类型包括:php、asp、aspx、jsp等
测试方法:
1 爬取网站所有链接,查看后缀
2 直接访问一个不存在页面后面加不同的后缀测试
3 查看robots.txt,查看后缀
服务器的类型:常见的web服务器包括:apache、tomcat、IIS、ngnix等
测试方法:
1 查看header,判断服务器类型
2 根据报错信息判断
3 根据默认页面判断
目录的结构:了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。
测试方法
1 使用字典枚举目录
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robots.txt是否泄漏
使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
数据库类型:对于不同的数据库有不同的测试方法。
测试方法
1 使应用程序报错,查看报错信息
2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)
所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。
测试方法
1 使用字典枚举页面
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robots.txt是否泄漏
用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
二、漏洞发现
在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。
关于开源软件的漏洞发现
开源的软件:常见的开源软件有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、获取域名的whois信息,获取注册者邮箱姓名电话等。
2、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
3、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞。
4、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
5、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针。
6、google hack 进一步探测网站的信息,后台,敏感文件。
漏洞扫描:
开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等。
漏洞利用:
利用以上的方式拿到webshell,或者其他权限。
权限提升:
提权服务器,比如windows下mysql的udf提权。
日志清理:
结束渗透测试工作需要做的事情,抹除自己的痕迹。
总结报告及修复方案:
报告上包括:
1、对本次网站渗透测试的一个总概括,发现几个漏洞,有几个是高危的漏洞,几个中危漏洞,几个低危漏洞。
2、对漏洞进行详细的讲解,比如是什么类型的漏洞,漏洞名称,漏洞危害,漏洞具体展现方式,修复漏洞的方法。
如何做好网站入侵渗透测试?
网站入侵渗透测试分如下几个层面进行扫描测试:
1、内网扫描:扫描服务器代码漏洞等。
2、外网扫描:扫描目前市场已知漏洞等。
3、社会工程学扫描:排除人为的安全隐患因素。
(本回答由网堤云安全--渗透测试--提供)