电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

從黑客角度檢驗(yàn)oracle數(shù)據(jù)庫

瀏覽:165日期:2023-11-20 09:46:09
一 State of Oracle Security (oracle的安全狀態(tài))1 來之媒體的報(bào)道:超過十分之一的于internet上公司數(shù)據(jù)庫有安全隱患。一份來之750家美國數(shù)據(jù)庫開發(fā)商開始對(duì)數(shù)據(jù)庫安全表示憂慮。2 黑客世界的秘密:討論會(huì)對(duì)數(shù)據(jù)庫被黑的報(bào)道增多。– Blackhat, Defcon EXPliots 蠕蟲侵蝕著數(shù)據(jù)庫– Alpha Voyager– Spida worm攻擊oracle的白皮書3 oracle網(wǎng)站-Alerts Web pagehttp://otn.oracle.com/deploy/securi...Info&alerts.htmPrior to July 2000-One vulnerability acknowledged by OracleFrom July 2000 to August 2002-41 vulnerability reports on the Oracle websiteVulnerabilities reported onSecurityFocus.com-About 75 vulnerabilities reported about Oracle4 防火墻后邊神秘的oracle是安全的大多數(shù)的折衷安全是內(nèi)部工作的結(jié)果內(nèi)部威脅是最危險(xiǎn)的數(shù)據(jù)庫中的非特權(quán)用戶5 面對(duì)這樣狀況我們要做什么對(duì)漏洞的修復(fù)警惕風(fēng)險(xiǎn)和威脅找到正確的解決方案二 Securing the Listener service1 監(jiān)聽(listener)的脆弱監(jiān)聽是客戶端和數(shù)據(jù)庫的代理重要性:i) 分離了鑒定和審核ii) 以一個(gè)獨(dú)立的進(jìn)程運(yùn)行iii) 接受命令執(zhí)行數(shù)據(jù)庫的外部任務(wù)監(jiān)聽服務(wù)的脆弱性在客戶端和數(shù)據(jù)庫建立的連接進(jìn)程中,監(jiān)聽作為一個(gè)代理。客戶端指向?qū)ΡO(jiān)聽的一個(gè)連接,監(jiān)聽依次來和數(shù)據(jù)庫進(jìn)行連接握手。問題存在于監(jiān)聽分離了鑒證,被外部數(shù)據(jù)庫控制治理。監(jiān)聽作為一個(gè)獨(dú)立的進(jìn)程,在過去稱為UID,接受命令執(zhí)行任務(wù)。2 監(jiān)聽服務(wù)的安全問題帶有passWord的監(jiān)聽是安全的-默認(rèn)配置是無-lsnrctl設(shè)在password必須建立一個(gè)健壯的password-對(duì)暴力破解是不易攻擊的保護(hù)好listener.ora文件-password存儲(chǔ)在這里不要遠(yuǎn)程治理監(jiān)聽-在網(wǎng)絡(luò)上password是不加密的。如何對(duì)監(jiān)聽進(jìn)行安全控制:首先:在監(jiān)聽服務(wù)中設(shè)置passwod,許多DBA甚至沒有意思到在必須在監(jiān)聽服務(wù)中設(shè)置password,監(jiān)聽服務(wù)接受遠(yuǎn)程的命令,假如你沒有設(shè)置,任意人都可以發(fā)送命令。兩種設(shè)置方法:1) 使用監(jiān)聽控制實(shí)用工具 – lsnrctl.2) 在listener.ora文件中設(shè)置。你必須設(shè)置一個(gè)強(qiáng)壯的password,一個(gè)不少于8位用數(shù)字和非凡單詞組成的。假如設(shè)置比較脆弱,黑客程序?qū)?huì)試出你的密碼。Password是存在listener.ora的文件中,假如用戶可以讀取,可以利用password日志遠(yuǎn)程的監(jiān)聽。同時(shí)也推薦你不要遠(yuǎn)程治理listener,因?yàn)槊艽a在網(wǎng)上被明文傳播,有可能被監(jiān)聽。推薦你只用來進(jìn)行連接。監(jiān)聽命令:-LSNRCTL> helpThe following operations are availablestart stop statusquit exit set*show*password rawmode displaymodetrc_file trc_Directory trc_levellog_file log_directory log_statuscurrent_listener connect_timeout startup_waittimeuse_plugandplay save_config_on_stop可以通過set password來進(jìn)行設(shè)置。有兩個(gè)問題在password中:password是沒有l(wèi)ockout feature。命令審核是和標(biāo)準(zhǔn)oracle的審核數(shù)據(jù)是分開的。Password是不過期的,因?yàn)闆]有passwod的治理特性。3 監(jiān)聽包(listener packet)當(dāng)一個(gè)命令輸入到監(jiān)聽控制器中會(huì)發(fā)生:向監(jiān)聽發(fā)生一條命令,假如監(jiān)聽是遠(yuǎn)程的,命令通過網(wǎng)絡(luò)傳播,上圖是發(fā)送的數(shù)據(jù)包,我們可以看到報(bào)頭中一些非凡的字符。在報(bào)尾可以看到listener要執(zhí)行的遠(yuǎn)程命令,在這個(gè)例子中: COMMAND=status三 listener attacke demohttp://www.jammed.com/~jwa/hacks/security/tnscmd/1 緩沖區(qū)溢出:覆蓋堆棧的內(nèi)存,執(zhí)行惡意的代碼。監(jiān)聽服務(wù)的緩沖區(qū)溢出:1) 一個(gè)連接字符串的例子:– (DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(COMMAND=status) (SERVICE=LIST80)(VERSION=135294976)))2) 尋找緩沖區(qū)溢出:改變適當(dāng)?shù)闹悼纯磿?huì)發(fā)生什么情況– Try USER= with 4,000 Xs after it– Try SERVICE= with 4000 Xs after it– Etc…黑客是如何發(fā)現(xiàn)緩沖區(qū)溢出的:當(dāng)一個(gè)命令發(fā)生到監(jiān)聽服務(wù)時(shí),黑客試圖在連接字符中加很長的字符串,例如發(fā)生USER=一個(gè)很上的字符串。假如數(shù)據(jù)庫開發(fā)人員只為username分配了一個(gè)1024字節(jié)長的單元,當(dāng)發(fā)送超過了1024個(gè)字節(jié),其他的字符將覆蓋后邊的單元。所以程序要能自能的對(duì)長度進(jìn)行檢查。2 監(jiān)聽器服務(wù)緩沖區(qū)溢出i) Oracle 8.1.7發(fā)生1k的字節(jié)COMMAND= dwon機(jī)超過4k會(huì)使系統(tǒng)崩潰。ii) oracle 9.0.1發(fā)生1k的字節(jié)SERVICE=3 利用報(bào)頭區(qū)的值典型的命令:– .T.......6.,...............:................4.............(CONNECT_DATA=.)垃圾字符描述了報(bào)頭的信息– Offset to data– Size of connection string– Size of packet– Type of packet4 竊取監(jiān)聽命令發(fā)生一下的命令:– .T.......6.,...............:................4.............(CONNECT_DATA=.)改變報(bào)頭表明40字節(jié)– .......'...(DESCRIPTION=(ERR=1153)(VSNNUM=135290880)(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)(ARGS='(CONNECT_DATA=.)ervices))CONNECT'))(ERROR=(CODE=3 03)(EMFI=1))))改變報(bào)頭表明200字節(jié)– ........'..>.H.......@(DESCRIPTION=(ERR=1153)(VSNNUM=135290880)(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)(ARGS='(CONNECT_DATA=.)ervices))CONNECT_DATA=(SID=orcl)(global_dbname=test.com)(CID=(PROGRAM=C:Oraclebinsqlplus.exe)(HOST=anewman)(USER=aaron))')) (ERROR=(CODE=303)(EMFI=1))))假如你偽造數(shù)據(jù)包的大小,監(jiān)聽將隨意返回任何數(shù)據(jù)在它的命令字符中將超過你發(fā)生的字符長。例如一個(gè)用戶上交了100字符的命令,而對(duì)你的返回要10字符,監(jiān)聽將先返回10字符對(duì)你的原先的拷貝,但這樣的返回不會(huì)終結(jié),還會(huì)返回90個(gè)先前命令的字符。可以獲得username,當(dāng)然這樣是難的,不過這樣的危險(xiǎn)還是存在的。6 外部程序動(dòng)態(tài)庫和共享lib中的函數(shù)能被pl/sql調(diào)用的通過創(chuàng)建lib和packages進(jìn)行設(shè)置:– CREATE LIBRARY test AS ‘msvcrt,dll’;CREATE PACKAGE test_function IS PROCEDUREexec(command IN CHAR);CREATE PACKAGE BODY test_function ISPROCEDURE exec(command IN CHAR)IS EXTERNAL NAME “system”LIBRARY test;有許多安去問題和外部服務(wù)進(jìn)程有關(guān),Xprocs答應(yīng)在oracle中創(chuàng)建函數(shù),參照DLL或共享庫文件在操作系統(tǒng)上。這個(gè)很強(qiáng)的特性使得數(shù)據(jù)庫能任何操作系統(tǒng)可以做得事情。當(dāng)然權(quán)利越大責(zé)任也越大。創(chuàng)建一個(gè)Xproc可以指向操作系統(tǒng)的任何一個(gè)dll,使得你可以執(zhí)行操作系統(tǒng)的命令。同樣象獲得數(shù)據(jù)庫服務(wù)器的資源那樣,來獲得系統(tǒng)資源。第一關(guān)心的是你有沒有給一個(gè)用戶creat library和create procedure的特權(quán)。7 遠(yuǎn)程回調(diào)外部進(jìn)程非‘正式’支持但它很有效ExtPorcs 是監(jiān)聽的另一個(gè)連接點(diǎn)– SID_LIST_LISTENER =– (SID_LIST =– (SID_DESC =– (SID_NAME = PLSExtProc)– (ORACLE_HOME = E:oracleora81)-(PROGRAM = extproc)ExtProc任何審核一個(gè)用戶――它是無效的!!!!!8 默認(rèn)設(shè)置-對(duì)外進(jìn)程自動(dòng)配置-Oracle 8i –YES-Oracle 9i-NOCall listener-Do not create ExtProc as another listener endpoint-Create its own entry in the listener.ora file三 Oracle in a Web application1 繞過防火墻的攻擊:防火墻的配置: – Block Access through port 1521– Only allow traffic to port 80– Block UDP as well as TCPSQL 注入– Not specific to Oracle-a web programming problem許多治理都認(rèn)為防火墻的數(shù)據(jù)庫是安全的。及時(shí)是你的防護(hù)墻配置是很恰當(dāng)?shù)模部梢酝ㄟ^web應(yīng)用程序進(jìn)行攻擊。這些攻擊主要是由于開發(fā)應(yīng)用程序者一些錯(cuò)誤的編程所致。我們可以發(fā)現(xiàn)許多站點(diǎn)在這個(gè)方面都很脆弱。雖然因數(shù)據(jù)庫不同攻擊而異,但基本問題還是相同的對(duì)所有的數(shù)據(jù)庫來講。最簡單的一個(gè)檢驗(yàn)?zāi)愕臄?shù)據(jù)庫是否脆弱,是通過嵌入一個(gè)請(qǐng)求在沒有地方,然后來驗(yàn)證結(jié)果。有些站點(diǎn)會(huì)返回語法錯(cuò)誤。而許多只是捕捉了錯(cuò)誤,沒有報(bào)道。當(dāng)然這些站點(diǎn)仍然有脆弱,但是這些可以不被利用假如你不過任何錯(cuò)誤消息發(fā)送反饋信息。2 How does it work修改請(qǐng)求改變這樣的查詢:– Select * from my_table where column_x = ‘1’To: – Select * from my_table where column_x = ‘1’UNION select password from DBA_USERSwhere ‘q’=‘q’exploit是如何工作的?它是通過改變一個(gè)sql語句成另為一種,例如上面的例子,一個(gè)簡單查詢變成了2個(gè)查詢。你可以嵌入第二條命令在查詢中在其他的數(shù)據(jù)庫中,Oracle不運(yùn)行這樣做,而代替的是攻擊者需要去補(bǔ)充查詢請(qǐng)求的結(jié)尾。注重結(jié)尾的‘q’=’q’,這樣用的原因是我們可以處理第二條查詢,ASP將加他加入網(wǎng)頁的結(jié)尾,這條語句值是真的。3 Example jsp pagePackage myseverlets;<….>String sql = new String(“SELECT * FROMWebUsers WHERE Username=’” +request.getParameter(“username”) + “’AND Password=’” +request.getParameter(“password”) + “’”stmt = Conn.prepareStatement(sql)Rs = stmt.executeQuery()Exploiting the problem is mUCh simpler if you can access the source of the webpage. You should not be able to see this data, however there are many bugs thatallow you to view the source, and I’m sure there are still lots that have not yet beendiscovered.The problem with our ASP code is that we are concatenating our SQL statementtogether without parsing out any single quotes. Parsing out single quotes is a goodfirst step, but its recommended that you actually use parameterized SQL statementsinstead.4 有效的輸入假如用戶和密碼設(shè)置為:– Username: Bob– Password: Hardtoguesspasswordsql語句: – SELECT * FROM WebUsers WHEREUsername=’Bob’ ANDPassword=’Hardtoguess’這是我們一個(gè)典型的檢驗(yàn)機(jī)制在登陸到web site上時(shí),然后通過select語句和數(shù)據(jù)庫進(jìn)行匹配,假如匹配建立,用戶被鑒別。假如在我們的代碼中記錄集合為空,將預(yù)備一個(gè)無效的username或者password,登陸被拒絕。5 黑客的輸入代替password的輸入:– Aa’ OR ‘A’=‘A‘相應(yīng)的sql語句:– SELECT * FROM WebUsers WHEREUsername=’Bob’ AND Password=’Aa’ OR‘A’=‘A’黑客已經(jīng)進(jìn)入了數(shù)據(jù)庫。6 Selecting from other TablesTo select data other than the rows from thetable being selected fromUNION the SQL Statement with theDBA_USERS view.這是另一個(gè)例子取得數(shù)據(jù)從其他的表中,這與當(dāng)前的查詢無直接聯(lián)系。最好的方法是查找屏幕中包含選項(xiàng)的動(dòng)態(tài)列表。假如這個(gè)sql只是注重一個(gè)單值,黑客不能得到其他數(shù)據(jù)。而且一些小技巧單一查詢變成2個(gè)查詢或者是把他們組合起來,這有點(diǎn)難道,你要匹配列數(shù)還有列的數(shù)據(jù)類型。然后一些服務(wù)器提供你一個(gè)錯(cuò)誤的消息,使得這項(xiàng)是可行的。一些Error類似為:Number of columns does not match Or2nd column in UNION statement does not match the type of the first statement.7Sample ASP PageDim sqlSql = “SELECT * FROM PRODUCT WHEREProductName=’” & product_name & “’”Set rs = Conn.OpenRecordset(sql)‘ return the rows to the browserOnce again we have the ASP page. An attacker does not really need this, but it doesmake our lives easier for demonstration purposes. Once again we are not usingparameterized queries, but instead are concatenating a string to build our SQLstatement.8 有效的輸入:;Set the product_name to :– DVD PlayerThe SQL Statement is now:– SELECT * FROM PRODUCT WHEREProductName=’DVD Player’9 黑客輸入:;Set the product_name to :– test’ UNION select username, password fromdba_users where ‘a(chǎn)’ = ‘a(chǎn)The SQL Statement is now:– SELECT * FROM PRODUCT WHEREProductName=’test’ UNION select username,password from dba_users where ‘a(chǎn)’=‘a(chǎn)’黑客可以從password的拷貝中獲得一些雜亂的信息,來進(jìn)行暴力破解。通過添加UNION的命令和第二語句,來得到dba_users表的內(nèi)容。10 防止SQl的注入驗(yàn)證用戶的輸入解析避免單一查詢?yōu)殡p重查詢使用對(duì)象參數(shù)來設(shè)在參數(shù)- Bind variables回顧升級(jí)你的CGI腳步,ASP page,etc… 建議你對(duì)web設(shè)計(jì)者制訂程序的方針,主要著重使用參數(shù)化查許和對(duì)sql語句的無連接字符串。11 SQL Injection demoASP page, IIS web server ,Oracle database四 Database Vulnerabilities1 數(shù)據(jù)庫安全問題sqlnet.log普遍的oracle安全問題PL/SQL 的脆弱性。主機(jī)操作系統(tǒng)– Known Issues Installing Oracle-Lockdown Protection Procedures2 sqlnet.log當(dāng)來自一個(gè)機(jī)器的連接失敗后會(huì)在目錄下建立一個(gè)文件,記錄失敗的連接。得到一些信息: username, IP,address, date, etc…3 普遍的oracle安全問題默認(rèn)的passwords:– SYS, SYSTEM, DBSNMP, OUTLN,MDSYS,SCOTTPassword的治理特性沒有激活,通過pfiles文件執(zhí)行復(fù)用參數(shù)。– No password lockout by default– No password expiration by defaultPublic角色有對(duì)ALL_USERS視圖的答應(yīng)權(quán)限。4 PL/SQL的脆弱性動(dòng)態(tài)SQL的問題– EXECUTE IMMEDIATE– DBMS_SQL答應(yīng)用戶傳遞sql語句中的參數(shù)危險(xiǎn)性這些問題和sql 注入問題幾乎一樣。There are two ways to create SQL Statements on the fly in PL/SQL code – Executeimmediate and through the package DBMS_SQL.5 動(dòng)態(tài)sql語句的例子CREATE PROCEDURE BAD_CODING_EXAMPLE ( NEW_PASSWORDVARCHAR2; ASTEST VARCHAR2;BEGIN-- DO SOME WORK HEREEXECUTE IMMEDIATE 'UPDATE ' TABLE_NAME ' SET ' COLUMN_NAME ' = ''' NEW_PASSWORD '''‘ WHERE USERNAME== ''' CURRENT_USER_NAME ''';END BAD_CODING_EXAMPLE;有效的輸入 from any OCI connection, ODBC connection, SQL*Plus, etc…– EXEC BAD_CODING_EXAMPLE( ‘testabc’ ;SQL Created– UPDATE APPLICATION_USERS SET PASSWORD = ‘testabc’WHERE USERNAME = ‘a(chǎn)aron’這個(gè)要求有一個(gè)有效的帳戶,和對(duì)過程的可執(zhí)行。黑客的輸入– EXEC BAD_CODING_EXAMPLE( ‘testabc’’, ADMIN=1,FULL_NAME=‘’TEST’ ;SQL Created– UPDATE APPLICATION_USERS SET PASSWORD = ‘testabc‘,ADMIN=1, FULL_NAME=‘TEST’ WHERE USERNAME =‘a(chǎn)aron’通過在輸入中附加一條語句,使得ADMIN列更新,使得用戶成為應(yīng)用程序的治理員。注重我們應(yīng)該四周另一列在末尾來出來最后的單一請(qǐng)求。6 Getting to the operating system在NT中oracle以localSystem身份,作為系統(tǒng)權(quán)限的一部分。在Unix為oracle user來運(yùn)行,對(duì)oralce的所用文件有權(quán)限。進(jìn)程:– UTL_FILE, UTL_HTTP系統(tǒng)權(quán)利類似于create library一但用于了對(duì)數(shù)據(jù)庫的權(quán)限,就可以進(jìn)入操作系統(tǒng),可以使用很多進(jìn)程– UTL_FILE是最致命的,給你對(duì)文件的讀寫權(quán)。不過UTL_FILE_DIR參數(shù)可以進(jìn)行限制,治理員可以修改這個(gè)參數(shù)。Oracle運(yùn)行你加載libraries到一個(gè)獨(dú)立的進(jìn)程空間使用EXTOROC可執(zhí)行文件。一些共享libraries和DLL也是可行的。7 操作系統(tǒng);Oracle 有許多tUID文件 ;Oratclsh was setUID root– TCL debugger– Allowed you to run a script as root– Change setuid immediately, even if you are not usingSetuid有很多問題,以前oracle捆綁了15setuid文件。最大的問題是TCL debugger,為應(yīng)用程序設(shè)計(jì)在他們用于DBSNMP引擎前。這個(gè)debugger是steuid的而且由root擁有。所以很輕易獲得root權(quán)限,雖然有patch,不過還是有很多文件可以被利用的,這個(gè)問題即使是dbsnmp agent 不使用也會(huì)有。Other SetUID filesWere many until Oracle8i release 2– Cmctl, tnslsnr, etc…Very important one – oracle– Main database engineRelies on ORACLE_HOME directory– To load the pwdSID.ora file– Allows you to load a rogue database8.1.6已經(jīng)取消了許多SetUIDbits. Dbsnmp和oracle files然后保留,這兩個(gè)都需要SetUID才能恰當(dāng)?shù)墓ぷ鳌M扑]使用不同策略,可以是任何人不可以可執(zhí)行權(quán)限除了所有者。Oracle是主要的可執(zhí)行程序,假如你設(shè)置為可執(zhí)行的話,任何在server有帳戶的人可以開啟一個(gè)實(shí)例,通過UTL_FILE package去寫一些文件。這些依靠于$ORACLE_HOME的環(huán)境變量的設(shè)置。8 安裝Oracleoracle在安裝的時(shí)候會(huì)在/tmp目錄下建立一些文件,雖然umask是022,不過有人可以在安裝之前生產(chǎn)一些目錄和文件,一些保留的舊文件使得黑客可以注入一些代碼在安裝的時(shí)候。而且有很多腳本使得代碼注入很簡單,黑客可以很輕松的創(chuàng)建root toolkit。9 鎖定操作系統(tǒng)在安裝之前對(duì)其他的os用戶進(jìn)行鎖定設(shè)置TMP_DIR為一個(gè)安全的目錄鎖定ORACLE_HOME許可權(quán)限刪除setUID從所有的文件重新命令UNIXoracle的帳戶五 Resources, Conclusion, and Wrap UpHow to Combat Hackers:Stay patched –– http://metalink.oracle.comSecurity alerts:– www.oraclesecurity.net/resources/mailinglist.htmlSecurity Discussion Board– www.oraclesecurity.net/cgi-bin/ubb/ultimatebb.cgiCheck out security solutions at:– www.appsecinc.comDefense in depthMultiple levels of security– Perform audits and pen tests on your databaseon a regular basis– Encryption of data-in-motion– Encryption of data-at-rest– Monitor your log files– Implement intrusion detection
標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 企典软件一站式企业管理平台,可私有、本地化部署!在线CRM客户关系管理系统|移动办公OA管理系统|HR人事管理系统|人力 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | 郑州外墙清洗_郑州玻璃幕墙清洗_郑州开荒保洁-河南三恒清洗服务有限公司 | 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 蜂蜜瓶-玻璃瓶-玻璃瓶厂-玻璃瓶生产厂家-徐州贵邦玻璃制品有限公司 | 考试试题_试卷及答案_诗词单词成语 - 优易学 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 喷漆房_废气处理设备-湖北天地鑫环保设备有限公司 | 航空连接器,航空插头,航空插座,航空接插件,航插_深圳鸿万科 | 烟台螺纹,烟台H型钢,烟台钢材,烟台角钢-烟台市正丰金属材料有限公司 | 丝杆升降机-不锈钢丝杆升降机-非标定制丝杆升降机厂家-山东鑫光减速机有限公司 | 郑州大巴车出租|中巴车租赁|旅游大巴租车|包车|郑州旅游大巴车租赁有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 深圳公司注册-工商注册公司-千百顺代理记账公司 | 电机修理_二手电机专家-河北豫通机电设备有限公司(原石家庄冀华高压电机维修中心) | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 广东之窗网 | 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | 电子厂招聘_工厂招聘_普工招聘_小时工招聘信息平台-众立方招工网 | LED投光灯-工矿灯-led路灯头-工业灯具 - 山东普瑞斯照明科技有限公司 | 有源电力滤波装置-电力有源滤波器-低压穿排电流互感器|安科瑞 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 沈阳液压泵_沈阳液压阀_沈阳液压站-沈阳海德太科液压设备有限公司 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 电加热导热油炉-空气加热器-导热油加热器-翅片电加热管-科安达机械 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | IWIS链条代理-ALPS耦合透镜-硅烷预处理剂-上海顶楚电子有限公司 lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 艾乐贝拉细胞研究中心 | 国家组织工程种子细胞库华南分库 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 |