WEB Security-WEB安全入侵與防御講課_第1頁(yè)
WEB Security-WEB安全入侵與防御講課_第2頁(yè)
WEB Security-WEB安全入侵與防御講課_第3頁(yè)
WEB Security-WEB安全入侵與防御講課_第4頁(yè)
WEB Security-WEB安全入侵與防御講課_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

WEB安全I(xiàn)D:HolmesianEmail:Sholmesian@GWebsite:http://H接下來我們將交流……什么是WEB安全?安全事件會(huì)帶來什么危害?最流行的WEB攻擊方式有哪些?如何抵御常見的WEB攻擊?怎樣設(shè)計(jì)安全的WEB程序?什么是網(wǎng)站安全什么是webshellwebshell就是一個(gè)asp或php木馬后門,黑客在入侵了一個(gè)網(wǎng)站后,常常在將這些asp或php木馬后門文件放置在網(wǎng)站服務(wù)器的web目錄中,與正常的網(wǎng)頁(yè)文件混在一起。然后黑客就可以用web的方式,通過asp或php木馬后門控制網(wǎng)站服務(wù)器,包括上傳下載文件、查看數(shù)據(jù)庫(kù)、執(zhí)行任意程序命令等。webshell最大的優(yōu)點(diǎn)就是可以穿越防火墻,由于與被控制的服務(wù)器或遠(yuǎn)程主機(jī)交換的數(shù)據(jù)都是通過80端口傳遞的,因此不會(huì)被防火墻攔截。并且使用webshell一般不會(huì)在系統(tǒng)日志中留下記錄,只會(huì)在網(wǎng)站的web日志中留下一些數(shù)據(jù)提交記錄,沒有經(jīng)驗(yàn)的管理員是很難看出入侵痕跡的。WebShell常見WEB應(yīng)用存在的漏洞SQL注入漏洞(SQLInjection)跨站腳本漏洞(XSS)遠(yuǎn)程包含漏洞文件上傳漏洞Cookie被盜用及偽造后門和調(diào)試漏洞邏輯錯(cuò)誤和配置問題旁注攻擊監(jiān)聽(未加密的請(qǐng)求)SQLInjection技術(shù)概述就攻擊技術(shù)本質(zhì)而言,它利用的工具是SQL的語(yǔ)法,針對(duì)的是應(yīng)用程序開發(fā)者編程中的漏洞,當(dāng)攻擊者能操作數(shù)據(jù),向應(yīng)用程序中插入一些SQL語(yǔ)句時(shí),SQLInjection攻擊就發(fā)生了。實(shí)際上,SQLInjection攻擊是存在于常見的多連接的應(yīng)用程序中的一種漏洞,攻擊者通過在應(yīng)用程序預(yù)先定義好的SQL語(yǔ)句結(jié)尾加上額外的SQL語(yǔ)句元素,欺騙數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行非授權(quán)的任意查詢,篡改和命令執(zhí)行。就風(fēng)險(xiǎn)而言,SQLInjection攻擊也是位居前列,和緩沖區(qū)溢出漏洞相比,其優(yōu)勢(shì)在于能夠輕易的繞過防火墻直接訪問數(shù)據(jù)庫(kù),甚至能夠獲得數(shù)據(jù)庫(kù)所在的服務(wù)器的系統(tǒng)權(quán)限。在Web應(yīng)用漏洞中,SQLInjection漏洞的風(fēng)險(xiǎn)要高過其他所有的漏洞。安全風(fēng)險(xiǎn)經(jīng)典的SQLInjection漏洞dimrsadmin1=request("admin")password1=request("password")setrs=server.CreateObject("ADODB.RecordSet")rs.open"select*fromadminwhereadmin='"&admin1&"'andpassword='"&password1&"'",conn,1ifrs.eofandrs.bofthenresponse.write"<SCRIPTlanguage=JavaScript>alert('用戶名或密碼不正確!');"response.write"javascript:history.go(-1)</SCRIPT>"response.endelsesession("admin")=rs("admin")session("password")=rs("password")session("aleave")=rs("aleave")response.redirect"admin.asp"endifrs.closesetrs=nothingSQLInjection產(chǎn)生原因在用戶名和密碼都填入'or''='SQL語(yǔ)句被構(gòu)造成 select*fromadminwhereadmin=‘'OR‘'=‘'

and

password=‘'OR‘'=‘‘SQL語(yǔ)句的實(shí)際意思變?yōu)閍dmin為空或者空等于空,password為空或者空等于空的時(shí)候整個(gè)查詢語(yǔ)句就為真。SQLInjection利用發(fā)現(xiàn)注入點(diǎn)(and1=2、and1=1、'……)判斷數(shù)據(jù)庫(kù)類型(ACCESS、MYSQL、MSSQL……)利用數(shù)據(jù)庫(kù)特性獲得權(quán)限(MSSQL、Oracle……)構(gòu)造語(yǔ)句猜解表名、字段名、敏感內(nèi)容查找后臺(tái)登陸地址、使用得到的密碼成功登陸SQLInjection實(shí)例/look.asp?id=66/look.asp?id=66and1=1/look.asp?id=66and1=2/look.asp?id=66andexists(select*fromadminwhere1=1andlen(password)=13andid=(Selectmax(id)Fromadminwhereidin(selecttop1idfromadminOrderbyid)))/look.asp?id=66andexists(select*fromadminwhere1=1andasc(mid(cstr(password),1,1))between30and80andid=(Selectmax(id)Fromadminwhereidin(selecttop1idfromadminOrderbyid)))[62839-23922=38917|3141]PHPSQLInjection判斷是否存在注入,加';and1=1;and1=2判斷版本andord(mid(version(),1,1))>51/*返回正常說明是4.0以上版本,可以用union查詢利用orderby暴字段,在網(wǎng)址后加orderby10/*如果返回正常說明字段大于10再利用union來查詢準(zhǔn)確字段,如:and1=2unionselect1,2,3,......./*直到返回正常,說明猜到準(zhǔn)確字段數(shù)。如過濾了空格可以用/**/代替。判斷數(shù)據(jù)庫(kù)連接帳號(hào)有沒有寫權(quán)限,and(selectcount(*)frommysql.user)>0/*如果結(jié)果返回錯(cuò)誤,那我們只能猜解管理員帳號(hào)和密碼了。修補(bǔ)SQLInjection漏洞在服務(wù)端正式處理之前對(duì)提交數(shù)據(jù)的合法性進(jìn)行檢查;封裝客戶端提交信息;替換或刪除敏感字符/字符串;(/new/)屏蔽出錯(cuò)信息。一個(gè)通用防注入的函數(shù)DimTc_Post,Tc_Get,Tc_In,Tc_Inf,Tc_Xh '定義需要過濾的字串Tc_In="'|;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|master|or|char|declare"Tc_Inf=split(Tc_In,"|")'處理post數(shù)據(jù)IfRequest.Form<>""ThenForEachTc_PostInRequest.FormForTc_Xh=0ToUbound(Tc_Inf)IfInstr(LCase(Request.Form(Tc_Post)),Tc_Inf(Tc_Xh))<>0ThenResponse.Write"<ScriptLanguage=JavaScript>alert('請(qǐng)不要在參數(shù)中包含非法字符嘗試注入!');</Script>"'處理get數(shù)據(jù)IfRequest.QueryString<>""ThenForEachTc_GetInRequest.QueryStringForTc_Xh=0ToUbound(Tc_Inf)IfInstr(LCase(Request.QueryString(Tc_Get)),Tc_Inf(Tc_Xh))<>0ThenResponse.Write"<ScriptLanguage=JavaScript>alert('請(qǐng)不要在參數(shù)中包含非法字符嘗試注入!');</Script>"跨站腳本攻擊Crosssitescripting簡(jiǎn)稱XSS原理:由于WEB應(yīng)用程序沒有對(duì)用戶的輸入和輸出進(jìn)行嚴(yán)格的過濾和轉(zhuǎn)換,就導(dǎo)致在返回頁(yè)面中可能嵌入惡意代碼。數(shù)據(jù)流程:

惡意用戶的Html輸入—>web程序—>進(jìn)入數(shù)據(jù)庫(kù)—>web程序—>用戶瀏覽器80%網(wǎng)站存在跨站漏洞,包括許多大型知名網(wǎng)站!

XSS的危害掛馬插入惡意的腳本內(nèi)容,運(yùn)行病毒、木馬。釣魚篡改網(wǎng)頁(yè)內(nèi)容,騙取賬號(hào)、密碼等詐騙行為。劫持會(huì)話讀取會(huì)話COOKIE,傳送給第三方劫持身份。XSSWorm使用AJAX技術(shù),做幾何趨勢(shì)的增長(zhǎng)傳播。XSS實(shí)例1XSS實(shí)例2跨站蠕蟲流程圖劫持會(huì)話記錄會(huì)話模擬登錄發(fā)送xss給好友刪除個(gè)人信息XSS的防御之道永遠(yuǎn)不要相信客戶端提交的任何數(shù)據(jù)?。?! 1、服務(wù)器端永遠(yuǎn)不使用未驗(yàn)證的客戶端數(shù)據(jù)。GET、POST、Cookies、URL、HTTP

Header、IP… 2、服務(wù)器永遠(yuǎn)不對(duì)外展示任何未驗(yàn)證的客戶端數(shù)據(jù)。遠(yuǎn)程文件包含漏洞遠(yuǎn)程文件包含實(shí)例phpwind較高版本論壇中存在一個(gè)嚴(yán)重的漏洞,成功利用該漏洞可以遠(yuǎn)程執(zhí)行任意php代碼pw_ajax.php中的}elseif($action=='pcdelimg'){ InitGP(array('fieldname','pctype')); InitGP(array('tid','id'),2); if(!$tid||!$id||!$fieldname||!$pctype){ echo'fail'; } $id=(int)$id; if($pctype=='topic'){ $tablename=GetTopcitable($id); }elseif($pctype=='postcate'){ $tablename=GetPcatetable($id); } $path=$db->get_value("SELECT$fieldnameFROM$tablenameWHEREtid=".pwEscape($tid));fieldname未經(jīng)任何有效的過濾(全局的一些其他的比較搞笑看起來不錯(cuò)的過濾對(duì)這里不起任何安全上的意義,只是對(duì)漏洞利用帶來了一些難度),利用該注射可以獲取任何數(shù)據(jù)庫(kù)里的數(shù)據(jù)。Register_Globals很久很久以前,PHP程序員通過“registerglobals”(全局變量注冊(cè))機(jī)制讀取用戶提供的數(shù)據(jù)。在這種情形下,所有提交給一個(gè)腳本的參數(shù)都以一個(gè)與參數(shù)同名的變量的形式出現(xiàn)。例如,URL:script.php?foo=bar會(huì)創(chuàng)建一個(gè)值為bar的變量$foo。<?phpecho$foo;?>輸出:bar使用未初始化的變量幾乎就意味著安全漏洞!文件上傳漏洞僅本地javascript安全控制檢測(cè)文件格式類型程序通過filepath的值來判斷用戶上傳的文件類型空字節(jié)繞過Content-type判斷Win2k3文件名解析漏洞:當(dāng)文件名為x.asp;x.jpg時(shí),IIS會(huì)以ASP格式解析,x.php;x.jpg會(huì)以PHP解析。早期版本php的uploaded_file函數(shù)存在安全問題,遇到二進(jìn)制0x00就會(huì)認(rèn)為數(shù)據(jù)結(jié)束了

Filename=C:\1.php.jpg->1.php.jpgFilename=C:\1.php0x00.jpg->1.php上傳后綴為.jpg的網(wǎng)頁(yè)文件,IE會(huì)當(dāng)作正常的網(wǎng)頁(yè)一樣解析??兆止?jié)繞過上傳<?phpif($_FILES['userfile']['type']!="image/gif"){echo"Sorry,weonlyallowuploadingGIFimages";exit;}Content-Disposition:form-data;name="userfile";filename="shell.php"Content-Type:image/gif<?phpsystem($_GET['command']);?>文件上傳漏洞防止Cookies問題明文cookie加密串替換

例如:某系統(tǒng)cookie信息如下

user=!#$@@;ugroup=#$%$$登陸test得到的cookies

entname=unsearch;

enid=p]0i7L60T8L6LLl0i7;

企業(yè)IDusername=p]0T677L7kTLaMM080l0;hpeid=p]0i7L60T8L6LLl0i7;einfo=C2IsSyY6E3V-LoVa2z43Zp6DYx6Cpxe_1xfdYyfcBmgczyfNOy4_HCU-Y0ic1-fcP0eCl;qta=200

Cookies利用直接訪問本應(yīng)受限的URL

要確保在每個(gè)請(qǐng)求中都要包含會(huì)話表示,授權(quán)檢查是每個(gè)應(yīng)用程序的責(zé)任,而不僅僅是登陸程序的偽造Cookies,偽裝身份在用戶名和密碼中輸入1or1=1的語(yǔ)句來繞過程序的檢查利用密碼保護(hù)來修改密碼(社會(huì)工程學(xué))驗(yàn)證碼問題配置不當(dāng)導(dǎo)致的問題Google

HackingGoogleHacking是一種利用搜索引擎獲取web應(yīng)用程序弱點(diǎn)和敏感信息的手段。GoogleHacking是一種以合

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論