Android APP測(cè)試標(biāo)準(zhǔn)規(guī)范_第1頁(yè)
Android APP測(cè)試標(biāo)準(zhǔn)規(guī)范_第2頁(yè)
Android APP測(cè)試標(biāo)準(zhǔn)規(guī)范_第3頁(yè)
Android APP測(cè)試標(biāo)準(zhǔn)規(guī)范_第4頁(yè)
Android APP測(cè)試標(biāo)準(zhǔn)規(guī)范_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

AndroidAPP測(cè)試

標(biāo)準(zhǔn)規(guī)范

目錄

一、鑒權(quán)機(jī)制缺陷............................................................4

1.Token缺陷繞過(guò)鑒權(quán)機(jī)制..............................................4

2.傳輸數(shù)據(jù)可修改,造成越權(quán)訪問(wèn)........................................5

3.用戶登錄會(huì)話失效測(cè)試................................................5

(二)、客戶端保護(hù)評(píng)估.....................................................6

1.組件ContentProvider配置錯(cuò)誤,導(dǎo)致數(shù)據(jù)泄漏.........................6

2.組件Activity配置錯(cuò)誤,導(dǎo)致登錄頁(yè)面被繞過(guò)...........................8

3.組件Service配置錯(cuò)誤,導(dǎo)致非法權(quán)限提升.............................9

4.組件BroadcastReceiver配置錯(cuò)誤,導(dǎo)致拒絕服務(wù)、非法越權(quán)...........10

5.開(kāi)啟allowbackup備份權(quán)限,存在備份數(shù)據(jù)泄露風(fēng)險(xiǎn)...................11

6.開(kāi)啟Debuggable屬性,存在應(yīng)用信息篡改泄露風(fēng)險(xiǎn)....................13

7.APK客戶端篡改.....................................................13

8.反編譯保護(hù)..........................................................15

9.系統(tǒng)底層擊犍記錄...................................................16

10.Activity界面劫持..................................................18

11.安卓應(yīng)用無(wú)自動(dòng)鎖屏功能............................................19

12.開(kāi)發(fā)者證書(shū)不規(guī)范,導(dǎo)致開(kāi)發(fā)者身份信息不明........................20

13.WebView的JS對(duì)象注入漏洞.......................................22

(三)、敏感數(shù)據(jù)暴露......................................................24

1.不安全的本地存儲(chǔ)...................................................24

2.明文傳輸用戶名,密碼和驗(yàn)證碼等敏感信息............................26

3.手勢(shì)密碼信息本地保存...............................................29

4.泄露后臺(tái)服務(wù)器地址.................................................30

5.日志信息泄露.......................................................31

(四)、二進(jìn)制保護(hù).........................................................32

1.動(dòng)態(tài)調(diào)試............................................................32

2.進(jìn)程調(diào)試...........................................................33

3.內(nèi)存代碼注入.......................................................34

4.內(nèi)存dump..........................................................................................................34

(五)、應(yīng)用安全策略......................................................37

1.密碼復(fù)雜度檢測(cè)......................................................37

2.賬戶鎖定策略.......................................................37

3.賬號(hào)登錄限制.......................................................37

4.私密問(wèn)題驗(yàn)證.......................................................38

5.會(huì)話安全設(shè)置.......................................................38

6.界面切換保護(hù).......................................................38

7.ui信息泄露.........................................................39

8.驗(yàn)證碼安全性.......................................................39

9.安全退出...........................................................39

10.密碼修改驗(yàn)證......................................................40

(六)、手勢(shì)密碼安全性....................................................40

1.手勢(shì)密碼復(fù)雜度.......................................................40

2.手勢(shì)密碼修改和取消.................................................40

3.手勢(shì)密碼鎖定策略...................................................41

4.手勢(shì)密碼抗攻擊測(cè)試.................................................41

(七)、密碼軟鍵盤(pán)安全性..................................................42

1.鍵盤(pán)劫持...........................................................42

2.隨機(jī)軟鍵盤(pán)布局.....................................................43

(A)、通信安全...........................................................44

1.通信力口密...........................................................44

2.證書(shū)有效性檢測(cè).....................................................44

3.訪問(wèn)控制(僅能由手機(jī)訪問(wèn))........................................45

一、鑒權(quán)機(jī)制缺陷

1.Token缺陷繞過(guò)鑒權(quán)機(jī)制

問(wèn)題描述,如果被測(cè)應(yīng)用沒(méi)有使用有效的token機(jī)制,對(duì)登陸響應(yīng)中的服務(wù)器返回的

鑒權(quán)信息進(jìn)行修改,即可繞過(guò)服務(wù)器鑒權(quán),直接訪問(wèn)系統(tǒng)內(nèi)部信息。

檢查方法和步驟:

1.利用BurpSuite監(jiān)聽(tīng)登陸響應(yīng),對(duì)登陸響應(yīng)中的服務(wù)器返回的鑒權(quán)信息進(jìn)行修改。

一k”,。2Vl501?hcecedt。LarrvSu.…,―

IZg[ftrcxy]Spdf]Sctm]utrwdfjR-[S^eftCfjDtcM.j8Tpy[Ejd-fj0加n.]AMru]

(jg[H—xy]Opecnt]

F”M69CSS.irwofsMOfnerslgerycoMwtNDMtoeoftcextertwn*

E

▲HMtURLPareMMM,S

106rttpAtzuft)^poitalnet,WS?Asynchronou3xao”》Q5xMema2ddnr4j>a”Md*gnf!Aoe?-3576S€051960140QJ

,1900140a28rs

NfpAtzjift)qpoftainetAVSMewOrgServiccCMASfflxa□

MtpABfbqpoftalnetAVSMewOrQServictOUawnxa

Ntp^2qkM2?ofWnct^ctem<produciAcim,fefichDecitacflon?re^ettJsoft-?^%2FuNUaKnFT7S9?4GWeCNQUnQeRWAa28x4s

tap2“zh—ertg90VcnAVMMftefa'G?mtwU6d<r

MtpAtrrM?ortAiTfio/uinetMSMwWSAp0C4tion?MK?WSDlr

BttpA\nrw2jpOft*tfi?U

MlpAUttjllb^pO?WMt岫

a453

tap種,Ujiibgw2Mo-o?n^eM同p<2MR?a2lt

N!pA2^MqpO<Ulg<€^方W$UwVNcCy^?W0^nt>CWwtlKI有

RequMl[On9relrwpOfiM[£MdrM0O?%M]

jRawjriMdenJUp|

M-rip..1:oucr7

Cache-Contro1:private

Contenc-Type:cexc/plaln;chai:9?cautf-8

Vary:Accept-Encoding

Server:Nicro8otc-nS/7.5

X-AspNet-Verslon::.0.S072?

X-Poweired-By:ASP.NTT

Date:rel,2€Jun20X508:12:36GKT

Cont?nc-L?ngth:42

(?d”b;P00Cm~,wreault*:*l*P

[7j[<j[?j[?jr?*awerchterm0natchn

圖1.利用BurpSuite進(jìn)行監(jiān)聽(tīng)并修改鑒權(quán)信息

2.修改后成功繞過(guò)登錄界面,進(jìn)入應(yīng)用界面。

圖2.進(jìn)入應(yīng)用界面

檢查工具:BurpSuite

整改建議:使用有效的token機(jī)制進(jìn)行鑒權(quán)。

2.傳輸數(shù)據(jù)可修改,造成越權(quán)訪問(wèn)

問(wèn)題描述:利用已有的用戶名密碼登錄應(yīng)用,當(dāng)應(yīng)用訪問(wèn)某一模塊時(shí),使用BurpSuite

等工具進(jìn)行監(jiān)聽(tīng),對(duì)訪問(wèn)該模塊時(shí)的關(guān)鍵信息進(jìn)行替換,則可越權(quán)訪問(wèn)他人的應(yīng)用模

塊。

檢查方法和步驟:

1.利用已知的用戶名密碼登錄被測(cè)應(yīng)用。

2.利用BurpSuite對(duì)被測(cè)應(yīng)用進(jìn)行監(jiān)聽(tīng)。確保BurpSuite上的“interceptison(監(jiān)

聽(tīng)是打開(kāi)的)”。

3.以用戶在應(yīng)用中登錄郵箱為例,在用戶登錄郵箱的過(guò)程中,可以利用BurpSuite

將數(shù)據(jù)包中該用戶的手機(jī)號(hào)碼更改為本公司通訊錄內(nèi)的任意手機(jī)號(hào)碼,則可成功

登錄他人郵箱,導(dǎo)致越權(quán)訪問(wèn)問(wèn)題。

檢查工具:BurpSuite

整改建議:在傳輸過(guò)程中對(duì)敏感數(shù)據(jù)進(jìn)行加密傳輸,并且在單點(diǎn)登錄過(guò)程中采用有效

的token機(jī)制進(jìn)行鑒權(quán)。

3.用戶登錄會(huì)話失效測(cè)試

問(wèn)題描述:用戶長(zhǎng)時(shí)間不操作被測(cè)應(yīng)用,未見(jiàn)被測(cè)應(yīng)用自動(dòng)退出會(huì)話。

檢查方法和步驟:

1.在模擬器中安裝手機(jī)APP客戶端,切換到賬戶顯示頁(yè)面,長(zhǎng)時(shí)間不操作應(yīng)用,再刷

新頁(yè)面或使用其他功能,查看是否需要重新登錄。

11i101:40[

<賬戶

個(gè)人信息風(fēng)險(xiǎn)等級(jí):中離>

余額寶答的未簽約》

銀行卡光大銀行國(guó)號(hào)8109

消息通知

修改登錄空碼

密同保護(hù)

關(guān)于

聯(lián)系我們

的助

退出首錄

圖3.賬戶顯示頁(yè)面

檢查工具:Android模擬器

整改建議:建議用戶長(zhǎng)時(shí)間不操作應(yīng)用的話,自動(dòng)退出會(huì)話,或彈出提示,需要重新

登錄。

(二)、客戶端保護(hù)評(píng)估

1.組件ContentProvider配置錯(cuò)誤,導(dǎo)致數(shù)據(jù)泄漏

問(wèn)題描述:ContentProvider是安卓應(yīng)用組件,以表格的形式把數(shù)據(jù)展現(xiàn)給外部的應(yīng)

用。每個(gè)ContentProvider都對(duì)應(yīng)一個(gè)以“content://w開(kāi)頭的特定URI,任何應(yīng)用都可

以通過(guò)這個(gè)URI操作ContentProvider應(yīng)用的數(shù)據(jù)庫(kù)。如果應(yīng)用對(duì)權(quán)限控制不當(dāng)就會(huì)

造成信息泄露。

檢查方法和步驟:

1.使用drozer獲取所有可以訪問(wèn)的URI:

runvider.finduris-a(packagename)(packagename是待檢測(cè)]的應(yīng)用包名)

_mercury>runvider.finducts-acom.nwr.example.sieve

"scanningcom.nwr.example.sieve

UnabletoQuerycontent://con.nwr.example.sieve.DBContentProvtder/

-UnabletoQuerycontent://com.nwr.example.sieve.FtleBackupProvlder/

UnabletoQuerycontent://com.mwr.example.sieve.DBContentProvtder

4AbietoQuerycontent://com.mwr.example.sieve.DBContentProvtder/Passwords/

-AbletoQuerycontent://com.mwr.example.sieve.DBContentProvider/Keys/

.UnabletoQuerycontent://com.mwr.example.sieve.FileBackupProvtder

AbletoQuerycontent://com.mwr.example.sieve.DBContentProvtder/Passwords

"UnabletoQuerycontent://com.mwr.example.sieve.DBContentProvider/Keys

AccessiblecontentURIs:

彳content://com.mwr.example.sieve.DBContentProvider/Keys/

-content://com.mwr.example.sieve.DBContentProvider/Passwords

econtent://com.mwr.example.sieve.DBContentProvider/Passwords/

圖4.利用drozer獲取可以訪問(wèn)的URI

2.使用drozer獲取各個(gè)URI的數(shù)據(jù):

runvider.query

content://com.mwr.example.sieve.DBContentProvider/Passwords/

(content://com.mwr.example.sieve.DBContentProvider/Passwords/

是上一步驟中得到的可以訪問(wèn)的URI)

content://con.nwr.example.sieve.DBContentProvider/Passwords/

mercury*runvider.querycontent://con.mwr.example.sieve.DBContentProvLd<

r/Keys/

|Password|pin|

mercury*runvider.querycontent://com.nwr.example.sieve.DBContentProvtdc

r/Passwords

|_td|service|username|password|email|

mercury〉runvider.querycontent://con.nwr.example.sieve.DBContentProvtde

r/Passwords

|_td|service|username|password|email|

mercury*runvider.querycontent://com.nwr.example.sieve.DBContentProvtdc

r/Passwords/

|_td|service|username|password|email|

mercury*runvider.querycontent://con.nwr.example.sieve.DBContentProvtde

r/Passwords/

|_id|service|usernane|password|email|

mercury〉!

圖5.利用drozer獲取可以訪問(wèn)的URI數(shù)據(jù)

檢查工具:drozer

整改建議:在被測(cè)應(yīng)用的AndroidManifest.xml文件中,設(shè)置provider的android:exported

屬性為false或者通過(guò)設(shè)置自定義權(quán)限來(lái)限制對(duì)contentprovider的訪問(wèn)。

2.組件Activity配置錯(cuò)誤,導(dǎo)致登錄頁(yè)面被繞過(guò)

問(wèn)題描述:Activity是安卓應(yīng)用組件,提供與用戶進(jìn)行交互的界面。如果應(yīng)用對(duì)權(quán)限控

制不當(dāng),可以繞過(guò)登錄界面直接顯示該界面。

檢查方法和步驟:

1.使用drozer檢查應(yīng)用中是否存在暴露的activity,使用命令run-a(package

name)o(packagename是待檢測(cè)的應(yīng)用包名)

dz>run-acom.isi.testapp

Package:com.isi.testapp

com.isi.testapp.MainActivity

com.isi.testapp.Welcome

dz>l4

圖6.利用Drozer檢查是否有暴露的Activity

2.在上圖中com.isi.testapp.MainActivity是正常啟動(dòng)的主界面。

com.isi.testapp.Welcome是登錄鑒權(quán)后才能啟動(dòng)的界面??梢允褂靡韵旅顕L試啟動(dòng)。

runapp.activity.start--componentcom.isi.testappcom.isi.testapp.Welcome

dz>runapp.activity.start--componentcom.isi.testappcom.isi.testapp.Welcome

dZA[]

圖7.利用Drozer啟動(dòng)Activity

圖8.利用Drozer啟動(dòng)Activity進(jìn)入界面

檢查工具:Drozer

整改建議:通過(guò)設(shè)置自定義權(quán)限,限制對(duì)Activity的訪問(wèn)。

3.組件Service配置錯(cuò)誤,導(dǎo)致非法權(quán)限提升

問(wèn)題描述:Service是Android中四大組件進(jìn)行后臺(tái)作業(yè)的主要組件,如果被測(cè)應(yīng)用對(duì)

權(quán)限控制不當(dāng),導(dǎo)致其他應(yīng)用可以啟動(dòng)被測(cè)應(yīng)用的Serviceo

檢查方法和步驟:

1.使用JEB檢查APK中是否存在暴露的Service,將apk拖入JEB中,然后查找暴露的Service

oerviceandroid:naie?,,co!ii.cleanBiaster.app¥idget.WidgetSen.lce"android:process?":service">

(actionandroid:naxe="com.cleanmaster.appwidget.ACTION_FASTCLEAN"/>

(actionandroid:nare?"com.cleanaaster.appwidg-et.ACTION_REPORT_ACTIVE"/>

〈actionandroid:naxe?"com.cleanmaster.appwidg,et.ACTION_REMNE_GO_WIDGET"/>

(actionandroid:naxe?"cau.cleanmaster.appwidg-et.ACTION_RESBT_FAST_CLEAW*/>

<actionandroid:naxe?"co?.cleanxeaster.appwidget.ACTION__ADD__GO_WIIX^T"/>

</intent-filter>

圖9.利用正B檢查是否有暴露的Service

或使用drozer命令run-apackagename來(lái)查找暴露的service

dz>runapp.service.info-acom.landray.kkplus

Package:com.landray.kkplus

com.baidu^locatior^.f

iPerndssion:nu!T|?

com,xiaomi.mipusfusdk.PushMessageHandler

iPermission:nullI

圖10.圖利用drozer檢查是否有暴露的service

2.在上圖中com.cleanmaster.appwidger.WidgerService屬性設(shè)置錯(cuò)誤,導(dǎo)致暴露。

某被測(cè)應(yīng)用暴露了com.cleanmaster.appwidget.WidgetService服務(wù)組件當(dāng)向此服務(wù)發(fā)送

action為com.cleanmaster.appwidget.ACTION_FASTCLEAN的intent時(shí),便可結(jié)束后臺(tái)運(yùn)

行的一些app進(jìn)程。

Intentm■nowInt?nt<);

3in.setcomponent(newCotnponentNaae("com.cleanaaster.appwidget","com.cleanmaster.appwidget.widgetService"));

Nw

5in.putExtra(action*/**com.cloanmastar.appwidget-ACTION_FASTCLEAN;

JstaztSezvic?《in》;

圖11.利用Eclipse編寫(xiě)代碼啟動(dòng)Service

檢查工具:JEB,Eclipse

整改建議:在被測(cè)應(yīng)用的AndroidManifest.xml文件中,設(shè)置Service的android:exported

屬性為false或者通過(guò)設(shè)置自定義權(quán)限來(lái)限制對(duì)Service的訪問(wèn)。

4.組件BroadcastReceiver配置錯(cuò)誤,導(dǎo)致拒絕服務(wù)、非法越

權(quán)

問(wèn)題描述:BroadcastReceiver是Android中四大組件用于處理廣播事件的組件,若存

在配置不當(dāng)則其他應(yīng)用可以偽裝發(fā)送廣播從而可造成信息泄露,拒絕服務(wù)攻擊等。

檢查方法和步驟:

1.使用JEB檢查應(yīng)用中是否存在暴露的Receiver,將apk拖入JEB中,然后查找暴露的Receiver

<receiverandroid:name=Mcom.baidu,android.defense,push.PushMsgReceiver"android:process=H:bdservice_vl">

<intont-filtor>

<actionandroid:name="com,baidu.android.pushservice?act.ion.RECEIVE-/>

<actionandroid:name*mcom.baidu.android.pushsarvice.act.ion.MESSAGE"/>

</intent-filter>

圖12.利用JEB檢查是否有暴露的Receiver

或使用drozer命令run-apackagename來(lái)查看

dz>run-acom.landray.kkplus

Package:com.landray.kkplus

com.mibridge.easymi.engine.BootReceiver

Permission:null]

com.xiaomi.push.service.receivers.NetworkStatusReceiver

Permission:null*

com.mibridge.easymi.engine.thirdpartpush.xm.XMReceiver

IPermission:null?

cornrrnibridgeveasymi.engine.thirdpartpush.hw.HWReceiver

[Permission:nul^十..

com.huawei.android.pushagent.PushEventReceiver

FPermission:null—

com.huawei.android.pushagent.PushBootReceiver

iPermission:null!

圖13.圖利用drozer檢查是否有暴露的receiver

2.在上圖中com.baidu.android.defense.push.PushMsgReceiver屬性設(shè)置錯(cuò)誤,所以是暴露的。

某被測(cè)應(yīng)用中com.baidu.android.defense.push.PushMsgReceiver存在DOS攻擊的風(fēng)

險(xiǎn)oPushMsgReceive可接收com.baidu.android.pushservice.action.MESSAGE和

com.baidu.android.pushservice.action.RECEIVE兩種消息。發(fā)送com.baidu.androi-

d.pushservice.action.RECEIVE消息,可使被測(cè)應(yīng)用崩潰。

Buttonb2=(Button)findviewById(R.id.button2);

b2.setOnClickListener(newview.OnClickListener(){

publicvoidonClick(viewv){

Intentintent=newIntent().setAction(

Hcom.baidu.android?pushservice?action.RECEIVE").pu匕Extra(^content”,

w1f111919

{?response_params':,ababab,?channel_id:?1212?ruser_id*:3434,>zappid:543540");

sendBroadcast(intent);

!);

圖14.利用Eclipse編寫(xiě)代碼發(fā)送廣播

百度已停止

確定

圖15.利用漏洞將造成百度應(yīng)用關(guān)閉

檢查工具:JEB,Eclipse、drozer

整改建議:在被測(cè)應(yīng)用的AndroidManifest.xml文件中,設(shè)置receiver的

android:exported屬性為false或者通過(guò)設(shè)置自定義權(quán)限來(lái)限制對(duì)receiver的訪問(wèn)。

5,開(kāi)啟allowbackup備份權(quán)限,存在備份數(shù)據(jù)泄露風(fēng)險(xiǎn)

問(wèn)題描述:被測(cè)應(yīng)用的AndroidManifest.xml文件中allowBackup屬性值被設(shè)置為true,

可通過(guò)adbbackup對(duì)應(yīng)用數(shù)據(jù)進(jìn)行備份,在無(wú)root的情況下可以導(dǎo)出應(yīng)用中存儲(chǔ)的

所有數(shù)據(jù),造成用戶數(shù)據(jù)泄露。

檢查方法和步驟:

1.使用反編譯軟件ApkTool對(duì)apk進(jìn)行反編譯。使用命令apktooldXXX.apkABC反編譯

XXX.apk到文件夾ABC

圖16.利用apktool反編譯

ABC

文靜⑦HOP長(zhǎng)?電)XAH)■勘QP

,QJ尸**1由?

Jc“9s?gkM?MgejtBwro)Lur▼QWJ

爻件&文”其任務(wù)DraD-11

J配建一3?災(zāi)華英

?產(chǎn)薩個(gè)文仲英發(fā)也劃

3共享紇文樣其畫(huà)緡a

其它長(zhǎng)■

AMTCOL

疑如s

共.文修

他電w

R±a?

圖0.利用apktool反編譯

或使用jeb打開(kāi)被測(cè)應(yīng)用apk即可在mainfest中查看androidmanifest文件。

OMU'KjVMr4fA-ox

R*1N***9ae?€?>杼30?tM99?f*CMl

D媼/10Im->=I+r2aI㈤-I■nI0.(1]■>.『.,.Y.__________________________________________________________________________________________________________________

'T.P^ru^

*.LVDP****i*9U

::---01K<orveUltfMfBianC4M?a..

targetMkve*?S?A>a-**/>

?p?*?A>“6-'?€:

<UMB-p*OBl>tlonaMTOld:

tMMIMI?Mf0i4.?W?*?

y

.2-

QRM?urc*?

4MMC?

w?

圖18.圖利用jeb查看androidmanifest文件

2.AndroidManifest.xml是每個(gè)android程序中必須的文件,位于整個(gè)項(xiàng)目的根目錄,描述了

package中暴露的組件(activities,services,等等),以及各自的實(shí)現(xiàn)類,各種能被處理的數(shù)據(jù)

和啟動(dòng)位置。從安全角度來(lái)看,它包含了應(yīng)用程序中所有使用到的組件信息,同時(shí)它還會(huì)顯

示應(yīng)用程序使用的permissiosns信息。在其中搜索allowBackup屬性,檢查是否被設(shè)置為true。

檢查工具:ApkTookjeb

整改建議:將參數(shù)android:allowBackup屬性設(shè)置為false,防止數(shù)據(jù)泄漏。

6.開(kāi)啟Debuggable屬性,存在應(yīng)用信息篡改泄露風(fēng)險(xiǎn)

問(wèn)題描述:被測(cè)應(yīng)用的AndroidManifest.xml文件中Debuggable屬性值被設(shè)置為true,

可以設(shè)置斷點(diǎn)來(lái)控制程序的執(zhí)行流程,在應(yīng)用程序運(yùn)行時(shí)修改其行為。

檢查方法和步驟:

1.使用反編譯軟件ApkTool對(duì)apk進(jìn)行反編譯或使用jeb打開(kāi)被測(cè)應(yīng)用安裝包。詳見(jiàn)

第一節(jié)。

2.在AndroidManifest.xml中搜索Debuggable屬性,檢查是否被設(shè)置為t

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論