简析web注入攻击
注入攻擊是眾多攻擊之一,在注入攻擊中,攻擊者給程序提供惡意的輸入,解析引擎把惡意輸入作為命令或者查詢(xún)的一部分,順帶著改變了程序執(zhí)行的流程。
注入是web程序最古老的和最危險(xiǎn)的攻擊之一,它們能導(dǎo)致數(shù)據(jù)被偷,數(shù)據(jù)丟失,數(shù)據(jù)完整性丟失,dos ,甚至系統(tǒng)淪喪。主要產(chǎn)生原因是對(duì)用戶(hù)輸入驗(yàn)證不足。
這種攻擊方式是web安全的主要問(wèn)題之一,在OWASP Top 10 web安全風(fēng)險(xiǎn)列表中排行第一。注入攻擊,尤其是SQL注入(SQLi攻擊) 和跨站(xss),它們不僅危險(xiǎn)并且普遍,特別是遺留在程序里面。
攻擊面比較大的(特別是xss和Sql注入漏洞)注入漏洞尤其可怕。此外,注入攻擊是漏洞中非常好理解的一種,這就意味著有許多免費(fèi)提供和可靠的工具容許甚至一些沒(méi)有經(jīng)驗(yàn)的攻擊者自動(dòng)化的亂用這些漏洞。
SQL注入(SQLi)和跨站(xss)是許多常用注入攻擊之一,下面列出常用攻擊類(lèi)型
第一種 代碼注入
攻擊者通過(guò)網(wǎng)站類(lèi)型注入相應(yīng)的代碼,這個(gè)代碼以當(dāng)前網(wǎng)站用戶(hù)的權(quán)限執(zhí)行系統(tǒng)命令,在高級(jí)事件中,攻擊者可能溢出來(lái)提權(quán)導(dǎo)致真?zhèn)€ web服務(wù)器的淪喪.
第二種 CRLF注入
攻擊者注入一個(gè)特殊的CRLF字符,這個(gè)字符被用來(lái)區(qū)分http回復(fù)頭和正文,導(dǎo)致可以寫(xiě)任意正文內(nèi)容,這種攻擊一般和xss結(jié)合使用。
第三種 XSS
攻擊者注入任意腳本(一般是javascript)到合法網(wǎng)站或者web程序中,這個(gè)腳本執(zhí)行在客戶(hù)端
第四種 Email頭注入
這種攻擊和CRLF攻擊很相似,攻擊者發(fā)送惡意的IMAP/SMTP 命令
第五種 Host頭注入
攻擊者亂用HTTP Host頭的絕對(duì)信任來(lái)篡改密碼重設(shè)功能和web緩存
第六種 LDAP 注入
攻擊者注入LDAP語(yǔ)句來(lái)執(zhí)行任意 LDAP命令,獲得修改LDAP樹(shù)的內(nèi)容的權(quán)利
第七種 OS命令注入
攻擊者用當(dāng)前web應(yīng)用程序的權(quán)限來(lái)注入系統(tǒng)命令,在高級(jí)案例中,攻擊者通過(guò)溢出獲得權(quán)限提升導(dǎo)致系統(tǒng)淪喪
第八種 SQL 注入
攻擊者注入sql語(yǔ)句來(lái)讀取和修改數(shù)據(jù) 庫(kù)數(shù)據(jù),在高級(jí)sql注入案例中,攻擊者能執(zhí)行sql語(yǔ)句寫(xiě)服務(wù)器上的任意文件和甚至執(zhí)行系統(tǒng)命令,這會(huì)導(dǎo)致系統(tǒng)淪喪
第九種 XPath 注入
攻擊者注入數(shù)據(jù)到應(yīng)用程序中來(lái)執(zhí)行精心準(zhǔn)備的XPath查詢(xún),以此來(lái)獲得無(wú)授權(quán)訪(fǎng)問(wèn)和bypass授權(quán)
總結(jié)