欢迎来到天天文库
浏览记录
ID:28075231
大小:446.01 KB
页数:9页
时间:2018-12-07
《挖网络程序初级教程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、本文描述了一个用Peach挖掘漏洞的全过程,M的在于给想要学习的人一个总体上的理解。所用FI紐程序特别设计,有明显缺陷,因此不作为日后漏洞挖掘难度的参考。特别提醒,正因此程序有明显漏洞,所以不能在网络情况下,运行在自己的主机上,这样可能会被人拿到控制。实验环境:XP-SP3虚拟机+peach运行环境1.研宄目标程序本教程选取的是Vulnserver,—个自行设计有脆弱点的应用程序,通常用来练习漏洞利用技术。这是一个基本的服务器程序,接受TCP连接,并接受任意输入,这些输入可能会导致缓冲区溢出和SHE重写等漏洞。Vulnserver默认幵启的端口号为
2、9999,我们用netcat程序给Vulnserver发送数掘,来观察它接受怎样的输入。Vulnserver程序和netcat程序在教程文件夹里都有。首先让我们先打开Vulnserver程序。会令fi示符-vulnserverMicrosoftWindowsXP【版本5?1?2600】版权所有1985-2001MicrosoftCorp.C:DocunentsandSettingsadn>uulnsci*wcrStartingvulnscrucrversion1.00Calledessentialfunctiondllversion1.0
3、0Thisisvulnerablesoftware!Donotallowaccessfronuntrustedsystemsornetworks?Waitingforclientconnections••.B开始命令»示符■vulCH先不管Vulnserver程序,再打开netcat程序,连接9999端口,并输入HELP查询可以输入的命令。不管这些命令是什么意思,任选一个输入,观察一下Vulnserver的反应,比如我们选择HTER1234。观察Vulnserver,可知道它确实接收到了数据。会令探示符-vulnservcr卜icrosoftWin
4、dowsXP[版本H2600】
5、版权所有1985-2001MicrosoftCorp.DocunentsandSettingsadn>wulnseruci*Startingvulnserveruci*sion1.00Calledessentialfunctiondllversion1.00Thisisvulnerablesoftware?Donotallowaccessfromuntrusteds6、nfrom127.0.0.1:1033Waitingforclientconnections...了3开始cC曲令投示符-vul...rc?命令现示符-xtc...CH[0%V19:53至此我们己经找到了目标程序的接受的数据格式,所以以HTER[hte『_valUe]力数据模型,编写peachpit模板。2.编写peachpit模板复制一个模板peachpit文件,对它进行修改是一个聪明的做法。然后就是对它的几个模块进行分析和改写。2.1.DataModel我们要进行变异的数据为命令行"HTER[可选值]〃,HTER和之后的一个空格是必要格式,不能7、对此进行变异,还要在命令后加一个换行符,所以数据模块应为:〈Stringvalue=〃r〃mutable=*false〃token=*true〃/>〈/DataModel〉请注意,HTER后有一个空格。2.2.StateModelVulnserver是一个服务器程序,我们理解它的收发数据的过程为,先对发送请求的程序(测试过程中,这个程序为peachfuzzer)8、回应一个数据DataResponse,然后接受一个数据DataHTER(即我们进行模糊测试的数裾),最后再回应一个数据DataResponse,所以还需要有一个DataModel为DataReSponse的,不对它进行格式;定义,因为我们要用测试的是DataHTER数据块。戶斤以,StateModel应为:9、,/>〈/Action〉〈Actiontype=〃output〃>〈DataModelref="DatallTEK"/>〈
6、nfrom127.0.0.1:1033Waitingforclientconnections...了3开始cC曲令投示符-vul...rc?命令现示符-xtc...CH[0%V19:53至此我们己经找到了目标程序的接受的数据格式,所以以HTER[hte『_valUe]力数据模型,编写peachpit模板。2.编写peachpit模板复制一个模板peachpit文件,对它进行修改是一个聪明的做法。然后就是对它的几个模块进行分析和改写。2.1.DataModel我们要进行变异的数据为命令行"HTER[可选值]〃,HTER和之后的一个空格是必要格式,不能
7、对此进行变异,还要在命令后加一个换行符,所以数据模块应为:〈Stringvalue=〃r〃mutable=*false〃token=*true〃/>〈/DataModel〉请注意,HTER后有一个空格。2.2.StateModelVulnserver是一个服务器程序,我们理解它的收发数据的过程为,先对发送请求的程序(测试过程中,这个程序为peachfuzzer)
8、回应一个数据DataResponse,然后接受一个数据DataHTER(即我们进行模糊测试的数裾),最后再回应一个数据DataResponse,所以还需要有一个DataModel为DataReSponse的,不对它进行格式;定义,因为我们要用测试的是DataHTER数据块。戶斤以,StateModel应为:9、,/>〈/Action〉〈Actiontype=〃output〃>〈DataModelref="DatallTEK"/>〈
9、,/>〈/Action〉〈Actiontype=〃output〃>〈DataModelref="DatallTEK"/>〈
此文档下载收益归作者所有