★什么是exploit exploit字面上的意思是“开拓、开发”,而在破解圈子里面,公认的概念可能是“漏洞及其利用”。通俗的说,exploit就是利用一切可以利用的工具、采用一切可以采用的方法、找到一切可以找到的漏洞,并且通过对漏洞资料的分析研究,从而达到获取网站用户资料文档、添加自定义用户、甚至侵入网站获得管理员权限控制整个网站的最终目的。对于cracker来说,能够得到密码档或者添加用户就足够了。而对于hacker来说,控制整个网站才是目的。 现在大家应该有些概念了吧。不管你用什么方法、什么工具,只要能够发现网站的漏洞,实现获取密码档、添加用户、控制网站的目标之一,那么你所做的就是exploit。 那么漏洞又是什么东西呢?我们应该知道,所谓网站,不过是由放在服务器上的很多相关程序及文件所组成的。既然是人编写的程序,就不会是无懈可击的,再优秀的程序都会有这样那样的缺陷,否则人们就不需要没完没了的更新升级程序了。而网站的漏洞,可能是组成网站的程序本身的缺陷造成的,也可能是程序之间的配置缺陷而造成的,还有就是网站设计上的缺陷。★关于exploit list exploit list就是一个已知漏洞的列表。 网络上有很多公开的漏洞资料,如果你上google用不同的关键词搜索,就会找到很多这样的东西。 kmdd&:|?p} 一些扫描软件本身也附带漏洞列表。AD自带的exploit list一直就是345个,从来没有增加过。CMXploiter1.2版本自带3K的list,而新版本CMXploiterIV虽然功能大大丰富,却没有了自带的list。PassCraft3.0中的exploit功能还自带200K的list,但是新版本的软件虽然将exploit功能独立出来,却同样没有了自带的list。可以看出来,这可能是一种趋势,为了保护已知的漏洞,很多流行的扫描软件不会再有自带的exploit list,至少不会再更新它的exploit list。 ) 现成的exploit list不会那么容易得到,别指望谁把这些东西拿出来共享。即使有这样的东西,里面恐怕也没有多少值钱的玩艺儿。只有自己不断努力,收集、整理相关资料,一点一点的丰富自己的漏洞列表。 有很多新手羡慕别人有一个庞大的漏洞列表,其实那样的列表即使给你,也未必对你有多大帮助。我们扫描漏洞的最终目的是要利用漏洞,如果你费了半天工夫,扫出一堆所谓的漏洞,可你却根本不懂如何去利用它们,那不是浪费时间么。所以,对于新手来说,用较小的漏洞列表扫描自己会利用的漏洞,可能是一种省时省力的办法。 ★exploit的基本过程--扫描、分析、利用 exploit的第一步,就是对目标网站进行扫描。可以用我们已知的漏洞列表进行扫描,看看对方有没有我们列表中的漏洞。也可以用一些专门的软件,扫描目标的其它相关信息,包括网站使用的操作系统版本、提供的服务以及开放的端口,等等。没有什么最好的扫描工具,每种扫描工具都有它的优点和缺点,能够扫出的东西也不一样。所以,你需要掌握尽可能多的扫描工具,根据不同的目标、不同的目的,选择合适的扫描工具。 exploit的第二步,就是对扫描获得的信息进行分析研究,从而找出漏洞所在以及利用的方法。这是最困难的过程,也是对你的相关知识的考验。我们扫描获得的信息可能是多种多样的,不同的信息需要不同的知识来分析。 exploit的第三步,如果我们通过分析已经找到漏洞以及利用的方法,就可以选用相应的工具,完成我们的最终目的--拿到密码档、添加用户、获得管理员权限,等等。★exploit需要哪些相关知识 简单说,你想利用什么样的漏洞,就需要什么样的知识。反之,你拥有什么样的知识,也就能够利用什么样的漏洞。 现今,大部分网站都采用unix做为操作系统,如果你只会玩windows,那就熄火了。我们需要学习unix系统的理论,至少要学会基本的unix指令。如果条件允许,最好在自己的电脑上安装一套unix(Linux)系统,这样学习起来会更直观、更有效。当然,安装unix系统并不是一件容易事情,建议新手先去一些相关网站和论坛,仔细浏览有关unix系统的安装使用方法以及常见问题,在充分了解相关知识的前提下,再去尝试安装。否则,弄坏了你的windows系统,可不要怪老黑没有提醒你。 不同的网站可能会选择不同的unix版本。不仅如此,你还要了解网站的构成元素,比如php、sql等等相关知识。另外,可能有些网站采用其它特殊的系统例如Zeus什么的,如果你想要搞它,就要先学习它。 cgi脚本是比较常见的漏洞,我们需要了解它是做什么用的以及运行的原理,还要想办法得到cgi脚本的源代码进行分析研究。因为目前大部分的cgi程序都是用perl语言编写的,所以你还要学习perl的相关知识。cgi是cracker最常利用的漏洞,虽然很难获得网站的管理员权限,但是想要找到密码档和添加用户还是比较容易的。 %GIH8'e*D 缓存溢出也许是高级一点的exploit(这是hacker的常用手段之一),当然你必须了解如何造成缓存溢出并且会分析溢出的数据,从中找到可以利用的漏洞。 还有telnet、Ddos什么的攻击方法,我是一无所知。 呵呵,我也就知道这些。当然还有很多高级的exploit方法,那就要看你掌握多少知识了。 综上所述,我们需要学习的基础知识包括unix系统和常用指令、cgi脚本代码、perl语言、C++语言以及其它编程语言。呵呵,想要掌握这些基础知识并不是一件容易的事情。当然,即使你没有这些相关的理论知识,也可以从朋友那里获得一些漏洞以及利用方法。但是,如果你想搞出属于自己的东西,就必须有这些理论基础。★为什么exploit不宜于公开 曾经有一个ibillpm的漏洞,我们只需要在join页面查看源文件找出网站的ID,再用一个软件暴破出“校验码”,也就是real master account,就可以利用这个漏洞添加自定义用户。有关这个漏洞的利用方法曾经公开发表过,于是,很多人利用这个漏洞疯狂添加用户,更有甚者还宣称只要跟他的帖就替回应者添加个人密码。结果可想而知,这个漏洞很快就被网站修补了。现在,你几乎再也无法找到这种可以轻易利用的漏洞,不但ibillpm这个文件有了很多变种,而且real master account也不再是简单的校验码。 5~]w -20; 这个例子再次证明了,公开漏洞就等于屠杀漏洞! >2q/M[W0`] 找到系统漏洞并不是一件容易的事情,也许比盲目暴破要困难的多,因为你必须学习和掌握更多的相关知识。而一旦公开漏洞和利用方法,便会有很多人去利用这个漏洞做各种事情,这样很快就会被对方网管发现,如果网管修补了漏洞,那么你曾经花费的很多心血就付诸东流了。如果你也花费精力去找到一些漏洞并研究出利用方法,你就能够体会到,那是你的智慧和汗水的结晶。假如因为公开这些漏洞而导致它们失效,你同样也会品尝到那种丢失宝贝的滋味。 至此你应该明白,在公开的讨论区见不到有关exploit的资料,提出问题也没有人搭理,这是很正常的事情。保护已知的漏洞,是每一个破解者不可推卸的责任。高手们不肯解答你的疑问,不管是出于保护漏洞的责任还是出于自私的心理,都是无可厚非的!