国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
怎樣通過越界讀取漏洞導出內存中的Yahoo!認證密鑰

作者: 佚名  日期:2017-05-24 07:54:28   來源: 本站整理

 一、前言
在我之前發布的關于Yahoobleed #1(YB1)的一篇文章中,我們了解到如何利用未初始化漏洞獲取其他用戶的私密圖像信息。當時泄露的內存數據受制于JPEG圖像的壓縮機制,這種限制對某個圖像大盜來說不成問題,然而如果我們想要竊取其他類型的內存內容,已泄露的這些數據仍稍顯不足。
在這篇文章中,我會向大家介紹Yahoo!縮略圖服務器上存在的另一個滴血(bleed)類的漏洞,我們可以將這個稱之為Yahoobleed #2(YB2)。我們可以利用這個JPEG壓縮缺陷(現在這個缺陷依然存在)提取原始的內存字節。結合“strings”工具的使用,我們還可以發現更多驚喜。
Yahoo!通過棄用ImageMagic的方式,在修復YB1漏洞的同時也修復了YB2漏洞。大家可以參考我之前的一篇文章,通過Yahoo!的回復進一步了解漏洞的修復細節。
二、可視化

當我們觸發該漏洞時,Yahoo!服務器返回JPEG圖片上會出現某些噪點。如上圖所示,漏洞觸發后,Yahoo!服務器返回了某張JPEG圖片,將圖片的某個64x4區域轉化為png?www.myhack58.com格式(即無損格式),放大后可以看到某些噪點,如上圖所示。
這張圖片有許多有趣的地方值得注意,就現在而言,我們可以觀察到的是,圖片的頂部存在幾個指針圖像。我曾在Project Zero上發表過有關指針可視化的一篇文章,如果你對這篇文章有所了解,你可以在各種內存泄露場景中發現這類指針的存在。至少對于x86_64架構的Linux來說,該系統中的指針通常都包含一個0x00007f的前綴。這類指針的包含幾個特點,如:
1、使用相同的對齊方式重復類似的結構(64位系統上使用8字節對齊);
2、在指針塊中,白色垂直條紋指向的是被對齊的最重要的字節,表示的是0x00(需要注意的是,由于輸入文件的特殊格式,所泄露的字節實際上經過了取反處理);
3、在指針塊中,緊挨其后的黑色垂直條紋所代表的含義是某行的7個比特的值被設置為0x7f。
4、在指針塊中,緊挨其后的白色垂直細長條紋所代表的含義是該行的1個比特的值沒有被設置為0x7f。
但我們還是會遇到JPEG壓縮算法,這會不會對逐字節數據提取造成困難?我們會慢慢揭開這個謎題。
三、漏洞分析
我們不知道Yahoo!所使用的ImageMagic是否是最新版本,因此我們開始尋找相關的漏洞是否存在。我們已經知道Yahoo!支持RLE格式,之前我在一篇文章中介紹了如何使用某個技巧挖掘Box.com的內存損壞漏洞,也許我們可以使用相同的技巧對Yahoo!進行測試。
非常有趣的是,漏洞利用文件并不會導致任何文件崩潰,但服務器依然渲染了所有的測試文件,而最新版本的ImageMagic完全不會渲染這些文件。經過一番思考,我認為最有可能的解釋就是,Yahoo!所用的ImageMagic的確是存在漏洞的老版本,但根據我們對YB1漏洞的分析,Yahoo!使用了不一樣的堆設置,受對齊方式影響,我們的堆越界訪問測試用例無法在Yahoo!上生效。
為了驗證這個假設,我們構造了一個堆越界寫RLE文件,足以覆蓋堆中的某一小塊數據(64字節大小,大約會有16個字節被覆蓋),并將該文件上傳到Yahoo!上。訪問縮略圖URL后,服務器會較為穩定地(以大約50%左右的概率)返回如下結果:

這個結果看上去像是一個非常明顯的后端錯誤,我們猜測它最有可能是一個SIGSEGV錯誤,這個錯誤與已有兩年歷史的RLE內存損壞問題有關。
但是我們今天的目標并不是如何利用這個RCE內存損壞錯誤,雖然這個過程肯定非常有趣。我們的目標是通過滴血攻擊來提取數據,F在,我們手上擁有的是一個已有2.5歲年齡的ImageMagick,對于這個版本的ImageMagick而言,肯定有許多漏洞已經被修復了。經過一番搜索,我們找到了一個候選漏洞:一個已有2年以上歷史的、已經在SUN解碼器中修復的越界漏洞。在這個漏洞的修復代碼中,開發者似乎對長度做了相關檢查,同時更加徹底地應用長度檢查過程,使其能夠將色深(bit depth)為1的圖像包含在內。讓我們稍微研究一下沒有打上補丁的代碼,并且深入跟蹤程序對色深為1的圖片的解碼路徑,我們可以發現如下代碼(位于coders/sun.c中):
sun_info.width=ReadBlobMSBLong(image);
sun_info.height=ReadBlobMSBLong(image);
sun_info.depth=ReadBlobMSBLong(image);
sun_info.length=ReadBlobMSBLong(image);
[...]
number_pixels=(MagickSizeType) image->columns*image->rows;
if ((sun_info.type != RT_ENCODED) && (sun_info.depth >= 8) &&
((number_pixels*((sun_info.depth+7)/8)) > sun_info.length))
ThrowReaderException(CorruptImageError,"ImproperImageHeader");
bytes_per_line=sun_info.width*sun_info.depth;
sun_data=(unsigned char *) AcquireQuantumMemory((size_t) sun_info.length,
sizeof(*sun_data));
[...]
    count=(ssize_t) ReadBlob(image,sun_info.length,sun_data);
    if (count != (ssize_t) sun_info.length)
      ThrowReaderException(CorruptImageError,"UnableToReadImageData");
  
    sun_pixels=sun_data;
    bytes_per_line=0;
[...]
    p=sun_pixels;
    if (sun_info.depth == 1)
      for (y=0; y rows; y++)
      {
        q=QueueAuthenticPixels(image,0,y,image->columns,1,exception);
        if (q == (Quantum *) NULL)        break;
        for (x=0; x columns-7); x+=8)
        {
          for (bit=7; bit >= 0; bit--)
          {
            SetPixelIndex(image,(Quantum) ((*p) & (0x01 
              q);
            q+=GetPixelChannels(image);
          }
          p++;
        }
因此,我們發現代碼在處理色深為1的圖像時存在一個非常明顯的問題:
1、假設該圖片的屬性為:width(寬度)=256, height(高度)=256, depth(色深)=1, length(長度)=8;
2、色深為1的圖像會導致與sun_info.length對比的number_pixels的檢查過程被繞過;
3、sun_data所分配的緩沖區大小為8字節,而程序從輸入文件中讀取了這8個字節;
4、然后程序按每個像素1個比特的方式對圖片進行解碼。在這個過程中,sun_data總共需要(256*256)/8 == 8192個字節,但只有8個字節可用;
5、然后就出現大量的越界讀取問題;程序實際上是在一片越界內存中對圖片進行渲染。
四、漏洞利用
漏洞利用文件只有40個字節,因此我們可以在十六進制編輯器中觀察這個圖片的每個字節的含義:

59 A6 6A 95:                 頭部
00 00 01 00 00 00 01 00:   圖片大小256 x 256
00 00 00 01:                 圖片色深:每像素1比特
00 00 00 08:                 圖片數據長度為8
00 00 00 01:                 圖片類型為1:標準圖片
00 00 00 00 00 00 00 00:   map類型為空,長度為0
41 41 41 41 41 41 41 41:   8字節的圖片數據
對于這個漏洞利用文件,我們可以操縱的最為有趣的一個變量就是圖片數據長度(image data length)變量。只要我們將其大小控制在(256 * 256) / 8以內,我們就能復現越界讀取漏洞。但越界讀取從哪個位置開始呢?它會在圖片數據分配緩沖區的末尾開始。通過改變圖片數據的大小,我們最終有可能操縱堆中不同的相對地址(也許這些地址與緩沖區的開始或結束位置在距離上關系更為密切)。這樣一來我們有可能能夠讀取某些有趣的數據。
五、信息提取
顯然我們可以利用這個漏洞來提取信息,這也是這個漏洞真正有價值的地方所在。正如可視化部分所描述的內容,我們可以通過一個JPEG壓縮文件來嘗試提取信息。事實上我們可以通過ImageMagick獲得一張JPEG灰度圖像,因為前面每像素1比特的漏洞利用文件會生成一個黑白相間的圖形。我們可以利用JPEG灰度圖片較好地實現信息提取。人們之所以設計JPEG壓縮算法,主要是想欺騙人眼對圖片的直觀感知。相對比真實的顏色而言,人類視覺對顏色的亮度更為敏感,因此在壓縮算法中,顏色數據通常會比亮度數據丟失的信息更多(我們主要是通過YCbCr顏色空間實現這一點)。而JPEG灰度圖像中只有亮度數據存在。
回頭看看用于信息提取的那張JPEG圖像,我們仍然會遇到JPEG壓縮算法。我們會被這個困難所阻攔嗎?答案是否定的。因為我們的漏洞利用圖片是一張每像素1比特(黑色或白色)的圖片,因此我們只需要在信息提取的JPEG文件中精確控制每個像素的1比特信息熵即可。雖然某些白色像素實際上是有點淺灰色而不是全白色,且某些黑色像素實際上是有點深灰色而不是全黑色,但每個像素仍然非常接近于黑色或者白色。我當然沒有經過嚴密的數學計算,但事實上,對于Yahoo!服務器所使用的JPEG壓縮算法而言,每個像素的確包含1比特的信息熵。根據我的統計,與白色偏差最大的那個像素顏色大約為85%的白色(即非常淺的灰色),而信息丟失的閾值當然更低,可以達到50%或者以下。
我們可以嘗試從JPEG文件中恢復原始的字節,只需要使用如下的ImageMagick轉換命令即可:
convert yahoo_file.jpg -threshold 50% -depth 1 -negate out.gray
對于本文開頭的那個JPEG文件而言,恢復出來的原始內存字節如下所示:
0000000 d0 f0 75 9b 83 7f 00 00 50 33 76 9b 83 7f 00 00
0000020 31 00 00 00 00 00 00 00 2c 00 00 00 00 00 00 00
從中我們可以看到兩個指針:0x00007f839b75f0d0以及0x00007f839b763350。
六、字符串及密鑰
因此,現在我們有了一個在字節數據上相當可靠的信息提取方法,我們可以從Yahoo!縮略圖服務器上發現哪些有趣的字符串嗎?我們找到了許多信息量很大的字符串,我們用“redacted”替換了其中敏感的信息:
SSLCOOKIE: SSL=v=1&s=redacted&kv=0
Yahoo-App-Auth: v=1;a=yahoo.mobstor.client.mailtsusm2.prod;h=10.210.245.245;t=redacted;k=4;s=redacted
https://dl-mail.ymail.com/ws/download/mailboxes/@.id==redacted/messages/@.id==redacted/content/parts/@.id==2/raw?appid=getattachment&token=redacted&ymreqid=redacted
是的,結果看起來非常嚴重。
除了會話密鑰等有趣的字符串之外,我們還能看到其他信息嗎?是的,我們可以通過某些路徑、錯誤信息以及版本字符串發現服務器的確在使用ImageMagick,而且版本非常老:/usr/lib64/ImageMagick-6.8.9/modules-Q16/coders/sun.so
ImageMagick 6.8.9-6 Q16 x86_64 2014-07-25 http://www.myhack58.com

 

unrecognized PerlMagick method
顯然,這些字符串可以作為這個漏洞的佐證,同時我們還可以注意到字符串中涉及到PerlMagick。我對PerlMagick并不熟悉,可能PerlMagick是用來實現進程中的ImageMagick,這也是為什么我們的越界圖像數據能夠讀取這么多有趣信息的原因所在。
七、總結
這個漏洞非常有趣,我們發現服務器上存在內存泄露漏洞,可以將每個經過JPEG壓縮的像素的少量數據編碼后返回給我們,因此我們能夠較為穩定地重新構造原始的字節,還原服務器所泄露的內存數據。
在已啟用的解碼器中,不加限制地使用老版本的ImageMagick是一件非常危險的事情,通過棄用ImageMagick,Yahoo!應該已經修復了這些問題。



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    日韩精品免费专区| 欧洲精品码一区二区三区免费看| 日韩三级中文字幕| 国产一区二区三区在线视频 | 国产精品久久综合av爱欲tv| 成人激情春色网| 久久露脸国产精品| 亚洲伊人一本大道中文字幕| 久久免费视频2| 国产成人美女视频| 国产美女福利视频| 成人爽a毛片一区二区| 春意影院在线| 成人性爱视频在线观看| 亚洲tv在线| 国产精品hd| 91丝袜国产在线播放| 欧洲人成人精品| 久久天天躁狠狠躁夜夜躁2014 | 337p日本欧洲亚洲大胆张筱雨 | 色窝窝无码一区二区三区成人网站| 日韩中文字幕久久久经典网| 2018av男人天堂| free性护士videos欧美| 欧美精品一区二区三区精品| 激情综合五月天| 精品久久久久久久久久久久| 伊是香蕉大人久久| 91久久精品国产91久久性色tv| 91精品一区二区三区四区| 色哟哟在线观看视频| 麻豆精品久久久久久久99蜜桃| 视频二区在线观看| 天堂在线看视频| 国产v综合v| 日韩香蕉视频| 伊人性伊人情综合网| 伊人青青综合网站| 欧美日韩一区二区视频在线| 无码人妻一区二区三区精品视频| 久草视频在线资源站| 牛人国产偷窥女洗浴在线观看| 色久视频在线播放| 成人中文字幕视频| 国产原创一区二区| 6080国产精品一区二区| 国产91精品久久久| 免费看一级大黄情大片| 国产精品白浆一区二小说| 成人亚洲精品7777| 国内老司机av在线| 极品尤物久久久av免费看| 一区二区三区日本| 欧美激情精品久久久久久久变态| 视频一区二区精品| 少妇太紧太爽又黄又硬又爽小说 | 性久久久久久久久久| 亚洲 欧美 激情 另类| yjizz视频网站在线播放| 国产剧情在线观看一区| 中文字幕免费不卡在线| 日韩在线观看你懂的| 伊人色综合久久天天五月婷| 欧美在线视频第一页| www.狠狠色.com| www久久久| 91麻豆福利精品推荐| 一区二区三区无码高清视频| 在线一区日本视频| 久久久久久久福利| www.超碰在线.com| yourporn在线观看中文站| 99精品美女| 性做久久久久久| 国产mv久久久| 91手机视频在线| 国产福利久久久| 久播影院第一理论片| 免费毛片在线不卡| 亚洲一线二线三线视频| 国产成人精品在线| 中国极品少妇videossexhd| 九色porny丨精品自拍视频| 香蕉成人影院| 91免费视频大全| 国内免费精品永久在线视频| 国产女同无遮挡互慰高潮91| 亚洲视频网站在线| 欧美成人影院| 久久天天做天天爱综合色| 欧美国产日韩一区二区| 涩多多在线观看| 国产精品入口麻豆免费观看| 久久国产精品免费一区二区三区| 久久天天做天天爱综合色| 久久久亚洲福利精品午夜| 亚洲免费在线播放视频| 51成人精品网站| 亚洲理论电影片| 欧美视频在线观看免费| 国产一区视频观看| 国产无码精品视频| av小片在线| 国产精品小仙女| 国内成人精品一区| 在线免费观看黄色小视频| 被弄出白浆喷水了视频| 欧洲美女日日| 日韩欧美一二三四区| 国产黄色片免费在线观看| 亚洲剧场午夜在线观看| 欧美一级大片在线视频| 亚洲一区二区三区精品在线| 久久99精品久久久久久秒播放器| 免费一级片视频| 欧美高清视频| bt在线麻豆视频| 91精品国产乱码久久久张津瑜| 91精品国产精品| 国产一区二区三区在线观看免费 | 91亚洲免费视频| 亚洲小说春色综合另类网蜜桃| 欧美大片高清| 亚洲欧美成人一区二区三区| 国产成人精品一区二区三区福利| 欧美黑人一级片| 任你弄在线视频免费观看| 国产三级精品视频| 国产精品视频免费一区| 少妇又紧又色又爽又刺激视频| 二人午夜免费观看在线视频| 丁香天五香天堂综合| 成人黄色在线免费| 在线观看国产小视频| 国产精品视频一区视频二区| 欧美三级中文字幕| 不卡av免费在线| 成人羞羞视频免费看看| 麻豆成人综合网| 国产精品亚洲第一区| 男人天堂视频在线| 91精品麻豆| 日韩亚洲欧美综合| 日本亚洲一区二区三区| 在线观看国产视频| 91色porny在线视频| 麻豆传媒一区| 欧美性xxxxxbbbbbb精品| 天天综合国产| 欧美丰满片xxx777| 日韩精品成人在线| 日韩漫画puputoon| 欧美一区二区在线看| 无码人妻精品一区二区三区99不卡| 福利在线免费| 成人精品电影在线观看| 久久久久久九九九九| 四虎免费视频| 一本色道久久精品| 国产精品一区二区三区久久| 国产人妻精品一区二区三| 蜜桃a∨噜噜一区二区三区| 中文字幕av一区| 国产无码精品在线播放| 久久9999免费视频| 亚洲乱码国产乱码精品精天堂| 先锋影音网一区| 国产亚洲精品久久久久久青梅 | 在线视频1区| 久久久精品tv| 无码 制服 丝袜 国产 另类| 国产激情二区| 久久久综合精品| 免费网站在线观看视频| 无限国产资源| 国产精品的网站| aaaaaa亚洲| www.亚洲资源| 色国产综合视频| 国产高潮失禁喷水爽到抽搐 | 国产一级在线观看www色| 青椒成人免费视频| 欧美成人一区二区在线| 免费黄色小网站| 国产成人福利片| 无码人妻精品一区二区蜜桃百度| 天天操天天怕| 日本一区二区三区在线观看| 国产精品久久中文字幕| 男女网站在线观看| 色视频欧美一区二区三区| av鲁丝一区鲁丝二区鲁丝三区| 美女隐私在线观看| 欧美一级二级三级乱码| 久久久国产精品黄毛片| 五月花成人网| 日韩久久久精品| 日韩欧美成人一区二区三区| 久久精品青草| 精品久久中出|