挖网络程序初级教程.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
挖网络程序初级教程

序本文描述了一个用Peach挖掘漏洞的全过程,目的在于给想要学习的人一个总体上的理解。所用目标程序特别设计,有明显缺陷,因此不作为日后漏洞挖掘难度的参考。特别提醒,正因此程序有明显漏洞,所以不能在网络情况下,运行在自己的主机上,这样可能会被人拿到控制。实验环境:XP-SP3虚拟机+ peach运行环境研究目标程序本教程选取的是Vulnserver,一个自行设计有脆弱点的应用程序,通常用来练习漏洞利用技术。这是一个基本的服务器程序,接受TCP连接,并接受任意输入,这些输入可能会导致缓冲区溢出和SHE重写等漏洞。Vulnserver默认开启的端口号为9999,我们用netcat程序给Vulnserver发送数据,来观察它接受怎样的输入。Vulnserver程序和netcat程序在教程文件夹里都有。首先让我们先打开Vulnserver程序。先不管Vulnserver程序,再打开netcat程序,连接9999端口,并输入HELP查询可以输入的命令。不管这些命令是什么意思,任选一个输入,观察一下Vulnserver的反应,比如我们选择HTER 1234。观察Vulnserver,可知道它确实接收到了数据。至此我们已经找到了目标程序的接受的数据格式,所以以HTER [hter_value]为数据模型,编写peach pit模板。编写peach pit模板复制一个模板peach pit文件,对它进行修改是一个聪明的做法。然后就是对它的几个模块进行分析和改写。2.1.DataModel我们要进行变异的数据为命令行“HTER [可选值]”,HTER和之后的一个空格是必要格式,不能对此进行变异,还要在命令后加一个换行符,所以数据模块应为:DataModel name=DataHTERString value=HTER mutable=false token=true /String value= /String value=\r\n mutable=false token=true //DataModel请注意,HTER后有一个空格。StateModelVulnserver是一个服务器程序,我们理解它的收发数据的过程为,先对发送请求的程序(测试过程中,这个程序为peach fuzzer)回应一个数据DataResponse,然后接受一个数据DataHTER(即我们进行模糊测试的数据),最后再回应一个数据DataResponse,所以还需要有一个DataModel为DataReSponse的,不对它进行格式定义,因为我们要用测试的是DataHTER数据块。所以,StateModel应为:StateModel name=StateHTER initialState=InitialState name=InitialAction type=inputDataModel ref=DataResponse //ActionAction type=outputDataModel ref=DataHTER //ActionAction type=inputDataModel ref=DataResponse //Action/State/StateModelDataResponse为:DataModel name=DataResponse String value= //DataModelAgent对于Agent的配置,本教程先不去深究每一个元素和属性的意义,在此需要配置的是Windbg的路径和启动目标程序的命令行。Agent name=RemoteAgent location=tcp://127.0.0.1:9001Monitor name=Debugger class=WindowsDebuggerParam name=CommandLine value=C:\Program Files\vulnserver\vulnserver.exe /Param name=WinDbgPath value=C:\Program Files\Debugging Tools for Windows (x86) //Monitor/AgentTestTest是测试的配置,它需要指定Agent(因为一个Peach pit文件里可能不止一个Agent),指定StateModel(原因同Agent),配置Publisher和Logger。Publisher是数据交换的接口,Logger主要配置日志路径,默认在当前工作空间。Test name=TestHTERAgent ref=RemoteAgent /StateModel ref=StateHTER/Publisher class=TcpClientParam name=Host value=127.0.0.1 /

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档