网站地图    收藏   

主页 > 后端 > 网站安全 >

web脆弱性评估&漏洞利用 - 网站安全 - 自学ph

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] 这篇文章是有感于Web Analysis, Vulnerability Assessment and Exploitation using Backtrack5(http://resources.infosecinstitute.com/web-analysis-bt-5/), web安全性分析/漏洞利用一直是风险评估/渗透......

 

这篇文章是有感于Web Analysis, Vulnerability Assessment and Exploitation using Backtrack5(http://resources.infosecinstitute.com/web-analysis-bt-5/), web安全性分析/漏洞利用一直是风险评估/渗透测试过程中一个重要的环节。甚至有时是外网渗透测试过程中唯一的突破口。Hari Krishnan的文章虽然看似只是简单介绍了如何利用BT5中的一些工具进行web风险评估和漏洞利用,实质上从中还是可以看出web渗透测试的一个基本思想或者说是基本思路。个人觉得渗透测试也好,风险评估也好,每一个案例都是一个工程。如果渗透测试人员能够把每一次的渗透测试任务当成一项工程来做,并不断总结经验和教训,我相信个人能力一定会得到很大的提高。

    我的博客中介绍了很多各种各样的工具,最初的想法很简单,把好的东西分享给大家。并不是要在这里传播工具,悲剧的是12月15号,因为介绍了一款工具博客被短暂的和谐了,把文章删除以后就恢复了...,有人发邮件问我原因,没回复,这里算是回复了,谢谢提醒了。一个渗透测试人员不会使用工具是悲剧的,有两种情况发生一种是他什么也做不出来,另一种是做出来了,号称纯手工,貌似很高深,其实费了牛劲了。一个渗透测试人员如果只会使用工具那会更悲剧,因为很难再上一个层次,工具能做的他能做,工具做不了的他也做不了,这样会导致一个情况就是他可有可无,他谁都可以替代。细心的同学会发现我这里介绍的工具,大多数都是开源的,不是说闭源的没有好的工具,而是想大家真正的能从工具中吸收一些营养,一个工具无论它价值大小,或者不论它是成功的还是失败,总是凝结的了开发者的思想和技术在里面。成功的东西我们可以学习借鉴,失败的东西同样也可以学习借鉴。失败的东西至少可以让你少走一条失败的道路。

    所以说别人分享的工具一定要去用进而再去研究。以whatweb为例,拿到这款工具首先我们要把它用起来,在BT5上你就可以直接用了,如果你不想在BT5上使用,想在windows上使用,那你就要把它安装上,保证它可以正常工作。接着感受它的效果,要进行实际测试,既然它是web指纹识别,那就拿一些你可以确定的在线web应用系统测试。如果它是成功的我们可以将它加入到兵器库中,但绝对不是简单的将它放起了事,那样的话你会发现他在日后的应用中并不能得心应手。中文乱码、没有国内cms系统识别模块等等一些问题。接下来的事,才是你最应该去做的事,研究whatweb的技术原理。研究过程中你至少可以学到当前有哪些web应用程序识别方法,whatweb是以怎样的方式来做web应用程序识别的(whatweb的工作原理),whatweb的插件调度机制,如何开发whatweb插件,弄个discuz识别插件自己试一试,说出whatweb的成功和不足之处等等,whatweb研究透了,还可以思考:如果让我做一个web应用指纹识别产品我应该怎样去实现它?。

    以上YY了一些东西,无非是想说不要仅停留在用工具的层面,还要研究工具,修改工具,定制属于自己的工具,开发工具等等。借鉴一切可以借鉴的东西,把一切可以借鉴的东西变成自己的东西。www.2cto.com

   步入正题说web渗透测试,每个人做同一件事情或多或少总有些不同。事实上做事方法和角度可能不同,归根结底还是要遵循事物的一般规律,违背规律,你有apache的0day直接去攻击IIS,收到的结果可能也是徒劳。web渗透测试的大致有几个方面:信息的收集;漏洞的利用;获取shell。

   信息的收集,我们感兴趣的东西很多,如域名信息,子域名信息,DNS,web应用服务器信息,网站目录结构,web应用程序名称,web应用程序插件,管理员用户名称,email地址,安全防护设备信息等等。

    域名相关信息的获取:DNSDataView、Maltego、Revhosts、theHarvestor、srgn-infogather、QuickRecon、whoistd...

    web应用服务器信息的获取:httprint、httprecon...

    网站目录结构的获取:DirBuster、http-dir-enum,wfuzz,pywebfuzz...

    web应用程序识别:BlindElephant、CMS-Explorer、WhatWeb...

    web应用程序插件识别:plecost、wpscan、joomscan...

    waf检测:Waffit、ua-tester

    漏洞的利用,远程代码执行,上传漏洞、SQLi,LFI/RFI,XSS,CSRF等等

    web漏洞利用工具:SQLmap、Xsser、beef、Fimap、W3af、Xssploit、WebExploitationFramework、OWASP Mantra、pysqlin、themole...

    webshell太多了,不列举了。

上面列举了一些典型的web渗透测试工具,绝大多数都是脚本语言编写,并且开放源代码。研究这些工具,你可以完善、改造并形成自己的渗透测试工具集。其实说了这么多主要是表达web渗透测试的一个思路:先识别web应用程序,搜寻的公开漏洞,如果主程序没有漏洞,再识别web应用程序的插件信息,搜寻插件的公开漏洞。如果没有公开漏洞则挖掘或其他手段获取web应用程序or插件的0day漏洞。若web应用确实无懈可击还可以考虑社会工程。关键是尽可能多的获取各种相关信息,并根据这些信息找到一条切实可行的攻击路径。按照这个思路,要提高渗透测试的效率和成功率,需要我们积累,web应用程序的识别、插件的识别、公开漏洞,0day,利用各种web漏洞获取shell的方法等等。

    最后还想说的是我博客可以关闭,但请记住落后就要挨打,如果国外公开的技术或工具国内传播一下都不行,那我们与别人整体上的技术差距只能越来越远。这里强调整体上的差距是因为国内毕竟还有很多牛人,只是国内没有这个环境让他们把自己的研究拿出来分享。

出自:BugZone - http://www.pulog.org/Ori/2349/Web-Exploitation/ 转载必须注明!

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论