什么是exploit

来源:互联网 发布:千本樱动作数据 编辑:程序博客网 时间:2024/05/16 07:57

如果你刚刚学会穷举暴破,一定经常感到奇怪,为什么有些破解者发布的密码就是他的名字?为什么有些破解者能够发布某个网站的一大堆密码?而当你逐渐熟悉暴力破解之后,也自然会经常碰到这个问题,那就是--exploit。
  到底什么是exploit呀?谁能给我一些exploit list?这个exploit怎么利用呀?......诸如此类的问题随处可见。诚然,exploit是所有破解者追求的更高境界。能够通过exploit获得网站的大把密码,甚至添加具有个人特征的自定义密码,确实是令人羡慕的技巧。但是,如果你公开提出有关exploit的问题,并不会得到实质性的解答。于是大家开始抱怨,高手们怎么那么吝啬呀,公开一些小秘密又不会身上少块肉,干嘛把那些宝贝藏着掖着不肯泄露一丝一毫。有这些疑问和抱怨也很正常,说明你对exploit的概念和特点还不是很清楚。
  其实我也不会exploit,顶多算是刚刚沾边而已。之所以斗胆献丑,把自己对于exploit的理解写下来,目的是让新手们对exploit有个基本的认识,并且知道正确的努力方向,不再盲目提出那些让高手无法回答的问题而又四处抱怨没人教你。


★什么是exploit
  exploit字面上的意思是“开拓、开发”,而在破解圈子里面,公认的概念可能是“漏洞及其利用”。通俗的说,exploit就是利用一切可以利用的工具、采用一切可以采用的方法、找到一切可以找到的漏洞,并且通过对漏洞资料的分析研究,从而达到获取网站用户资料文档、添加自定义用户、甚至侵入网站获得管理员权限控制整个网站的最终目的。对于cracker来说,能够得到密码档或者添加用户就足够了。而对于hacker来说,控制整个网站才是目的。
  现在大家应该有些概念了吧。不管你用什么方法、什么工具,只要能够发现网站的漏洞,实现获取密码档、添加用户、控制网站的目标之一,那么你所做的就是exploit。
  那么漏洞又是什么东西呢?我们应该知道,所谓网站,不过是由放在服务器上的很多相关程序及文件所组成的。既然是人编写的程序,就不会是无懈可击的,再优秀的程序都会有这样那样的缺陷,否则人们就不需要没完没了的更新升级程序了。而网站的漏洞,可能是组成网站的程序本身的缺陷造成的,也可能是程序之间的配置缺陷而造成的,还有就是网站设计上的缺陷。


★关于exploit list
  exploit list就是一个已知漏洞的列表。
  网络上有很多公开的漏洞资料,如果你上google用不同的关键词搜索,就会找到很多这样的东西。
  一些扫描软件本身也附带漏洞列表。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最常利用的漏洞,虽然很难获得网站的管理员权限,但是想要找到密码档和添加用户还是比较容易的。
  缓存溢出也许是高级一点的exploit(这是hacker的常用手段之一),当然你必须了解如何造成缓存溢出并且会分析溢出的数据,从中找到可以利用的漏洞。
  还有telnet、Ddos什么的攻击方法,我是一无所知。
  呵呵,我也就知道这些。当然还有很多高级的exploit方法,那就要看你掌握多少知识了。
  综上所述,我们需要学习的基础知识包括unix系统和常用指令、cgi脚本代码、perl语言、C++语言以及其它编程语言。呵呵,想要掌握这些基础知识并不是一件容易的事情。当然,即使你没有这些相关的理论知识,也可以从朋友那里获得一些漏洞以及利用方法。但是,如果你想搞出属于自己的东西,就必须有这些理论基础。


★为什么exploit不宜于公开
  我想举个真实的例子来说明。
  曾经有一个ibillpm的漏洞,我们只需要在join页面查看源文件找出网站的ID,再用一个软件暴破出“校验码”,也就是real master account,就可以利用这个漏洞添加自定义用户。有关这个漏洞的利用方法曾经公开发表过,于是,很多人利用这个漏洞疯狂添加用户,更有甚者还宣称只要跟他的帖就替回应者添加个人密码。结果可想而知,这个漏洞很快就被网站修补了。现在,你几乎再也无法找到这种可以轻易利用的漏洞,不但ibillpm这个文件有了很多变种,而且real master account也不再是简单的校验码。
  这个例子再次证明了,公开漏洞就等于屠杀漏洞!
  找到系统漏洞并不是一件容易的事情,也许比盲目暴破要困难的多,因为你必须学习和掌握更多的相关知识。而一旦公开漏洞和利用方法,便会有很多人去利用这个漏洞做各种事情,这样很快就会被对方网管发现,如果网管修补了漏洞,那么你曾经花费的很多心血就付诸东流了。如果你也花费精力去找到一些漏洞并研究出利用方法,你就能够体会到,那是你的智慧和汗水的结晶。假如因为公开这些漏洞而导致它们失效,你同样也会品尝到那种丢失宝贝的滋味。
  至此你应该明白,在公开的讨论区见不到有关exploit的资料,提出问题也没有人搭理,这是很正常的事情。保护已知的漏洞,是每一个破解者不可推卸的责任。高手们不肯解答你的疑问,不管是出于保护漏洞的责任还是出于自私的心理,都是无可厚非的!


★如何交流exploit
  难到真的无法交流exploit么?也不是这样,很多破解论坛都有加密或隐藏的版块,就是专门给那些具有一定exploit基础的人互相交流的。当然,如果你不会exploit,可能没有资格进入那些专用版块(管理员除外哦)。
  现在你应该明白了吧。提高exploit技术的唯一途径就是先自学相关知识,等具有一定的能力,就有可能获准进入那些论坛的专用版块,和更多的朋友交流更多的信息。
  当然,你也可以和好朋友私下交流,从朋友那里得到帮助。不过,你同样需要具有一定的基础,否则,即使朋友们想帮也帮不了你。


★还想罗嗦几句
  如果有一些专业基础,学习exploit还相对容易一些。如果没有一点基础,想要学习exploit是非常困难的。至于有多么困难,等你钻进去就知道了。如果你不是天才,那就不要打算一边玩游戏泡MM一边学习exploit。
  可能有人会问,学到什么程度就算会exploit了?呵呵,这条路根本没有尽头!不要以为你掌握了几个漏洞就可以拿出来炫耀卖弄,在你身后会有更多的高手笑话你。
  下面我还想引用别人说过的话,也许对你有帮助。
  “看得懂的书,请仔细看。看不懂的书,请硬着头皮看。别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍。只看书是学不会什么东西的,“看书+实践”才是提高技术的根本。
  浮躁的人容易问:我到底该学什么?--别问,学就对了。  
  浮躁的人容易问:XX有钱途吗?--建议你去抢银行。
  浮躁的人容易说:我要中文版!我英文不行!--不行?学呀!
  浮躁的人容易问:XX和YY哪个好?--告诉你吧,都好--只要你学就行。
  浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人。
  请不要做浮躁的人!”

原创粉丝点击