欢迎来到天天文库
浏览记录
ID:16335367
大小:131.00 KB
页数:24页
时间:2018-08-09
《perl快速入门教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Perl黑客编程作者:riusksk(泉哥)主页:http://riusksk.blogbus.com邮箱:riusksk@qq.com目录一.Perl简介二.Windows下的Perl环境搭建三.基础知识四.数组五.条件与循环语句六.用户数据获取七.文件读写八.子程序九.LWP模块十.套接字Socket十一.编写攻击代码(1)XSSexploit(2)SQLInjectionExploit(3)远程文件包含(4)LFI2RCEExploit(5)本地溢出(6)远程溢出十二.结论一.Perl简介
2、Perl是PracticalExtractionandReportLanguage的编写,它是由LarryWall设计的,主要用于UNIX环境下编程,当然目前它也是只支持Windows系统的,本文主要也是讲在Windows下的Perl编程,并侧重于黑客安全方面。Perl如脚本语言一般,无需经编译器来编译才能运行代码,应用起来也很简便,特别是用它来写exploit尤为流行。据统计,目前世界上有70%的exploit是用Perl来编写的。在国内,由安全焦点出版的《网络渗透技术》一书提到的主要编程语言
3、中,主要有perl,c,asm三种,书中提到在阅读此书的预备知识中就要求熟悉C,Perl,Asm,由此可见,perl语言在国内安全方面的应用也是占有一席之地的。在国外著名漏洞公布站点milw0rm中,我们也可以经常看到用perl编写的exploit,无论是在脚本攻击中,还是在系统漏利用中,特别是在溢出攻击中,都可以经常见到它的身影。除此之外,有些安全人士也用它来编写Fuzzing工具,用于挖掘漏洞。另外,本文讲述的只是Perl语言中的冰山一角,如果读者想深入学习该语言的话,建议学习一下官方文档或
4、者其它编程书籍。二.Windows下的Perl环境搭建在开始Perl编程之旅之前,读者需要先下载两样工具:ActivePerl和EditPlus。ActivePerl是一款Perl解释器,可在AIX,HP-UX,Linux,MacOSX,Solaris和Windows等多操作系统平台下使用,使用起来也很简便,直接双击编写好的*.pl文件(perl的文件格式)(这种方法可能会在未看清楚输出结果就自动关闭了,但如果你只是为了生成某个文件,就可以直接使用这种方法,比如在本地溢出利用中用于构造可触发溢出
5、的文件)或者在DOS下输入如下命令即可:perlexample.plEditPlus 是 Windows 下的一个简便的 Internet 32 位文本编辑器、HTML 编辑器和程序设计员的编辑器,支持 HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript 和 VBScript 等多种语言的代码高亮显示,使用者也可根据自己需要到其官方网站下载语言包去支持其它语言(如汇编语言)的代码高亮,读者可也根据自己喜好选择其它编辑器,如Notepad++。现在我们可新建一个
6、example.pl:print"HelloWorld!";然后打开DOS进入example.pl文件所在目录,输入命令:perlexample.pl后,执行结果如下所示:d:>perlexample.plHelloWorld!三.基础知识在Perl中,变量的定义是在变量名之前加上符号'$',完成后记得加分号';'例如:$x=123;(十进制数,注意分号的使用,这跟C语言是相同的。)$y=0xff;(十六进制数)$z=-32.2;(浮点数)$string=“I’mriusksk.”;(
7、对于包含空格的字符串要加双引号,是英文输入法中的双引号,而非中文的双引号。如果无空格,那么不加引号也是可以的。除此之外,单引号也是可以的,除非字符串中已经含有单引号,就像这一句就只能使用双引号了,但是使用单引号后,不能解释转义符,也就是说,如果使用了单引号,那么它就会把之类的转义符直接输出,而不是换行。)一些常见的转义符如下:NewLinerReturntTabfFormFeedbBackspacevVerticalTabeEscapeaAlarmLLowercaseAl
8、llLowercaseNextUUppercaseAlluUppercaseFirst在perl中,"#"是不为解释器所解释的,它是作为注释符来使用的,比如将以下代码保存为riusksk.pl文件:$name=“riusksk”;#mynameprint$name;那么运行后它会直接输出:d:>perlriusksk.plriusksk现在我们将上面的代码改成:$hello=“Hello,”;$name=“riusksk!”;#mynameprint“$hello”.”$name
此文档下载收益归作者所有